contract Pausable is Ownable {
	event Pause();

	event Unpause();

	bool public paused = false;


	/**
        * @dev modifier to allow actions only when the contract IS paused
        */
	modifier whenNotPaused() {
		require(!paused);
		_;
	}

	/**
        * @dev modifier to allow actions only when the contract IS NOT paused
        */
	modifier whenPaused() {
		require(paused);
		_;
	}

	/**
        * @dev called by the owner to pause, triggers stopped state
        */
	function pause() public onlyOwner whenNotPaused {
		paused = true;
		emit Pause();
	}

	/**
        * @dev called by the owner to unpause, returns to normal state
        */
	function unpause() public onlyOwner whenPaused {
		paused = false;
		emit Unpause();
	}
}
/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
function pause() public onlyOwner whenNotPaused {
	paused = true;
	emit Pause();
}

/**
 * @dev called by the owner to pause, triggers stopped state
 */