60806040523480156200001157600080fd5b506040518060400160405280600681526020017f426974444e5300000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f444e5300000000000000000000000000000000000000000000000000000000008152506000620000906200024360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600490805190602001906200014692919062000756565b5080600590805190602001906200015f92919062000756565b506012600660006101000a81548160ff021916908360ff16021790555050506000600e81905550620001a3627861f8426200024b60201b62001a801790919060201c565b600d819055506000600a600f603701019050620001f730620001eb60646b033b2e3c9fd0803ce800000081620001d557fe5b0484620002d460201b62001b081790919060201c565b6200035f60201b60201c565b6200023c336200023060646b033b2e3c9fd0803ce8000000816200021757fe5b0484606403620002d460201b62001b081790919060201c565b6200035f60201b60201c565b50620007fc565b600033905090565b600080828401905083811015620002ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831415620002e9576000905062000359565b6000828402905082848281620002fb57fe5b041462000354576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180620033ed6021913960400191505060405180910390fd5b809150505b92915050565b6200037682826200037a60201b62001b8e1760201c565b5050565b6200038b82620003b660201b60201c565b6200039b6200041960201b60201c565b620003b282826200043d60201b62001bad1760201c565b5050565b62000416600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200040a836200061d60201b60201c565b6200066660201b60201c565b50565b6200043b60086200042f620006f960201b60201c565b6200066660201b60201c565b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620004e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620004f5600083836200070360201b60201c565b62000511816003546200024b60201b62001a801790919060201c565b6003819055506200057081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200024b60201b62001a801790919060201c565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006200067f600a6200070860201b62001d761760201c565b90508062000696846000016200071660201b60201c565b1015620006f45782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b6000600354905090565b505050565b600081600001549050919050565b600080828054905014156200072f576000905062000751565b816001838054905003815481106200074357fe5b906000526020600020015490505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200079957805160ff1916838001178555620007ca565b82800160010185558215620007ca579182015b82811115620007c9578251825591602001919060010190620007ac565b5b509050620007d99190620007dd565b5090565b5b80821115620007f8576000816000905550600101620007de565b5090565b612be1806200080c6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063715018a6116100de578063981b24d011610097578063b8d08db211610071578063b8d08db214610755578063b91d400114610773578063dd62ed3e14610791578063f2fde38b1461080957610173565b8063981b24d01461064b578063a457c2d71461068d578063a9059cbb146106f157610173565b8063715018a61461051457806373a47f051461051e57806379cc67901461053c57806386d1a69f1461058a5780638da5cb5b1461059457806395d89b41146105c857610173565b80633950935111610130578063395093511461036657806342966c68146103ca5780634ee2cd7e146103f857806350aa48741461045a5780636b1bfd331461047857806370a08231146104bc57610173565b806306fdde0314610178578063095ea7b3146101fb5780630b97ce1c1461025f57806318160ddd146102a357806323b872dd146102c1578063313ce56714610345575b600080fd5b61018061084d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c05780820151818401526020810190506101a5565b50505050905090810190601f1680156101ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102476004803603604081101561021157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ef565b60405180821515815260200191505060405180910390f35b6102a16004803603602081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109f3565b005b6102ab610b85565b6040518082815260200191505060405180910390f35b61032d600480360360608110156102d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8f565b60405180821515815260200191505060405180910390f35b61034d610c68565b604051808260ff16815260200191505060405180910390f35b6103b26004803603604081101561037c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c7f565b60405180821515815260200191505060405180910390f35b6103f6600480360360208110156103e057600080fd5b8101908080359060200190929190505050610d32565b005b6104446004803603604081101561040e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d46565b6040518082815260200191505060405180910390f35b610462610db6565b6040518082815260200191505060405180910390f35b6104ba6004803603602081101561048e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dbf565b005b6104fe600480360360208110156104d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f51565b6040518082815260200191505060405180910390f35b61051c610f9a565b005b610526611120565b6040518082815260200191505060405180910390f35b6105886004803603604081101561055257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061112b565b005b61059261118d565b005b61059c6115f3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105d061161c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106105780820151818401526020810190506105f5565b50505050905090810190601f16801561063d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106776004803603602081101561066157600080fd5b81019080803590602001909291905050506116be565b6040518082815260200191505060405180910390f35b6106d9600480360360408110156106a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ef565b60405180821515815260200191505060405180910390f35b61073d6004803603604081101561070757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117bc565b60405180821515815260200191505060405180910390f35b61075d6117da565b6040518082815260200191505060405180910390f35b61077b6117e4565b6040518082815260200191505060405180910390f35b6107f3600480360360408110156107a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117ee565b6040518082815260200191505060405180910390f35b61084b6004803603602081101561081f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611875565b005b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108e55780601f106108ba576101008083540402835291602001916108e5565b820191906000526020600020905b8154815290600101906020018083116108c857829003601f168201915b5050505050905090565b600080600260006108fe611d84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414806109825750600082145b6109d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806129e96039913960400191505060405180910390fd5b6109e96109e2611d84565b8484611d8c565b6001905092915050565b6109fb611d84565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612b03602e913960400191505060405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600354905090565b6000610c5284610b9d611d84565b610c4d85604051806060016040528060288152602001612a4360289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c03611d84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f839092919063ffffffff16565b611d8c565b610c5d848484612043565b600190509392505050565b6000600660009054906101000a900460ff16905090565b6000610d28610c8c611d84565b84610d238560026000610c9d611d84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8090919063ffffffff16565b611d8c565b6001905092915050565b610d43610d3d611d84565b82612053565b50565b6000806000610d9384600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612061565b9150915081610daa57610da585610f51565b610dac565b805b9250505092915050565b60006014905090565b610dc7611d84565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612ad5602e913960400191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fa2611d84565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611062576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000627861f8905090565b600061116a82604051806060016040528060248152602001612a6b6024913961115b86611156611d84565b6117ee565b611f839092919063ffffffff16565b905061117e83611178611d84565b83611d8c565b6111888383612053565b505050565b611195611d84565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611255576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600d544210156112b0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180612b7a6032913960400191505060405180910390fd5b6112b8610db6565b600e5410611311576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806129c06029913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156113b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612ad5602e913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612b03602e913960400191505060405180910390fd5b6000309050600061147182610f51565b9050601460646b033b2e3c9fd0803ce80000008161148b57fe5b04600a028161149657fe5b04601460646b033b2e3c9fd0803ce8000000816114af57fe5b04600f02816114ba57fe5b04018111611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061299b6025913960400191505060405180910390fd5b61156382600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601460646b033b2e3c9fd0803ce80000008161155257fe5b04600f028161155d57fe5b04612043565b6115b382600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601460646b033b2e3c9fd0803ce8000000816115a257fe5b04600a02816115ad57fe5b04612043565b6115c96001600e54611a8090919063ffffffff16565b600e819055506115e96115da611120565b42611a8090919063ffffffff16565b600d819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116b45780601f10611689576101008083540402835291602001916116b4565b820191906000526020600020905b81548152906001019060200180831161169757829003601f168201915b5050505050905090565b60008060006116ce846008612061565b91509150816116e4576116df610b85565b6116e6565b805b92505050919050565b60006117b26116fc611d84565b846117ad85604051806060016040528060258152602001612b556025913960026000611726611d84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f839092919063ffffffff16565b611d8c565b6001905092915050565b60006117d06117c9611d84565b8484612043565b6001905092915050565b6000600e54905090565b6000600d54905090565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61187d611d84565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461193d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061292d6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080828401905083811015611afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831415611b1b5760009050611b88565b6000828402905082848281611b2c57fe5b0414611b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612a226021913960400191505060405180910390fd5b809150505b92915050565b611b97826121b8565b611b9f61220b565b611ba98282611bad565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b611c5c6000838361221f565b611c7181600354611a8090919063ffffffff16565b600381905550611cc981600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8090919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b316024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806129536022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000838311158290612030576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ff5578082015181840152602081019050611fda565b50505050905090810190601f1680156120225780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b61204e838383612224565b505050565b61205d8282612246565b5050565b600080600084116120da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4552433230536e617073686f743a20696420697320300000000000000000000081525060200191505060405180910390fd5b6120e4600a611d76565b841115612159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4552433230536e617073686f743a206e6f6e6578697374656e7420696400000081525060200191505060405180910390fd5b6000612171858560000161226590919063ffffffff16565b9050836000018054905081141561218f5760008092509250506121b1565b60018460010182815481106121a057fe5b906000526020600020015492509250505b9250929050565b612208600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061220383610f51565b612316565b50565b61221d6008612218610b85565b612316565b565b505050565b61222d836121b8565b612236826121b8565b612241838383612393565b505050565b61224f826121b8565b61225761220b565b6122618282612658565b5050565b6000808380549050141561227c5760009050612310565b600080848054905090505b808210156122d057600061229b838361281e565b9050848682815481106122aa57fe5b906000526020600020015411156122c3578091506122ca565b6001810192505b50612287565b6000821180156122f85750838560018403815481106122eb57fe5b9060005260206000200154145b1561230a576001820392505050612310565b81925050505b92915050565b6000612322600a611d76565b90508061233184600001612860565b101561238e5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612419576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612ab06025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561249f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806128e86023913960400191505060405180910390fd5b6124aa83838361221f565b6125168160405180606001604052806026815260200161297560269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f839092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125ab81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8090919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126de576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612a8f6021913960400191505060405180910390fd5b6126ea8260008361221f565b6127568160405180606001604052806022815260200161290b60229139600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f839092919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ae8160035461289d90919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600280838161282b57fe5b066002858161283657fe5b06018161283f57fe5b046002838161284a57fe5b046002858161285557fe5b040101905092915050565b600080828054905014156128775760009050612898565b8160018380549050038154811061288a57fe5b906000526020600020015490505b919050565b60006128df83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f83565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365444e53546f6b656e3a206e6f20656e6f75676820746f6b656e7320746f2072656c65617365444e53546f6b656e3a2072656c656173652074696d65732072656163686564206d617820636f756e7445524332303a2075736520696e637265617365416c6c6f77616e6365206f72206465637265617365416c6c6f77616e636520696e7374656164536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373444e53546f6b656e3a2066756e64206163636f756e742063616e27742062652061207a65726f2061646472657373444e53546f6b656e3a207465616d206163636f756e742063616e27742062652061207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f444e53546f6b656e3a2063757272656e742074696d65206973206265666f7265206e6578742072656c656173652074696d65a26469706673582212203c221426eb6ed5798f04003af2ca8114e1fa76c73ba5daaac5d46137be8f422164736f6c634300060c0033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77