How many endpoints can a USB device have?