606060405260006001556000600460006101000a81548160ff021916908315150217905550635acbfe806005556a108b2a2c280290940000006006556a94e47b8d681715340000006007556040805190810160405280600781526020017f51776173646572000000000000000000000000000000000000000000000000008152506008908051906020019062000097929190620001f7565b506040805190810160405280600381526020017f515753000000000000000000000000000000000000000000000000000000000081525060099080519060200190620000e5929190620001f7565b506012600a60006101000a81548160ff021916908360ff160217905550635ae65c80600e55635bbd4100600f556aa56fa5b99019a5c800000060105534156200012d57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600754600654108015620001a85750601054620001a6600754600654620001d864010000000002620038d4179091906401000000009004565b145b1515620001b157fe5b600f54600e5411151515620001c257fe5b600f54600554101515620001d257fe5b620002a6565b6000808284019050838110151515620001ed57fe5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023a57805160ff19168380011785556200026b565b828001600101855582156200026b579182015b828111156200026a5782518255916020019190600101906200024d565b5b5090506200027a91906200027e565b5090565b620002a391905b808211156200029f57600081600090555060010162000285565b5090565b90565b61391e80620002b66000396000f3006060604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b146101b157806306fdde03146101de578063095ea7b31461026c5780630eaee52c146102c657806318160ddd1461030c57806323b872dd14610335578063313ce567146103ae578063324536eb146103dd578063355274ea1461040657806340c10f191461042f57806342966c681461048957806344d19d2b146104c457806345c8b1a6146104ed5780635e4f63ec1461053e5780636370920e1461058457806366188463146105de57806370a08231146106385780637d64bcb4146106855780638bf34237146106b25780638d1fdf2f146107035780638da5cb5b1461075457806395d89b41146107a9578063a9059cbb14610837578063b071cbe614610891578063c50be16c146108ba578063d73dd623146108f5578063d77605001461094f578063dd62ed3e14610978578063deff5757146109e4578063e21a430b14610a1f578063ea3c281a14610a48578063f2fde38b14610a99578063f6ed8fe714610ad2578063f9f92be414610afb575b600080fd5b34156101bc57600080fd5b6101c4610b4c565b604051808215151515815260200191505060405180910390f35b34156101e957600080fd5b6101f1610b5f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610231578082015181840152602081019050610216565b50505050905090810190601f16801561025e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027757600080fd5b6102ac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bfd565b604051808215151515815260200191505060405180910390f35b34156102d157600080fd5b6102f260048080359060200190919080351515906020019091905050610cef565b604051808215151515815260200191505060405180910390f35b341561031757600080fd5b61031f610ec5565b6040518082815260200191505060405180910390f35b341561034057600080fd5b610394600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ecf565b604051808215151515815260200191505060405180910390f35b34156103b957600080fd5b6103c16114fc565b604051808260ff1660ff16815260200191505060405180910390f35b34156103e857600080fd5b6103f061150f565b6040518082815260200191505060405180910390f35b341561041157600080fd5b610419611515565b6040518082815260200191505060405180910390f35b341561043a57600080fd5b61046f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061151b565b604051808215151515815260200191505060405180910390f35b341561049457600080fd5b6104aa600480803590602001909190505061181d565b604051808215151515815260200191505060405180910390f35b34156104cf57600080fd5b6104d7611ab3565b6040518082815260200191505060405180910390f35b34156104f857600080fd5b610524600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ab9565b604051808215151515815260200191505060405180910390f35b341561054957600080fd5b61056a60048080359060200190919080351515906020019091905050611c5e565b604051808215151515815260200191505060405180910390f35b341561058f57600080fd5b6105c4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611e17565b604051808215151515815260200191505060405180910390f35b34156105e957600080fd5b61061e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612131565b604051808215151515815260200191505060405180910390f35b341561064357600080fd5b61066f600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506123c2565b6040518082815260200191505060405180910390f35b341561069057600080fd5b61069861240b565b604051808215151515815260200191505060405180910390f35b34156106bd57600080fd5b6106e9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506124b6565b604051808215151515815260200191505060405180910390f35b341561070e57600080fd5b61073a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612738565b604051808215151515815260200191505060405180910390f35b341561075f57600080fd5b610767612919565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107b457600080fd5b6107bc61293e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107fc5780820151818401526020810190506107e1565b50505050905090810190601f1680156108295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561084257600080fd5b610877600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506129dc565b604051808215151515815260200191505060405180910390f35b341561089c57600080fd5b6108a4612ddc565b6040518082815260200191505060405180910390f35b34156108c557600080fd5b6108db6004808035906020019091905050612de2565b604051808215151515815260200191505060405180910390f35b341561090057600080fd5b610935600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612ed9565b604051808215151515815260200191505060405180910390f35b341561095a57600080fd5b6109626130d5565b6040518082815260200191505060405180910390f35b341561098357600080fd5b6109ce600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506130db565b6040518082815260200191505060405180910390f35b34156109ef57600080fd5b610a056004808035906020019091905050613162565b604051808215151515815260200191505060405180910390f35b3415610a2a57600080fd5b610a32613258565b6040518082815260200191505060405180910390f35b3415610a5357600080fd5b610a7f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061325e565b604051808215151515815260200191505060405180910390f35b3415610aa457600080fd5b610ad0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061344e565b005b3415610add57600080fd5b610ae56135a3565b6040518082815260200191505060405180910390f35b3415610b0657600080fd5b610b32600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506135a9565b604051808215151515815260200191505060405180910390f35b600460009054906101000a900460ff1681565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bf55780601f10610bca57610100808354040283529160200191610bf5565b820191906000526020600020905b815481529060010190602001808311610bd857829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d4d57600080fd5b60055442108015610d5f575060055484115b1515610d6a57600080fd5b8215610e6c57610d85600554856138bb90919063ffffffff16565b905062093a808111151515610d9957600080fd5b83600581905550610db581600e546138d490919063ffffffff16565b600e81905550610dd081600f546138d490919063ffffffff16565b600f81905550600f54600e5411151515610de657fe5b600f54600554101515610df557fe5b7f3df44ae19f6250a7361d3f3c3a785953e00b64df6fc91b86a07bdb59bf2850b4600e546040518082815260200191505060405180910390a17fca40ab7d4cb626805594edee1cb1d5e516f3e068e1b403f6a5bb8b81e878ecd1600f546040518082815260200191505060405180910390a1610e83565b83600581905550600f54600554101515610e8257fe5b5b7f73b9967f00aaa2d519da8f2039b7f0aa88baadcae3ace8574eb37b25cb555828846040518082815260200191505060405180910390a1600191505092915050565b6000600154905090565b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f2a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fb15750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156110075750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b151561101257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156110995750600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156110ef5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15156110fa57600080fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156111565750600e544210155b806111635750600f544210155b151561116e57600080fd5b8160001080156111bd5750600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b15156111c857600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561125357600080fd5b6112a582600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138bb90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061133a82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138d490919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061140c82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138bb90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600a60009054906101000a900460ff1681565b60015481565b60075481565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561157957600080fd5b600460009054906101000a900460ff1615151561159557600080fd5b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116395750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561168f5750600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b151561169a57600080fd5b6116af836001546138d490919063ffffffff16565b905060075481111515156116c257600080fd5b8060018190555061171b83600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138d490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885846040518082815260200191505060405180910390a28373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561187857600080fd5b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118d45750600e544210155b806118e15750600f544210155b15156118ec57600080fd5b60008211801561193b5750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b151561194657600080fd5b61199882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138bb90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119f0826001546138bb90919063ffffffff16565b6001819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b1657600080fd5b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611b6e57600080fd5b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f4d1fe3cc0f516ce2cfc5e83d52ee28af7f55376b18f58e7081c5fd25d8eeb1df60405160405180910390a2600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cbb57600080fd5b600e5442108015611ccc5750826000105b8015611cd9575060a88311155b1515611ce457600080fd5b610e1083029250611d0083600e546138d490919063ffffffff16565b600e81905550611d1b83600f546138d490919063ffffffff16565b600f81905550600f54600e5411151515611d3157fe5b7f3df44ae19f6250a7361d3f3c3a785953e00b64df6fc91b86a07bdb59bf2850b4600e546040518082815260200191505060405180910390a17fca40ab7d4cb626805594edee1cb1d5e516f3e068e1b403f6a5bb8b81e878ecd1600f546040518082815260200191505060405180910390a18115611e0d57611dbe836005546138d490919063ffffffff16565b600581905550600f54600554101515611dd357fe5b7f73b9967f00aaa2d519da8f2039b7f0aa88baadcae3ace8574eb37b25cb5558286005546040518082815260200191505060405180910390a15b6001905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e7457600080fd5b6005544210158015611e8857506000600654115b1515611e9357600080fd5b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f375750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f8c5750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515611f9757600080fd5b6006548211151515611fa857600080fd5b611fbd826001546138d490919063ffffffff16565b600181905550611fd8826006546138bb90919063ffffffff16565b60068190555061203082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138d490919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f939a71706a68cf386c2bf838a39a42d40513dc244377b286608cea04c7ed3ae1836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115612242576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122d6565b61225583826138bb90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561246857600080fd5b6001600460006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561251357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561254f57600080fd5b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125f35750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561263e57506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561264957600080fd5b6001600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fe763ed71afbf8f598659a4d8ac8178df2e3d08a2f869fd42f47dd53fc552052760405160405180910390a2600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561279557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156127d157600080fd5b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561282a57600080fd5b6001600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f0de8364a528e5ca2869160b20c375fe85b4e98d24a9cb48b4dc49c5f76d05b2460405160405180910390a2600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129d45780601f106129a9576101008083540402835291602001916129d4565b820191906000526020600020905b8154815290600101906020018083116129b757829003601f168201915b505050505081565b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612a825750600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1515612a8d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612b145750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b6a5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1515612b7557600080fd5b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612bd15750600e544210155b80612bde5750600f544210155b1515612be957600080fd5b816000108015612c385750600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211155b1515612c4357600080fd5b612c9582600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138bb90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d2a82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138d490919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612e3f57600080fd5b600e5442108015612e515750600e5482115b1515612e5c57600080fd5b62093a80612e75600e54846138bb90919063ffffffff16565b11151515612e8257600080fd5b81600e81905550600f54600e5411151515612e9957fe5b7f3df44ae19f6250a7361d3f3c3a785953e00b64df6fc91b86a07bdb59bf2850b4826040518082815260200191505060405180910390a160019050919050565b6000612f6a82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546138d490919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600f5481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156131bf57600080fd5b600f54421080156131d15750600f5482115b15156131dc57600080fd5b62093a806131f5600f54846138bb90919063ffffffff16565b1115151561320257600080fd5b81600f81905550600f5460055410151561321857fe5b7fca40ab7d4cb626805594edee1cb1d5e516f3e068e1b403f6a5bb8b81e878ecd1826040518082815260200191505060405180910390a160019050919050565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156132bb57600080fd5b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561335357506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561335e57600080fd5b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fd2639eca7fc6fcdba5fa158fc8075b41bc021e97ac1e127b9da5f4fd925f082860405160405180910390a2600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156134a957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156134e557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60055481565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561360757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561364357600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561369c57600080fd5b6001600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550613748600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546001546138bb90919063ffffffff16565b600181905550600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a28273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16915050919050565b60008282111515156138c957fe5b818303905092915050565b60008082840190508381101515156138e857fe5b80915050929150505600a165627a7a72305820e0aa4a29bd89668e1e5bfdccece1c64c802c6693ee685dc6e3ebfbc9ab88397f0029