copyright (C) YAWARAGI TAKASU all rights reserved.