0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806332cb6b0c11610097578063a9059cbb11610066578063a9059cbb146102ee578063c45a015514610327578063c4d66de81461032f578063dd62ed3e14610362576100f5565b806332cb6b0c1461027857806340c10f191461028057806370a08231146102bb57806395d89b41146100fa576100f5565b806318160ddd116100d357806318160ddd146101f557806323b872dd1461020f5780632a455d7914610252578063313ce5671461025a576100f5565b806306fdde03146100fa578063095ea7b3146101775780630bd8f619146101c4575b600080fd5b61010261039d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101b06004803603604081101561018d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356103d6565b604080519115158252519081900360200190f35b6101cc610467565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101fd61048b565b60408051918252519081900360200190f35b6101b06004803603606081101561022557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610491565b6101fd6105ec565b6102626105f9565b6040805160ff9092168252519081900360200190f35b6101fd6105fe565b6102b96004803603604081101561029657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561060e565b005b6101fd600480360360208110156102d157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661073c565b6101b06004803603604081101561030457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561074e565b6101cc610765565b6102b96004803603602081101561034557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610781565b6101fd6004803603604081101561037857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610a44565b6040518060400160405280600481526020017f455843560000000000000000000000000000000000000000000000000000000081525081565b60006002600054141561044a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005561045a338484610a61565b5060018060005592915050565b7f00000000000000000000000018a530c4ba3df1dbd998f24fef87e53a2cc5b32e81565b60025481565b60006002600054141561050557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600090815573ffffffffffffffffffffffffffffffffffffffff851681526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146105d35773ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020546105a1908363ffffffff610ad016565b73ffffffffffffffffffffffffffffffffffffffff851660009081526004602090815260408083203384529091529020555b6105de848484610b42565b506001806000559392505050565b68a2a15d09519be0000081565b601281565b6b033b2e3c9fd0803ce800000081565b6002600054141561068057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000553373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000018a530c4ba3df1dbd998f24fef87e53a2cc5b32e161461072957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f455843563a20464f5242494444454e0000000000000000000000000000000000604482015290519081900360640190fd5b6107338282610c23565b50506001600055565b60036020526000908152604090205481565b600061075b338484610b42565b5060015b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b600260005414156107f357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005560015473ffffffffffffffffffffffffffffffffffffffff1615801561085357503373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000024ea9c1cfd77a8db3fb707f967309cf013cc107816145b6108be57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f455843563a20464f5242494444454e0000000000000000000000000000000000604482015290519081900360640190fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217909255604080517fc4d66de80000000000000000000000000000000000000000000000000000000081526004810192909252517f00000000000000000000000018a530c4ba3df1dbd998f24fef87e53a2cc5b32e9092169163c4d66de89160248082019260009290919082900301818387803b15801561097e57600080fd5b505af1158015610992573d6000803e3d6000fd5b50505050610a3c7f00000000000000000000000024ea9c1cfd77a8db3fb707f967309cf013cc107873ffffffffffffffffffffffffffffffffffffffff166302d05d3f6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a0157600080fd5b505af1158015610a15573d6000803e3d6000fd5b505050506040513d6020811015610a2b57600080fd5b505168a2a15d09519be00000610c23565b506001600055565b600460209081526000928352604080842090915290825290205481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082038281111561075f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902054610b78908263ffffffff610ad016565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600360205260408082209390935590841681522054610bba908263ffffffff610d0416565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000610c4f82610c4a6002546b033b2e3c9fd0803ce8000000610ad090919063ffffffff16565b610d76565b600254909150610c65908263ffffffff610d0416565b60025573ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902054610c9e908263ffffffff610d0416565b73ffffffffffffffffffffffffffffffffffffffff841660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505050565b8082018281101561075f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b6000818310610d855781610d87565b825b939250505056fea2646970667358221220d3b889e646d1c9d3a05d77d725a4839f8b8aaa82a6f03f8dedbafcd4fa79a39064736f6c63430006060033
0x60c060405234801561001057600080fd5b506001600090815533606090811b60a0526040516100306020820161009c565b6020820181038252601f19601f82011660405250905060006040516020018080643c22ac21ab60d91b8152506005019050604051602081830303815290604052805190602001209050808251602084016000f560601b6001600160601b031916608052506100a9915050565b611c1b80610ea583390190565b60805160601c60a05160601c610dc46100e160003980610831528061099b525080610469528061069d52806109345250610dc46000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806332cb6b0c11610097578063a9059cbb11610066578063a9059cbb146102ee578063c45a015514610327578063c4d66de81461032f578063dd62ed3e14610362576100f5565b806332cb6b0c1461027857806340c10f191461028057806370a08231146102bb57806395d89b41146100fa576100f5565b806318160ddd116100d357806318160ddd146101f557806323b872dd1461020f5780632a455d7914610252578063313ce5671461025a576100f5565b806306fdde03146100fa578063095ea7b3146101775780630bd8f619146101c4575b600080fd5b61010261039d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101b06004803603604081101561018d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356103d6565b604080519115158252519081900360200190f35b6101cc610467565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101fd61048b565b60408051918252519081900360200190f35b6101b06004803603606081101561022557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610491565b6101fd6105ec565b6102626105f9565b6040805160ff9092168252519081900360200190f35b6101fd6105fe565b6102b96004803603604081101561029657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561060e565b005b6101fd600480360360208110156102d157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661073c565b6101b06004803603604081101561030457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561074e565b6101cc610765565b6102b96004803603602081101561034557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610781565b6101fd6004803603604081101561037857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610a44565b6040518060400160405280600481526020017f455843560000000000000000000000000000000000000000000000000000000081525081565b60006002600054141561044a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005561045a338484610a61565b5060018060005592915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60025481565b60006002600054141561050557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600090815573ffffffffffffffffffffffffffffffffffffffff851681526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146105d35773ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020546105a1908363ffffffff610ad016565b73ffffffffffffffffffffffffffffffffffffffff851660009081526004602090815260408083203384529091529020555b6105de848484610b42565b506001806000559392505050565b68a2a15d09519be0000081565b601281565b6b033b2e3c9fd0803ce800000081565b6002600054141561068057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000553373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461072957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f455843563a20464f5242494444454e0000000000000000000000000000000000604482015290519081900360640190fd5b6107338282610c23565b50506001600055565b60036020526000908152604090205481565b600061075b338484610b42565b5060015b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b600260005414156107f357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005560015473ffffffffffffffffffffffffffffffffffffffff1615801561085357503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b6108be57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f455843563a20464f5242494444454e0000000000000000000000000000000000604482015290519081900360640190fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217909255604080517fc4d66de80000000000000000000000000000000000000000000000000000000081526004810192909252517f00000000000000000000000000000000000000000000000000000000000000009092169163c4d66de89160248082019260009290919082900301818387803b15801561097e57600080fd5b505af1158015610992573d6000803e3d6000fd5b50505050610a3c7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302d05d3f6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a0157600080fd5b505af1158015610a15573d6000803e3d6000fd5b505050506040513d6020811015610a2b57600080fd5b505168a2a15d09519be00000610c23565b506001600055565b600460209081526000928352604080842090915290825290205481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082038281111561075f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902054610b78908263ffffffff610ad016565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600360205260408082209390935590841681522054610bba908263ffffffff610d0416565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000610c4f82610c4a6002546b033b2e3c9fd0803ce8000000610ad090919063ffffffff16565b610d76565b600254909150610c65908263ffffffff610d0416565b60025573ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902054610c9e908263ffffffff610d0416565b73ffffffffffffffffffffffffffffffffffffffff841660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505050565b8082018281101561075f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b6000818310610d855781610d87565b825b939250505056fea2646970667358221220d3b889e646d1c9d3a05d77d725a4839f8b8aaa82a6f03f8dedbafcd4fa79a39064736f6c6343000606003360a060405234801561001057600080fd5b5060016000553360601b60805260805160601c611bc36100586000398061054e528061081a5280610f4b528061130a52806114a3528061151852806117175250611bc36000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806395a2251f116100b2578063b6f3e08711610081578063c4d66de811610066578063c4d66de814610432578063dd62ed3e14610465578063e0158f39146104a057610136565b8063b6f3e087146103ef578063c45a01551461042a57610136565b806395a2251f1461036457806395d89b411461013b578063a9059cbb146101b8578063b07b4aea1461039757610136565b806323b872dd11610109578063313ce567116100ee578063313ce567146102e25780635e6cd6bf1461030057806370a082311461033157610136565b806323b872dd146102645780632817132c146102a757610136565b806306fdde031461013b578063095ea7b3146101b857806318160ddd14610205578063238242ab1461021f575b600080fd5b6101436104a8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017d578181015183820152602001610165565b50505050905090810190601f1680156101aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1600480360360408110156101ce57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356104e1565b604080519115158252519081900360200190f35b61020d61054a565b60408051918252519081900360200190f35b6102626004803603606081101561023557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356105e3565b005b6101f16004803603606081101561027a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104e1565b61020d600480360360408110156102bd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610931565b6102ea610aab565b6040805160ff9092168252519081900360200190f35b610308610ab0565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61020d6004803603602081101561034757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610acc565b6102626004803603602081101561037a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610cdb565b61039f611060565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103db5781810151838201526020016103c3565b505050509050019250505060405180910390f35b6102626004803603604081101561040557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166110cf565b61030861125f565b6102626004803603602081101561044857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661127b565b61020d6004803603604081101561047b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166104e1565b610308611516565b6040518060400160405280600581526020017f784558435600000000000000000000000000000000000000000000000000000081525081565b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f78455843563a20464f5242494444454e000000000000000000000000000000006044820152905160009181900360640190fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b257600080fd5b505afa1580156105c6573d6000803e3d6000fd5b505050506040513d60208110156105dc57600080fd5b5051905090565b6002600054141561065557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556106638261153a565b6106ce57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f78455843563a20756e6b6e6f776e207061697200000000000000000000000000604482015290519081900360640190fd5b60006106d861161a565b905060008373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561072257600080fd5b505afa158015610736573d6000803e3d6000fd5b505050506040513d602081101561074c57600080fd5b5051604080517f439de41900000000000000000000000000000000000000000000000000000000815233600482015260248101869052905191925073ffffffffffffffffffffffffffffffffffffffff86169163439de419916044808201926020929091908290030181600087803b1580156107c757600080fd5b505af11580156107db573d6000803e3d6000fd5b505050506040513d60208110156107f157600080fd5b50600090506108168261080a868663ffffffff6117b416565b9063ffffffff61183a16565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f1987836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156108bf57600080fd5b505af11580156108d3573d6000803e3d6000fd5b505060408051848152905173ffffffffffffffffffffffffffffffffffffffff8a1693503392507fd12200efa34901b99367694174c3b0d32c99585fdf37c7c26892136ddd0836d99181900360200190a35050600160005550505050565b600061093c8261153a565b61094857506000610aa5565b60008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561099057600080fd5b505afa1580156109a4573d6000803e3d6000fd5b505050506040513d60208110156109ba57600080fd5b50519050806109cd576000915050610aa5565b60006109d761161a565b905060008473ffffffffffffffffffffffffffffffffffffffff1663b4899fc7876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a5857600080fd5b505afa158015610a6c573d6000803e3d6000fd5b505050506040513d6020811015610a8257600080fd5b5051905082610a97828463ffffffff6117b416565b81610a9e57fe5b0493505050505b92915050565b601281565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b600060606003805480602002602001604051908101604052809291908181526020018280548015610b3357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b08575b505050505090506000610b4461161a565b90506000805b8351811015610cd0576000848281518110610b6157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663b4899fc7886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610be557600080fd5b505afa158015610bf9573d6000803e3d6000fd5b505050506040513d6020811015610c0f57600080fd5b50518551909150600090869084908110610c2557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7257600080fd5b505afa158015610c86573d6000803e3d6000fd5b505050506040513d6020811015610c9c57600080fd5b50519050610cc4610cb78261080a858963ffffffff6117b416565b859063ffffffff6118bb16565b93505050600101610b4a565b50925050505b919050565b60026000541415610d4d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600055600380546040805160208084028201810190925282815260609390929091830182828015610db657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d8b575b505050505090506000610dc761161a565b90506000805b8351811015610f48576000848281518110610de457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3157600080fd5b505afa158015610e45573d6000803e3d6000fd5b505050506040513d6020811015610e5b57600080fd5b50518551909150600090869084908110610e7157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663e85a8934336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610ef757600080fd5b505af1158015610f0b573d6000803e3d6000fd5b505050506040513d6020811015610f2157600080fd5b50519050610f3c610cb78361080a848963ffffffff6117b416565b93505050600101610dcd565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f1985836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610ff057600080fd5b505af1158015611004573d6000803e3d6000fd5b505060408051848152905173ffffffffffffffffffffffffffffffffffffffff881693503392507fd12200efa34901b99367694174c3b0d32c99585fdf37c7c26892136ddd0836d99181900360200190a3505060016000555050565b606060038054806020026020016040519081016040528092919081815260200182805480156110c557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161109a575b5050505050905090565b6002600054141561114157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600055600154339061116c9073ffffffffffffffffffffffffffffffffffffffff16848461192d565b73ffffffffffffffffffffffffffffffffffffffff16146111ee57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f78455843563a20464f5242494444454e00000000000000000000000000000000604482015290519081900360640190fd5b6111f73361153a565b61125657600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555b50506001600055565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b600260005414156112ed57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000553373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561134d575060015473ffffffffffffffffffffffffffffffffffffffff16155b801561136f575060025473ffffffffffffffffffffffffffffffffffffffff16155b6113da57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f78455843563a20464f5242494444454e00000000000000000000000000000000604482015290519081900360640190fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117909155604080517f4b2f336d000000000000000000000000000000000000000000000000000000008152905160009291634b2f336d916004808301926020929190829003018186803b15801561146f57600080fd5b505afa158015611483573d6000803e3d6000fd5b505050506040513d602081101561149957600080fd5b505190506114c8827f00000000000000000000000000000000000000000000000000000000000000008361192d565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550506001600055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000606060038054806020026020016040519081016040528092919081815260200182805480156115a157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611576575b50939450600093505050505b8151811015611610578373ffffffffffffffffffffffffffffffffffffffff168282815181106115d957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561160857600192505050610cd6565b6001016115ad565b5060009392505050565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561168757600080fd5b505afa15801561169b573d6000803e3d6000fd5b505050506040513d60608110156116b157600080fd5b508051602091820151600254604080517f0dfe168100000000000000000000000000000000000000000000000000000000815290516dffffffffffffffffffffffffffff948516975093909216945073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811694911692630dfe1681926004808201939291829003018186803b15801561175e57600080fd5b505afa158015611772573d6000803e3d6000fd5b505050506040513d602081101561178857600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16146117ab57806117ad565b815b9250505090565b60008115806117cf575050808202828282816117cc57fe5b04145b610aa557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b60008082116118aa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816118b357fe5b049392505050565b80820182811015610aa557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b600080600061193c8585611a18565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f3b4596e5d4f0ba0faf3c029e2a152a4931e4da86804417810c5960569e839f1e609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611b6c6022913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610611ada578284611add565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216611b6457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f45786361766f4c6962726172793a205a45524f5f414444524553530000000000604482015290519081900360640190fd5b925092905056fe45786361766f4c6962726172793a204944454e544943414c5f414444524553534553a2646970667358221220806da739c6cf0bb8bae6e285d1b3bb9023447e0a7bb50867ed7278ea565ac08964736f6c63430006060033