des Test PID

usb:v1209p01C0*
 ID_MODEL_FROM_DATABASE=Input Club Kiibohd Device

usb:v1209p01CB*
 ID_MODEL_FROM_DATABASE=Input Club Kiibohd Device Bootloader

usb:v1209p0256*
 ID_MODEL_FROM_DATABASE=Schwalm & Tate LLC pISO Raspberry Pi Hat

usb:v1209p053A*
 ID_MODEL_FROM_DATABASE=Hackerspace San Salvador HSSV SAMR21-Mote

usb:v1209p0CBD*
 ID_MODEL_FROM_DATABASE=Andrzej Szombierski kuku.eu.org keyboard

usb:v1209p0D32*
 ID_MODEL_FROM_DATABASE=ODrive Robotics ODrive

usb:v1209p1001*
 ID_MODEL_FROM_DATABASE=InterBiometrics Hub

usb:v1209p1002*
 ID_MODEL_FROM_DATABASE=InterBiometrics Relais

usb:v1209p1003*
 ID_MODEL_FROM_DATABASE=InterBiometrics IBSecureCam-P

usb:v1209p1004*
 ID_MODEL_FROM_DATABASE=InterBiometrics IBSecureCam-O

usb:v1209p1005*
 ID_MODEL_FROM_DATABASE=InterBiometrics IBSecureCam-N

usb:v1209p1006*
 ID_MODEL_FROM_DATABASE=InterBiometrics Mini IO-Board

usb:v1209p1007*
 ID_MODEL_FROM_DATABASE=e-radionica.com Croduino SAMD

usb:v1209p1986*
 ID_MODEL_FROM_DATABASE=dgrubb Jaguar Tap

usb:v1209p1AB5*
 ID_MODEL_FROM_DATABASE=Arachnid Labs Tsunami

usb:v1209p1AB6*
 ID_MODEL_FROM_DATABASE=Arachnid Labs Tsunami Bootloader

usb:v1209p2000*
 ID_MODEL_FROM_DATABASE=Zygmunt Krynicki Lantern Brightness Sensor

usb:v1209p2001*
 ID_MODEL_FROM_DATABASE=OSHEC Pi-pilot opensource and openhardware autopilot system

usb:v1209p2002*
 ID_MODEL_FROM_DATABASE=Peter Lawrence PIC16F1-USB-DFU-Bootloader

usb:v1209p2003*
 ID_MODEL_FROM_DATABASE=Peter Lawrence SAMDx1-USB-DFU-Bootloader

usb:v1209p2004*
 ID_MODEL_FROM_DATABASE=GCBASIC Serial CDC Stack

usb:v1209p2005*
 ID_MODEL_FROM_DATABASE=GCBASIC OakTree Stack

usb:v1209p2006*
 ID_MODEL_FROM_DATABASE=GCBASIC Simulation Stack

usb:v1209p2016*
 ID_MODEL_FROM_DATABASE=Cupkee

usb:v1209p2017*
 ID_MODEL_FROM_DATABASE=Benjamin Shockley Mini SAM

usb:v1209p2020*
 ID_MODEL_FROM_DATABASE=Captain Credible Gate Crystal

usb:v1209p2048*
 ID_MODEL_FROM_DATABASE=Housedillon.com MRF49XA Transceiver

usb:v1209p2100*
 ID_MODEL_FROM_DATABASE=TinyFPGA B1 and B2 Boards

usb:v1209p2101*
 ID_MODEL_FROM_DATABASE=TinyFPGA A-Series Programmer

usb:v1209p2200*
 ID_MODEL_FROM_DATABASE=Dygma Shortcut Bootloader

usb:v1209p2201*
 ID_MODEL_FROM_DATABASE=Dygma Shortcut Keyboard

usb:v1209p2222*
 ID_MODEL_FROM_DATABASE=LabConnect Signalgenerator

usb:v1209p2300*
 ID_MODEL_FROM_DATABASE=Keyboardio Model 01 Bootloader

usb:v1209p2301*
 ID_MODEL_FROM_DATABASE=Keyboardio Model 01

usb:v1209p2323*
 ID_MODEL_FROM_DATABASE=bytewerk.org candleLight

usb:v1209p2327*
 ID_MODEL_FROM_DATABASE=K.T.E.C. Bootloader Device

usb:v1209p2328*
 ID_MODEL_FROM_DATABASE=K.T.E.C. Keyboard Device

usb:v1209p2333*
 ID_MODEL_FROM_DATABASE=Kai Ryu Kimera

usb:v1209p2334*
 ID_MODEL_FROM_DATABASE=Kai Ryu Staryu

usb:v1209p2335*
 ID_MODEL_FROM_DATABASE=Portwell Sense8

usb:v1209p2336*
 ID_MODEL_FROM_DATABASE=Portwell Sense8

usb:v1209p2337*
 ID_MODEL_FROM_DATABASE=/Dev /Net

usb:v1209p2342*
 ID_MODEL_FROM_DATABASE=Andreas Bogk Big Red Button

usb:v1209p2345*
 ID_MODEL_FROM_DATABASE=VV-Soft Simple Generic HID IO

usb:v1209p2357*
 ID_MODEL_FROM_DATABASE=KarolKucza TinyPassword

usb:v1209p2400*
 ID_MODEL_FROM_DATABASE=phooky Snap-Pad

usb:v1209p2488*
 ID_MODEL_FROM_DATABASE=Peter Lawrence CMSIS-DAP Dapper Miser

usb:v1209p2552*
 ID_MODEL_FROM_DATABASE=ProjectIota Electrolink

usb:v1209p2600*
 ID_MODEL_FROM_DATABASE=Majenko Technologies chipKIT Lenny

usb:v1209p2635*
 ID_MODEL_FROM_DATABASE=Sevinz GameBot

usb:v1209p2800*
 ID_MODEL_FROM_DATABASE=Entropic Engineering Triangulation

usb:v1209p2801*
 ID_MODEL_FROM_DATABASE=Entropic Engineering Object Manipulation

usb:v1209p2A00*
 ID_MODEL_FROM_DATABASE=mooware Wii adapter

usb:v1209p2A01*
 ID_MODEL_FROM_DATABASE=mooware SNES adapter

usb:v1209p3000*
 ID_MODEL_FROM_DATABASE=lloyd3000

usb:v1209p3100*
 ID_MODEL_FROM_DATABASE=OpenSimHardware Pedals & Buttons Controller

usb:v1209p317E*
 ID_MODEL_FROM_DATABASE=Codecrete Wirekite

usb:v1209p3210*
 ID_MODEL_FROM_DATABASE=OSH Lab, LLC Magic Keys

usb:v1209p3333*
 ID_MODEL_FROM_DATABASE=LabConnect Digitalnetzteil

usb:v1209p345B*
 ID_MODEL_FROM_DATABASE=kinX Hub

usb:v1209p345C*
 ID_MODEL_FROM_DATABASE=kinX Keyboard Controller

usb:v1209p3690*
 ID_MODEL_FROM_DATABASE=Kigakudoh TouchMIDI32

usb:v1209p4096*
 ID_MODEL_FROM_DATABASE=CynaraKrewe Cynara

usb:v1209p414C*
 ID_MODEL_FROM_DATABASE=Adi Linden

usb:v1209p414D*
 ID_MODEL_FROM_DATABASE=Adi Linden

usb:v1209p4242*
 ID_MODEL_FROM_DATABASE=Komakallio Astrophotography Community KomaHub Remote Power Switch

usb:v1209p4256*
 ID_MODEL_FROM_DATABASE=CuVoodoo BusVoodoo multi-protocol debugging adapter

usb:v1209p4321*
 ID_MODEL_FROM_DATABASE=mooltipass Offline Password Keeper Bootloader

usb:v1209p4322*
 ID_MODEL_FROM_DATABASE=mooltipass Arduino Sketch

usb:v1209p4356*
 ID_MODEL_FROM_DATABASE=CuVoodoo firmware

usb:v1209p4443*
 ID_MODEL_FROM_DATABASE=j1rie IRMP_STM32 Bootloader

usb:v1209p4444*
 ID_MODEL_FROM_DATABASE=j1rie IRMP_STM32

usb:v1209p4545*
 ID_MODEL_FROM_DATABASE=SlothCo Enterprises Teletype Adapter

usb:v1209p4646*
 ID_MODEL_FROM_DATABASE=SmartPID SPC1000

usb:v1209p4748*
 ID_MODEL_FROM_DATABASE=Kate Gray GHETT-iO Bootloader

usb:v1209p4750*
 ID_MODEL_FROM_DATABASE=Chris Pavlina (c4757p) C4-x computer (development interface)

usb:v1209p4757*
 ID_MODEL_FROM_DATABASE=Chris Pavlina (c4757p) WCP52 Gain/Phase Analyzer

usb:v1209p4801*
 ID_MODEL_FROM_DATABASE=Wojciech Krutnik NVMemProg

usb:v1209p4C60*
 ID_MODEL_FROM_DATABASE=MightyPork GEX module

usb:v1209p4C61*
 ID_MODEL_FROM_DATABASE=MightyPork GEX wireless dongle

usb:v1209p4D53*
 ID_MODEL_FROM_DATABASE=mindsensors.com NXTCam5

usb:v1209p5038*
 ID_MODEL_FROM_DATABASE=frotz.net mdebug rswd protocol

usb:v1209p5039*
 ID_MODEL_FROM_DATABASE=frotz.net lpcboot protocol

usb:v1209p5050*
 ID_MODEL_FROM_DATABASE=trebb ISO50

usb:v1209p5070*
 ID_MODEL_FROM_DATABASE=SoloHacker security key [SoloKey]

usb:v1209p50B0*
 ID_MODEL_FROM_DATABASE=boot for security key [SoloKey]

usb:v1209p5222*
 ID_MODEL_FROM_DATABASE=telavivmakers attami

usb:v1209p53C0*
 ID_MODEL_FROM_DATABASE=SatoshiLabs TREZOR Bootloader

usb:v1209p53C1*
 ID_MODEL_FROM_DATABASE=SatoshiLabs TREZOR

usb:v1209p5432*
 ID_MODEL_FROM_DATABASE=Open Programmer

usb:v1209p5457*
 ID_MODEL_FROM_DATABASE=Openlab.Taipei Taiwanduino

usb:v1209p571C*
 ID_MODEL_FROM_DATABASE=StreetoArcade PancadariaStick

usb:v1209p5A22*
 ID_MODEL_FROM_DATABASE=ikari_01 sd2snes

usb:v1209p6000*
 ID_MODEL_FROM_DATABASE=Pulsar Heavy Industries Cenx4

usb:v1209p600D*
 ID_MODEL_FROM_DATABASE=Makdaam N93 Interface

usb:v1209p6464*
 ID_MODEL_FROM_DATABASE=Electric Exploits Shinewave

usb:v1209p6502*
 ID_MODEL_FROM_DATABASE=jj1bdx avrhwrng v2rev1

usb:v1209p6570*
 ID_MODEL_FROM_DATABASE=Iowa Scaled Engineering, LLC CKT-AVRPROGRAMMER

usb:v1209p6666*
 ID_MODEL_FROM_DATABASE=Talpa Chen VSFLogic

usb:v1209p6667*
 ID_MODEL_FROM_DATABASE=SensePost Universal Serial aBUSe - Generic HID

usb:v1209p6742*
 ID_MODEL_FROM_DATABASE=NPK Cubitel Atomic Force Microscope

usb:v1209p6809*
 ID_MODEL_FROM_DATABASE=Tach Radio Doppelganger

usb:v1209p6948*
 ID_MODEL_FROM_DATABASE=MySensors Sensebender Gateway BootLoader

usb:v1209p6949*
 ID_MODEL_FROM_DATABASE=MySensors Sensebender Gateway

usb:v1209p6BCF*
 ID_MODEL_FROM_DATABASE=blaste Gameboy Cart Flasher

usb:v1209p7000*
 ID_MODEL_FROM_DATABASE=Secalot Dongle

usb:v1209p7001*
 ID_MODEL_FROM_DATABASE=Secalot Bootloader

usb:v1209p70B1*
 ID_MODEL_FROM_DATABASE=Sutajio Ko-Usagi (Kosagi) Tomu

usb:v1209p7331*
 ID_MODEL_FROM_DATABASE=Dangerous Prototypes Bus Pirate Next Gen CDC

usb:v1209p7332*
 ID_MODEL_FROM_DATABASE=Dangerous Prototypes Bus Pirate Next Gen Logic Analyzer

usb:v1209p7401*
 ID_MODEL_FROM_DATABASE=Beststream-jp Tool_CDC

usb:v1209p7530*
 ID_MODEL_FROM_DATABASE=PotentialLabs Refflion - IoT Development Board - Bootloader

usb:v1209p7531*
 ID_MODEL_FROM_DATABASE=PotentialLabs Refflion - IoT Development Board - Sketch

usb:v1209p7551*
 ID_MODEL_FROM_DATABASE=The Tessel Project Tessel 2

usb:v1209p7777*
 ID_MODEL_FROM_DATABASE=circuitvalley IO Board V3

usb:v1209p7778*
 ID_MODEL_FROM_DATABASE=circuitvalley IO Board V3 Bootloader

usb:v1209p7950*
 ID_MODEL_FROM_DATABASE=PIC18F87J94 Bootloader [GenII]

usb:v1209p7951*
 ID_MODEL_FROM_DATABASE=PIC18F87J94 Application [GenII]

usb:v1209p7952*
 ID_MODEL_FROM_DATABASE=PIC18F87J94 Bootloader [GenIII/IV]

usb:v1209p7953*
 ID_MODEL_FROM_DATABASE=PIC18F87J94 Application [GenIII/IV]

usb:v1209p7954*
 ID_MODEL_FROM_DATABASE=PIC18F87J94 Application [GenIII/IV]

usb:v1209p7BD0*
 ID_MODEL_FROM_DATABASE=pokey9000 Tiny Bit Dingus

usb:v1209p8000*
 ID_MODEL_FROM_DATABASE=Autonomii NODii 2

usb:v1209p8086*
 ID_MODEL_FROM_DATABASE=MisfitTech Nano Zero Bootloader

usb:v1209p8087*
 ID_MODEL_FROM_DATABASE=MisfitTech Nano Zero

usb:v1209p8123*
 ID_MODEL_FROM_DATABASE=Danyboard M0 bootloader

usb:v1209p812A*
 ID_MODEL_FROM_DATABASE=Danyboard M0

usb:v1209p813A*
 ID_MODEL_FROM_DATABASE=MickMad HACK Bootloader

usb:v1209p813B*
 ID_MODEL_FROM_DATABASE=MickMad HACK Sketch

usb:v1209p8242*
 ID_MODEL_FROM_DATABASE=Tom Wimmenhove Electronics NBS-DAC 192/24 UAC1

usb:v1209p8243*
 ID_MODEL_FROM_DATABASE=Tom Wimmenhove Electronics NBS-DAC 192/24 UAC2

usb:v1209p8472*
 ID_MODEL_FROM_DATABASE=Shantea Controls OpenDeck

usb:v1209p8661*
 ID_MODEL_FROM_DATABASE=ProgHQ TL866 programmer

usb:v1209p8844*
 ID_MODEL_FROM_DATABASE=munia.io MUNIA

usb:v1209p8888*
 ID_MODEL_FROM_DATABASE=Blinkinlabs POV Pendant

usb:v1209p8889*
 ID_MODEL_FROM_DATABASE=Blinkinlabs POV Pendant (bootloader)

usb:v1209p8B00*
 ID_MODEL_FROM_DATABASE=ReSwitched Libtransistor Serial Console

usb:v1209p9021*
 ID_MODEL_FROM_DATABASE=Connected Community Hackerspace ESPlant

usb:v1209p9317*
 ID_MODEL_FROM_DATABASE=Sutajio Ko-Usagi (Kosagi) Palawan-Tx

usb:v1209p9999*
 ID_MODEL_FROM_DATABASE=Sandeepan Sengupta CodeBridge Infineo

usb:v1209p9DB5*
 ID_MODEL_FROM_DATABASE=PD Buddy Sink

usb:v1209pA033*
 ID_MODEL_FROM_DATABASE=area0x33 Memtype

usb:v1209pA100*
 ID_MODEL_FROM_DATABASE=KB LES Narsil analog breakout

usb:v1209pA10C*
 ID_MODEL_FROM_DATABASE=KB LES Aminoacid Synthesizer

usb:v1209pA1E5*
 ID_MODEL_FROM_DATABASE=Atreus Keyboards Atreus Keyboard

usb:v1209pA3A4*
 ID_MODEL_FROM_DATABASE=MK::Box MK::Kbd

usb:v1209pA3A5*
 ID_MODEL_FROM_DATABASE=MK::Box MK::Kbd Bootloader

usb:v1209pA55A*
 ID_MODEL_FROM_DATABASE=Forever Young Software ATTINY2313

usb:v1209pA602*
 ID_MODEL_FROM_DATABASE=Robotips RTBoard

usb:v1209pA7EA*
 ID_MODEL_FROM_DATABASE=area3001 Knixx SW04

usb:v1209pA800*
 ID_MODEL_FROM_DATABASE=sowbug.com WebLight

usb:v1209pA8B0*
 ID_MODEL_FROM_DATABASE=Intelectron BootWare

usb:v1209pA8B1*
 ID_MODEL_FROM_DATABASE=Intelectron FrameWare

usb:v1209pAA00*
 ID_MODEL_FROM_DATABASE=Serg Oskin LinuxCNC HID Extender

usb:v1209pAA0B*
 ID_MODEL_FROM_DATABASE=Open Bionics

usb:v1209pAB3D*
 ID_MODEL_FROM_DATABASE=3DArtists Alligator board

usb:v1209pABBA*
 ID_MODEL_FROM_DATABASE=CoinWISE SafeWISE

usb:v1209pABC0*
 ID_MODEL_FROM_DATABASE=Omzlo controller

usb:v1209pABCD*
 ID_MODEL_FROM_DATABASE=Sandeepan Sengupta CodeBridge

usb:v1209pABD1*
 ID_MODEL_FROM_DATABASE=OpenMV Cam

usb:v1209pACDC*
 ID_MODEL_FROM_DATABASE=Gediminas Zukaitis midi-grid

usb:v1209pACE5*
 ID_MODEL_FROM_DATABASE=SimAces Panel Ace

usb:v1209pACED*
 ID_MODEL_FROM_DATABASE=Open Lighting Project Ja Rule Device

usb:v1209pACEE*
 ID_MODEL_FROM_DATABASE=Open Lighting Project Ja Rule Bootloader

usb:v1209pADB0*
 ID_MODEL_FROM_DATABASE=tibounise ADB converter

usb:v1209pADDA*
 ID_MODEL_FROM_DATABASE=MicroPython Boards

usb:v1209pB007*
 ID_MODEL_FROM_DATABASE=Konsgn Global_Boot

usb:v1209pB00B*
 ID_MODEL_FROM_DATABASE=CrapLab Random Device

usb:v1209pB010*
 ID_MODEL_FROM_DATABASE=IObitZ CodeBridge

usb:v1209pB01D*
 ID_MODEL_FROM_DATABASE=WyoLum VeloKey

usb:v1209pB058*
 ID_MODEL_FROM_DATABASE=Model B, LLC Holoseat

usb:v1209pB0B0*
 ID_MODEL_FROM_DATABASE=Monero Hardware Monero Bootloader

usb:v1209pB100*
 ID_MODEL_FROM_DATABASE=ptrandem iBizi

usb:v1209pB101*
 ID_MODEL_FROM_DATABASE=IObitZ Infineo

usb:v1209pB195*
 ID_MODEL_FROM_DATABASE=flehrad Big Switch PCB

usb:v1209pBAB1*
 ID_MODEL_FROM_DATABASE=ElectronicCats Meow Meow

usb:v1209pBABE*
 ID_MODEL_FROM_DATABASE=brunofreitas.com STM32 HID Bootloader

usb:v1209pBAD1*
 ID_MODEL_FROM_DATABASE=Gregory POTEAU CommLinkUSB

usb:v1209pBAD2*
 ID_MODEL_FROM_DATABASE=Gregory POTEAU XLinkUSB

usb:v1209pBADE*
 ID_MODEL_FROM_DATABASE=Semarme SemarmeHID

usb:v1209pBB00*
 ID_MODEL_FROM_DATABASE=keyplus split keyboard firmware

usb:v1209pBB01*
 ID_MODEL_FROM_DATABASE=keyplus xusb bootloader

usb:v1209pBB02*
 ID_MODEL_FROM_DATABASE=keyplus nRF24 wireless keyboard dongle

usb:v1209pBB03*
 ID_MODEL_FROM_DATABASE=keyplus nrf24lu1p-512 bootloader

usb:v1209pBB05*
 ID_MODEL_FROM_DATABASE=keyplus kp_boot_32u4 bootloader

usb:v1209pBEBA*
 ID_MODEL_FROM_DATABASE=serasidis.gr STM32 HID Bootloader

usb:v1209pBEEF*
 ID_MODEL_FROM_DATABASE=Modal MC-USB

usb:v1209pC001*
 ID_MODEL_FROM_DATABASE=Cynteract Alpha

usb:v1209pC0C0*
 ID_MODEL_FROM_DATABASE=Geppetto_Electronics Orthrus

usb:v1209pC0C1*
 ID_MODEL_FROM_DATABASE=Michael Bemmerl cookie-mouse

usb:v1209pC0CA*
 ID_MODEL_FROM_DATABASE=Jean THOMAS DirtyJTAG

usb:v1209pC0D3*
 ID_MODEL_FROM_DATABASE=Samy Kamkar USBdriveby

usb:v1209pC0DA*
 ID_MODEL_FROM_DATABASE=Monero Hardware Monero Firmware

usb:v1209pC0DE*
 ID_MODEL_FROM_DATABASE=KMRH Labs SBL Brain

usb:v1209pC0F5*
 ID_MODEL_FROM_DATABASE=unethi PERswitch

usb:v1209pC1AA*
 ID_MODEL_FROM_DATABASE=Proyecto CIAA Computadora Industrial Abierta Argentina

usb:v1209pC1B1*
 ID_MODEL_FROM_DATABASE=Chibitronics Love-to-Code

usb:v1209pC311*
 ID_MODEL_FROM_DATABASE=bg nerilex GB-USB-Link

usb:v1209pCA1C*
 ID_MODEL_FROM_DATABASE=KnightOS Generic Hub

usb:v1209pCA1D*
 ID_MODEL_FROM_DATABASE=KnightOS MTP Device

usb:v1209pCAEA*
 ID_MODEL_FROM_DATABASE=Open Music Kontrollers Chimaera

usb:v1209pCAFE*
 ID_MODEL_FROM_DATABASE=ii iigadget

usb:v1209pCC14*
 ID_MODEL_FROM_DATABASE=trebb NaN-15

usb:v1209pCC86*
 ID_MODEL_FROM_DATABASE=Manfred's Technologies Anastasia Bootloader

usb:v1209pCEB0*
 ID_MODEL_FROM_DATABASE=KG4LNE GE-FlashUSB

usb:v1209pCF20*
 ID_MODEL_FROM_DATABASE=Smart Citizen SCK 2.0

usb:v1209pD00D*
 ID_MODEL_FROM_DATABASE=Monero Hardware Monero Developer

usb:v1209pD017*
 ID_MODEL_FROM_DATABASE=empiriKit empiriKit Controller

usb:v1209pD11D*
 ID_MODEL_FROM_DATABASE=Koi Science DI-Lambda AVR

usb:v1209pD3D8*
 ID_MODEL_FROM_DATABASE=Duet3d Duet 0.8.5

usb:v1209pD706*
 ID_MODEL_FROM_DATABASE=SkyBean SkyDrop

usb:v1209pDA42*
 ID_MODEL_FROM_DATABASE=Devan Lai dap42 debug access probe

usb:v1209pDAA0*
 ID_MODEL_FROM_DATABASE=darknao btClubSportWheel

usb:v1209pDADA*
 ID_MODEL_FROM_DATABASE=Rebel Technology OWL

usb:v1209pDB42*
 ID_MODEL_FROM_DATABASE=Devan Lai dapboot DFU bootloader

usb:v1209pDC21*
 ID_MODEL_FROM_DATABASE=FPGA-Computer Dual Charger

usb:v1209pDDDD*
 ID_MODEL_FROM_DATABASE=Stephan Electronics OpenCVMeter

usb:v1209pDEAD*
 ID_MODEL_FROM_DATABASE=chaosfield.at AVR-Ruler

usb:v1209pDEAF*
 ID_MODEL_FROM_DATABASE=CrapLab 4chord MIDI

usb:v1209pDED1*
 ID_MODEL_FROM_DATABASE=ManCave Made Quark One

usb:v1209pDEED*
 ID_MODEL_FROM_DATABASE=Kroneum Time Tracker

usb:v1209pDF00*
 ID_MODEL_FROM_DATABASE=D.F.Mac. @TripArts Music mi:muz:tuch

usb:v1209pDF01*
 ID_MODEL_FROM_DATABASE=D.F.Mac. @TripArts Music mi:muz:can

usb:v1209pDF02*
 ID_MODEL_FROM_DATABASE=D.F.Mac. @TripArts Music mi:muz:can-lite

usb:v1209pE116*
 ID_MODEL_FROM_DATABASE=Elijah Motornyy open-oscilloscope-stm32f3

usb:v1209pE1EC*
 ID_MODEL_FROM_DATABASE=FreeSRP

usb:v1209pE4EE*
 ID_MODEL_FROM_DATABASE=trebb keytee

usb:v1209pE500*
 ID_MODEL_FROM_DATABASE=GitleMikkelsen Helios Laser DAC

usb:v1209pEAEA*
 ID_MODEL_FROM_DATABASE=Pinscape Controller

usb:v1209pEB01*
 ID_MODEL_FROM_DATABASE=RobotMaker.club EB1

usb:v1209pEBA7*
 ID_MODEL_FROM_DATABASE=VictorGrigoryev USBscope

usb:v1209pEE00*
 ID_MODEL_FROM_DATABASE=Explore Embedded SODA(SWD OpenSource Debug Adapter)

usb:v1209pEE02*
 ID_MODEL_FROM_DATABASE=Explore Embedded Explore M3 VCOM

usb:v1209pEE03*
 ID_MODEL_FROM_DATABASE=Explore Embedded Explore M3 DFU

usb:v1209pEE2C*
 ID_MODEL_FROM_DATABASE=jaka USB2RS485

usb:v1209pEFFA*
 ID_MODEL_FROM_DATABASE=EffigyLabs atmega32u4-USB-LUFA-Bootloader

usb:v1209pEFFE*
 ID_MODEL_FROM_DATABASE=EffigyLabs Control Pedal

usb:v1209pF000*
 ID_MODEL_FROM_DATABASE=Uniti ARC

usb:v1209pF00D*
 ID_MODEL_FROM_DATABASE=RomanStepanov Shifter/Pedals Adapter

usb:v1209pF12E*
 ID_MODEL_FROM_DATABASE=Michael Bemmerl Feuermelder

usb:v1209pF16A*
 ID_MODEL_FROM_DATABASE=uri_ba Cougar TQS adapter

usb:v1209pF16C*
 ID_MODEL_FROM_DATABASE=uri_ba adapter for Vipercore's FCC3 Force Sensing Module

usb:v1209pF380*
 ID_MODEL_FROM_DATABASE=Windsor Schmidt MD-380 Open Radio Firmware

usb:v1209pF3FC*
 ID_MODEL_FROM_DATABASE=dRonin Flight controller-Lumenier Lux

usb:v1209pF49A*
 ID_MODEL_FROM_DATABASE=TimVideos.us & HDMI2USB.tv Projects FPGA Programmer & UART Bridge (PIC based Firmware)

usb:v1209pFA11*
 ID_MODEL_FROM_DATABASE=moonglow OpenXHC

usb:v1209pFA57*
 ID_MODEL_FROM_DATABASE=3DRacers Pilot Board

usb:v1209pFA58*
 ID_MODEL_FROM_DATABASE=3DRacers Pilot Board (Bootloader)

usb:v1209pFAB1*
 ID_MODEL_FROM_DATABASE=PAP Mechatronic Technology LamDiNao

usb:v1209pFACE*
 ID_MODEL_FROM_DATABASE=Protean Synth Craft

usb:v1209pFADE*
 ID_MODEL_FROM_DATABASE=Open Collector dude

usb:v1209pFEED*
 ID_MODEL_FROM_DATABASE=ProgramGyar AVR-IR Sender

usb:v1209pFFFF*
 ID_MODEL_FROM_DATABASE=Life2Device Smart House

usb:v120E*
 ID_VENDOR_FROM_DATABASE=Hudson Soft Co., Ltd

usb:v120F*
 ID_VENDOR_FROM_DATABASE=Magellan

usb:v120Fp524E*
 ID_MODEL_FROM_DATABASE=RoadMate 1475T

usb:v120Fp5260*
 ID_MODEL_FROM_DATABASE=Triton Handheld GPS Receiver (300/400/500/1500/2000)

usb:v1210*
 ID_VENDOR_FROM_DATABASE=DigiTech

usb:v1210p000D*
 ID_MODEL_FROM_DATABASE=RP250 Guitar Multi-Effects Processor

usb:v1210p0016*
 ID_MODEL_FROM_DATABASE=RP500 Guitar Multi-Effects Processor

usb:v1210p001B*
 ID_MODEL_FROM_DATABASE=RP155 Guitar Multi-Effects Processor

usb:v1210p001C*
 ID_MODEL_FROM_DATABASE=RP255 Guitar Multi-Effects Processor

usb:v121E*
 ID_VENDOR_FROM_DATABASE=Jungsoft Co., Ltd

usb:v121Ep3403*
 ID_MODEL_FROM_DATABASE=Muzio JM250 Audio Player

usb:v121F*
 ID_VENDOR_FROM_DATABASE=Panini S.p.A.

usb:v121Fp0001*
 ID_MODEL_FROM_DATABASE=VisionX without Firmware

usb:v121Fp0002*
 ID_MODEL_FROM_DATABASE=VisionX with Firmware

usb:v121Fp0010*
 ID_MODEL_FROM_DATABASE=I-Deal

usb:v121Fp0020*
 ID_MODEL_FROM_DATABASE=wI-Deal

usb:v121Fp0021*
 ID_MODEL_FROM_DATABASE=VisionX Page Scanner Extension

usb:v121Fp0030*
 ID_MODEL_FROM_DATABASE=VisionNext

usb:v121Fp0040*
 ID_MODEL_FROM_DATABASE=mI:Deal Check Scanner

usb:v121Fp0041*
 ID_MODEL_FROM_DATABASE=EverNext Check Scanner

usb:v1220*
 ID_VENDOR_FROM_DATABASE=TC Electronic

usb:v1220p000A*
 ID_MODEL_FROM_DATABASE=Hall of Fame Reverb

usb:v1220p002A*
 ID_MODEL_FROM_DATABASE=Polytune

usb:v1220p0032*
 ID_MODEL_FROM_DATABASE=Ditto X2 Looper

usb:v1220p0039*
 ID_MODEL_FROM_DATABASE=Alter Ego X4 Vintage Echo

usb:v1221*
 ID_VENDOR_FROM_DATABASE=Unknown manufacturer

usb:v1221p3234*
 ID_MODEL_FROM_DATABASE=Disk (Thumb drive)

usb:v1222*
 ID_VENDOR_FROM_DATABASE=TiPro

usb:v1222pFACA*
 ID_MODEL_FROM_DATABASE=programmable keyboard

usb:v1223*
 ID_VENDOR_FROM_DATABASE=SKYCABLE ENTERPRISE. CO., LTD.

usb:v1228*
 ID_VENDOR_FROM_DATABASE=Datapaq Limited

usb:v1228p0012*
 ID_MODEL_FROM_DATABASE=Q18 Data Logger

usb:v1228p0015*
 ID_MODEL_FROM_DATABASE=TPaq21/MPaq21 Datalogger

usb:v1228p584C*
 ID_MODEL_FROM_DATABASE=XL2 Logger

usb:v1230*
 ID_VENDOR_FROM_DATABASE=Chipidea-Microelectronica, S.A.

usb:v1233*
 ID_VENDOR_FROM_DATABASE=Denver Electronics

usb:v1233p5677*
 ID_MODEL_FROM_DATABASE=FUSB200 mp3 player

usb:v1234*
 ID_VENDOR_FROM_DATABASE=Brain Actuated Technologies

usb:v1234p0000*
 ID_MODEL_FROM_DATABASE=Neural Impulse Actuator Prototype 1.0 [NIA]

usb:v1234p4321*
 ID_MODEL_FROM_DATABASE=Human Interface Device

usb:v1234pED02*
 ID_MODEL_FROM_DATABASE=Emotiv EPOC Developer Headset Wireless Dongle

usb:v1235*
 ID_VENDOR_FROM_DATABASE=Focusrite-Novation

usb:v1235p0001*
 ID_MODEL_FROM_DATABASE=ReMOTE Audio/XStation First Edition

usb:v1235p0002*
 ID_MODEL_FROM_DATABASE=Speedio

usb:v1235p0003*
 ID_MODEL_FROM_DATABASE=RemoteSL + ZeroSL

usb:v1235p0004*
 ID_MODEL_FROM_DATABASE=ReMOTE LE

usb:v1235p0005*
 ID_MODEL_FROM_DATABASE=XIOSynth [First Edition]

usb:v1235p0006*
 ID_MODEL_FROM_DATABASE=XStation

usb:v1235p0007*
 ID_MODEL_FROM_DATABASE=XIOSynth

usb:v1235p0008*
 ID_MODEL_FROM_DATABASE=ReMOTE SL Compact

usb:v1235p0009*
 ID_MODEL_FROM_DATABASE=nIO

usb:v1235p000A*
 ID_MODEL_FROM_DATABASE=Nocturn

usb:v1235p000B*
 ID_MODEL_FROM_DATABASE=ReMOTE SL MkII

usb:v1235p000C*
 ID_MODEL_FROM_DATABASE=ZeRO MkII

usb:v1235p000E*
 ID_MODEL_FROM_DATABASE=Launchpad

usb:v1235p0010*
 ID_MODEL_FROM_DATABASE=Saffire 6

usb:v1235p0011*
 ID_MODEL_FROM_DATABASE=Ultranova

usb:v1235p0012*
 ID_MODEL_FROM_DATABASE=Nocturn Keyboard

usb:v1235p0013*
 ID_MODEL_FROM_DATABASE=VRM Box

usb:v1235p0014*
 ID_MODEL_FROM_DATABASE=VRM Box Audio Class (2-out)

usb:v1235p0015*
 ID_MODEL_FROM_DATABASE=Dicer

usb:v1235p0016*
 ID_MODEL_FROM_DATABASE=Ultranova

usb:v1235p0018*
 ID_MODEL_FROM_DATABASE=Twitch

usb:v1235p0019*
 ID_MODEL_FROM_DATABASE=Impulse 25

usb:v1235p001A*
 ID_MODEL_FROM_DATABASE=Impulse 49

usb:v1235p001B*
 ID_MODEL_FROM_DATABASE=Impulse 61

usb:v1235p0032*
 ID_MODEL_FROM_DATABASE=Launchkey 61

usb:v1235p0069*
 ID_MODEL_FROM_DATABASE=Launchpad MK2

usb:v1235p0102*
 ID_MODEL_FROM_DATABASE=LaunchKey Mini MK3

usb:v1235p4661*
 ID_MODEL_FROM_DATABASE=ReMOTE25

usb:v1235p8000*
 ID_MODEL_FROM_DATABASE=Scarlett 18i6

usb:v1235p8002*
 ID_MODEL_FROM_DATABASE=Scarlett 8i6

usb:v1235p8006*
 ID_MODEL_FROM_DATABASE=Focusrite Scarlett 2i2

usb:v1235p8008*
 ID_MODEL_FROM_DATABASE=Saffire 6

usb:v1235p800A*
 ID_MODEL_FROM_DATABASE=Scarlett 2i4

usb:v1235p800C*
 ID_MODEL_FROM_DATABASE=Scarlett 18i20

usb:v1235p800E*
 ID_MODEL_FROM_DATABASE=iTrack Solo

usb:v1235p8010*
 ID_MODEL_FROM_DATABASE=Forte

usb:v1235p8012*
 ID_MODEL_FROM_DATABASE=Scarlett 6i6

usb:v1235p8014*
 ID_MODEL_FROM_DATABASE=Scarlett 18i8

usb:v1235p8016*
 ID_MODEL_FROM_DATABASE=Focusrite Scarlett 2i2

usb:v1235p8202*
 ID_MODEL_FROM_DATABASE=Focusrite Scarlett 2i2 2nd Gen

usb:v1235p8203*
 ID_MODEL_FROM_DATABASE=Focusrite Scarlett 6i6

usb:v1235p8204*
 ID_MODEL_FROM_DATABASE=Scarlett 18i8 2nd Gen

usb:v1235p8210*
 ID_MODEL_FROM_DATABASE=Scarlett 2i2 3rd Gen

usb:v1235p8211*
 ID_MODEL_FROM_DATABASE=Scarlett Solo (3rd Gen.)

usb:v1235p8214*
 ID_MODEL_FROM_DATABASE=Scarlett 18i8 3rd Gen

usb:v1235p8215*
 ID_MODEL_FROM_DATABASE=Scarlett 18i20 3rd Gen

usb:v1241*
 ID_VENDOR_FROM_DATABASE=Belkin

usb:v1241p0504*
 ID_MODEL_FROM_DATABASE=Wireless Trackball Keyboard

usb:v1241p1111*
 ID_MODEL_FROM_DATABASE=Mouse

usb:v1241p1122*
 ID_MODEL_FROM_DATABASE=Typhoon Stream Optical Mouse USB+PS/2

usb:v1241p1155*
 ID_MODEL_FROM_DATABASE=Memorex Optical ScrollPro Mouse SE MX4600

usb:v1241p1166*
 ID_MODEL_FROM_DATABASE=MI-2150 Trust Mouse

usb:v1241p1177*
 ID_MODEL_FROM_DATABASE=Mouse [HT82M21A]

usb:v1241p1503*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v1241p1603*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v1241pF767*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v1243*
 ID_VENDOR_FROM_DATABASE=Holtek Semiconductor, Inc.

usb:v1243pE000*
 ID_MODEL_FROM_DATABASE=Unique NFC/RFID reader (keyboard emulation)

usb:v124A*
 ID_VENDOR_FROM_DATABASE=AirVast

usb:v124Ap168B*
 ID_MODEL_FROM_DATABASE=PRISM3 WLAN Adapter

usb:v124Ap4017*
 ID_MODEL_FROM_DATABASE=PC-Chips 802.11b Adapter

usb:v124Ap4023*
 ID_MODEL_FROM_DATABASE=WM168g 802.11bg Wireless Adapter [Intersil ISL3886]

usb:v124Ap4025*
 ID_MODEL_FROM_DATABASE=IOGear GWU513 v2 802.11bg Wireless Adapter [Intersil ISL3887]

usb:v124B*
 ID_VENDOR_FROM_DATABASE=Nyko (Honey Bee)

usb:v124Bp4D01*
 ID_MODEL_FROM_DATABASE=Airflo EX Joystick

usb:v124C*
 ID_VENDOR_FROM_DATABASE=MXI - Memory Experts International, Inc.

usb:v124Cp3200*
 ID_MODEL_FROM_DATABASE=Stealth MXP 1GB

usb:v125C*
 ID_VENDOR_FROM_DATABASE=Apogee Inc.

usb:v125Cp0010*
 ID_MODEL_FROM_DATABASE=Alta series CCD

usb:v125D*
 ID_VENDOR_FROM_DATABASE=JMicron

usb:v125Dp0580*
 ID_MODEL_FROM_DATABASE=JM580

usb:v125F*
 ID_VENDOR_FROM_DATABASE=A-DATA Technology Co., Ltd.

usb:v125Fp312A*
 ID_MODEL_FROM_DATABASE=Superior S102

usb:v125Fp312B*
 ID_MODEL_FROM_DATABASE=Superior S102 Pro

usb:v125FpA15A*
 ID_MODEL_FROM_DATABASE=DashDrive Durable HD710 portable HDD various size

usb:v125FpA22A*
 ID_MODEL_FROM_DATABASE=DashDrive Elite HE720 500GB

usb:v125FpA31A*
 ID_MODEL_FROM_DATABASE=HV620 Portable HDD

usb:v125FpA91A*
 ID_MODEL_FROM_DATABASE=Portable HDD CH91

usb:v125FpC08A*
 ID_MODEL_FROM_DATABASE=C008 Flash Drive

usb:v125FpC81A*
 ID_MODEL_FROM_DATABASE=Flash drive

usb:v125FpC93A*
 ID_MODEL_FROM_DATABASE=4GB Pen Drive

usb:v125FpC96A*
 ID_MODEL_FROM_DATABASE=C906 Flash Drive

usb:v125FpCB10*
 ID_MODEL_FROM_DATABASE=Dash Drive UV100

usb:v125FpCB20*
 ID_MODEL_FROM_DATABASE=DashDrive UV110

usb:v1260*
 ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.

usb:v1260pEE22*
 ID_MODEL_FROM_DATABASE=SMC2862W-G v3 EZ Connect 802.11g Adapter [Intersil ISL3887]

usb:v1264*
 ID_VENDOR_FROM_DATABASE=Covidien Energy-based Devices

usb:v1266*
 ID_VENDOR_FROM_DATABASE=Pirelli Broadband Solutions

usb:v1266p6302*
 ID_MODEL_FROM_DATABASE=Fastweb DRG A226M ADSL Router

usb:v1267*
 ID_VENDOR_FROM_DATABASE=Logic3 / SpectraVideo plc

usb:v1267p0103*
 ID_MODEL_FROM_DATABASE=G-720 Keyboard

usb:v1267p0201*
 ID_MODEL_FROM_DATABASE=Mouse

usb:v1267p0210*
 ID_MODEL_FROM_DATABASE=LG Optical Mouse 3D-310

usb:v1267pA001*
 ID_MODEL_FROM_DATABASE=JP260 PC Game Pad

usb:v1267pC002*
 ID_MODEL_FROM_DATABASE=Wireless Optical Mouse

usb:v126C*
 ID_VENDOR_FROM_DATABASE=Aristocrat Technologies

usb:v126D*
 ID_VENDOR_FROM_DATABASE=Bel Stewart

usb:v126E*
 ID_VENDOR_FROM_DATABASE=Strobe Data, Inc.

usb:v126F*
 ID_VENDOR_FROM_DATABASE=TwinMOS

usb:v126Fp0163*
 ID_MODEL_FROM_DATABASE=Storage device (2gB thumb drive)

usb:v126Fp1325*
 ID_MODEL_FROM_DATABASE=Mobile Disk

usb:v126Fp2168*
 ID_MODEL_FROM_DATABASE=Mobile Disk III

usb:v126FpA006*
 ID_MODEL_FROM_DATABASE=G240 802.11bg

usb:v1274*
 ID_VENDOR_FROM_DATABASE=Ensoniq

usb:v1275*
 ID_VENDOR_FROM_DATABASE=Xaxero Marine Software Engineering, Ltd.

usb:v1275p0002*
 ID_MODEL_FROM_DATABASE=WeatherFax 2000 Demodulator

usb:v1275p0080*
 ID_MODEL_FROM_DATABASE=SkyEye Weather Satellite Receiver

usb:v1275p0090*
 ID_MODEL_FROM_DATABASE=WeatherFax 2000 Demodulator

usb:v1278*
 ID_VENDOR_FROM_DATABASE=Starlight Xpress

usb:v1278p0105*
 ID_MODEL_FROM_DATABASE=SXV-M5

usb:v1278p0107*
 ID_MODEL_FROM_DATABASE=SXV-M7

usb:v1278p0109*
 ID_MODEL_FROM_DATABASE=SXV-M9

usb:v1278p0110*
 ID_MODEL_FROM_DATABASE=SXVF-H16

usb:v1278p0115*
 ID_MODEL_FROM_DATABASE=SXVF-H5

usb:v1278p0119*
 ID_MODEL_FROM_DATABASE=SXV-H9

usb:v1278p0135*
 ID_MODEL_FROM_DATABASE=SXVF-H35

usb:v1278p0136*
 ID_MODEL_FROM_DATABASE=SXVF-H36

usb:v1278p0200*
 ID_MODEL_FROM_DATABASE=SXV interface for paraller MX cameras

usb:v1278p0305*
 ID_MODEL_FROM_DATABASE=SXV-M5C

usb:v1278p0307*
 ID_MODEL_FROM_DATABASE=SXV-M7C

usb:v1278p0319*
 ID_MODEL_FROM_DATABASE=SXV-H9C

usb:v1278p0325*
 ID_MODEL_FROM_DATABASE=SXV-M25C

usb:v1278p0326*
 ID_MODEL_FROM_DATABASE=SXVR-M26C

usb:v1278p0507*
 ID_MODEL_FROM_DATABASE=Lodestar autoguider

usb:v1278p0517*
 ID_MODEL_FROM_DATABASE=CoStar

usb:v1283*
 ID_VENDOR_FROM_DATABASE=zebris Medical GmbH

usb:v1283p0100*
 ID_MODEL_FROM_DATABASE=USB-RS232 Adaptor

usb:v1283p0110*
 ID_MODEL_FROM_DATABASE=CMS20

usb:v1283p0111*
 ID_MODEL_FROM_DATABASE=CMS 10

usb:v1283p0112*
 ID_MODEL_FROM_DATABASE=CMS 05

usb:v1283p0114*
 ID_MODEL_FROM_DATABASE=ARCUS digma PC-Interface

usb:v1283p0115*
 ID_MODEL_FROM_DATABASE=SAM Axioquick recorder

usb:v1283p0116*
 ID_MODEL_FROM_DATABASE=SAM Axioquick recorder

usb:v1283p0120*
 ID_MODEL_FROM_DATABASE=emed-X

usb:v1283p0121*
 ID_MODEL_FROM_DATABASE=emed-AT

usb:v1283p0130*
 ID_MODEL_FROM_DATABASE=PDM

usb:v1283p0150*
 ID_MODEL_FROM_DATABASE=CMS10GI (Golf)

usb:v1286*
 ID_VENDOR_FROM_DATABASE=Marvell Semiconductor, Inc.

usb:v1286p00BC*
 ID_MODEL_FROM_DATABASE=Marvell JTAG Probe

usb:v1286p1FAB*
 ID_MODEL_FROM_DATABASE=88W8338 [Libertas] 802.11g

usb:v1286p2001*
 ID_MODEL_FROM_DATABASE=88W8388 802.11a/b/g WLAN

usb:v1286p2006*
 ID_MODEL_FROM_DATABASE=88W8362 802.11n WLAN

usb:v1286p203C*
 ID_MODEL_FROM_DATABASE=K30326 802.11bgn Wireless Module [Marvell 88W8786U]

usb:v1286p204C*
 ID_MODEL_FROM_DATABASE=Bluetooth and Wireless LAN Composite

usb:v1286p8001*
 ID_MODEL_FROM_DATABASE=BLOB boot loader firmware

usb:v1291*
 ID_VENDOR_FROM_DATABASE=Qualcomm Flarion Technologies, Inc. / Leadtek Research, Inc.

usb:v1291p0010*
 ID_MODEL_FROM_DATABASE=FDM 2xxx Flash-OFDM modem

usb:v1291p0011*
 ID_MODEL_FROM_DATABASE=LR7F06/LR7F14 Flash-OFDM modem

usb:v1292*
 ID_VENDOR_FROM_DATABASE=Innomedia

usb:v1292p0258*
 ID_MODEL_FROM_DATABASE=Creative Labs VoIP Blaster

usb:v1292p4154*
 ID_MODEL_FROM_DATABASE=Retro Link Atari cable

usb:v1293*
 ID_VENDOR_FROM_DATABASE=Belkin Components [hex]

usb:v1293p0002*
 ID_MODEL_FROM_DATABASE=F5U002 Parallel Port [uss720]

usb:v1293p2101*
 ID_MODEL_FROM_DATABASE=104-key keyboard

usb:v1294*
 ID_VENDOR_FROM_DATABASE=RISO KAGAKU CORP.

usb:v1294p1320*
 ID_MODEL_FROM_DATABASE=Webmail Notifier

usb:v1297*
 ID_VENDOR_FROM_DATABASE=DekTec

usb:v1297p020F*
 ID_MODEL_FROM_DATABASE=DTU-215 Multi-Standard Modulator

usb:v129B*
 ID_VENDOR_FROM_DATABASE=CyberTAN Technology

usb:v129Bp160B*
 ID_MODEL_FROM_DATABASE=Siemens S30853-S1031-R351 802.11g Wireless Adapter [Atheros AR5523]

usb:v129Bp160C*
 ID_MODEL_FROM_DATABASE=Siemens S30853-S1038-R351 802.11g Wireless Adapter [Atheros AR5523]

usb:v129Bp1666*
 ID_MODEL_FROM_DATABASE=TG54USB 802.11bg

usb:v129Bp1667*
 ID_MODEL_FROM_DATABASE=802.11bg

usb:v129Bp1828*
 ID_MODEL_FROM_DATABASE=Gigaset USB Adapter 300

usb:v12A7*
 ID_VENDOR_FROM_DATABASE=Trendchip Technologies Corp.

usb:v12AB*
 ID_VENDOR_FROM_DATABASE=Honey Bee Electronic International Ltd.

usb:v12ABp0004*
 ID_MODEL_FROM_DATABASE=Dance Pad for Xbox 360

usb:v12ABp0301*
 ID_MODEL_FROM_DATABASE=Afterglow Wired Controller for Xbox 360

usb:v12ABp0303*
 ID_MODEL_FROM_DATABASE=Mortal Kombat Klassic FightStick for Xbox 360

usb:v12ABp8809*
 ID_MODEL_FROM_DATABASE=Dance Dance Revolution Dance Pad

usb:v12B8*
 ID_VENDOR_FROM_DATABASE=Zhejiang Xinya Electronic Technology Co., Ltd.

usb:v12B9*
 ID_VENDOR_FROM_DATABASE=E28

usb:v12BA*
 ID_VENDOR_FROM_DATABASE=Licensed by Sony Computer Entertainment America

usb:v12BAp0032*
 ID_MODEL_FROM_DATABASE=Wireless Stereo Headset

usb:v12BAp0042*
 ID_MODEL_FROM_DATABASE=Wireless Stereo Headset

usb:v12BAp00FF*
 ID_MODEL_FROM_DATABASE=Rocksmith Guitar Adapter

usb:v12BAp0100*
 ID_MODEL_FROM_DATABASE=RedOctane Guitar for PlayStation(R)3

usb:v12BAp0120*
 ID_MODEL_FROM_DATABASE=RedOctane Drum Kit for PlayStation(R)3

usb:v12BAp0200*
 ID_MODEL_FROM_DATABASE=Harmonix Guitar for PlayStation(R)3

usb:v12BAp0210*
 ID_MODEL_FROM_DATABASE=Harmonix Drum Kit for PlayStation(R)3

usb:v12BD*
 ID_VENDOR_FROM_DATABASE=Gembird

usb:v12BDpD012*
 ID_MODEL_FROM_DATABASE=JPD Shockforce gamepad

usb:v12BDpD015*
 ID_MODEL_FROM_DATABASE=Generic 4-button NES USB Controller

usb:v12C4*
 ID_VENDOR_FROM_DATABASE=Autocue Group Ltd

usb:v12C4p0006*
 ID_MODEL_FROM_DATABASE=Teleprompter Two-button Hand Control (v1)

usb:v12C4p0008*
 ID_MODEL_FROM_DATABASE=Teleprompter Foot Control (v1)

usb:v12CF*
 ID_VENDOR_FROM_DATABASE=DEXIN

usb:v12CFp0170*
 ID_MODEL_FROM_DATABASE=Tt eSPORTS BLACK Gaming mouse

usb:v12CFp600B*
 ID_MODEL_FROM_DATABASE=Cougar 600M Gaming Mouse

usb:v12D1*
 ID_VENDOR_FROM_DATABASE=Huawei Technologies Co., Ltd.

usb:v12D1p1001*
 ID_MODEL_FROM_DATABASE=E161/E169/E620/E800 HSDPA Modem

usb:v12D1p1003*
 ID_MODEL_FROM_DATABASE=E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem

usb:v12D1p1004*
 ID_MODEL_FROM_DATABASE=E220 (bis)

usb:v12D1p1009*
 ID_MODEL_FROM_DATABASE=U120

usb:v12D1p1010*
 ID_MODEL_FROM_DATABASE=ETS2252+ CDMA Fixed Wireless Terminal

usb:v12D1p1021*
 ID_MODEL_FROM_DATABASE=U8520

usb:v12D1p1035*
 ID_MODEL_FROM_DATABASE=U8120

usb:v12D1p1037*
 ID_MODEL_FROM_DATABASE=Ideos

usb:v12D1p1038*
 ID_MODEL_FROM_DATABASE=Ideos (debug mode)

usb:v12D1p1039*
 ID_MODEL_FROM_DATABASE=Ideos (tethering mode)

usb:v12D1p1052*
 ID_MODEL_FROM_DATABASE=MT7-L09 / P7-L10 / Y330-U01

usb:v12D1p1053*
 ID_MODEL_FROM_DATABASE=P7-L10 (PTP)

usb:v12D1p1054*
 ID_MODEL_FROM_DATABASE=P7-L10 (PTP + debug)

usb:v12D1p1079*
 ID_MODEL_FROM_DATABASE=GEM-703LT [Honor/MediaPad X2]

usb:v12D1p107E*
 ID_MODEL_FROM_DATABASE=P10 smartphone

usb:v12D1p1404*
 ID_MODEL_FROM_DATABASE=EM770W miniPCI WCDMA Modem

usb:v12D1p1406*
 ID_MODEL_FROM_DATABASE=E1750

usb:v12D1p140B*
 ID_MODEL_FROM_DATABASE=EC1260 Wireless Data Modem HSD USB Card

usb:v12D1p140C*
 ID_MODEL_FROM_DATABASE=E180v

usb:v12D1p1412*
 ID_MODEL_FROM_DATABASE=EC168c

usb:v12D1p1436*
 ID_MODEL_FROM_DATABASE=Broadband stick

usb:v12D1p1446*
 ID_MODEL_FROM_DATABASE=HSPA modem

usb:v12D1p1465*
 ID_MODEL_FROM_DATABASE=K3765 HSPA

usb:v12D1p14AC*
 ID_MODEL_FROM_DATABASE=E815

usb:v12D1p14C3*
 ID_MODEL_FROM_DATABASE=K5005 Vodafone LTE/UMTS/GSM Modem/Networkcard

usb:v12D1p14C8*
 ID_MODEL_FROM_DATABASE=K5005 Vodafone LTE/UMTS/GSM MOdem/Networkcard

usb:v12D1p14C9*
 ID_MODEL_FROM_DATABASE=K3770 3G Modem

usb:v12D1p14CF*
 ID_MODEL_FROM_DATABASE=K3772

usb:v12D1p14D1*
 ID_MODEL_FROM_DATABASE=K3770 3G Modem (Mass Storage Mode)

usb:v12D1p14DB*
 ID_MODEL_FROM_DATABASE=E353/E3131

usb:v12D1p14DC*
 ID_MODEL_FROM_DATABASE=E3372 LTE/UMTS/GSM HiLink Modem/Networkcard

usb:v12D1p14F1*
 ID_MODEL_FROM_DATABASE=Gobi 3000 HSPA+ Modem

usb:v12D1p14FE*
 ID_MODEL_FROM_DATABASE=Modem (Mass Storage Mode)

usb:v12D1p1501*
 ID_MODEL_FROM_DATABASE=Pulse

usb:v12D1p1505*
 ID_MODEL_FROM_DATABASE=E398 LTE/UMTS/GSM Modem/Networkcard

usb:v12D1p1506*
 ID_MODEL_FROM_DATABASE=Modem/Networkcard

usb:v12D1p150A*
 ID_MODEL_FROM_DATABASE=E398 LTE/UMTS/GSM Modem/Networkcard

usb:v12D1p1520*
 ID_MODEL_FROM_DATABASE=K3765 HSPA

usb:v12D1p1521*
 ID_MODEL_FROM_DATABASE=K4505 HSPA+

usb:v12D1p155A*
 ID_MODEL_FROM_DATABASE=R205 Mobile WiFi (CD-ROM mode)

usb:v12D1p1573*
 ID_MODEL_FROM_DATABASE=ME909u-521 mPCIe LTE/GPS card

usb:v12D1p1575*
 ID_MODEL_FROM_DATABASE=K5150 LTE modem

usb:v12D1p15BB*
 ID_MODEL_FROM_DATABASE=ME936 LTE/HSDPA+ 4G modem

usb:v12D1p15C1*
 ID_MODEL_FROM_DATABASE=ME906s LTE M.2 Module

usb:v12D1p15CA*
 ID_MODEL_FROM_DATABASE=E3131 3G/UMTS/HSPA+ Modem (Mass Storage Mode)

usb:v12D1p1805*
 ID_MODEL_FROM_DATABASE=AT&T Go Phone U2800A phone

usb:v12D1p1C05*
 ID_MODEL_FROM_DATABASE=Broadband stick (modem on)

usb:v12D1p1C0B*
 ID_MODEL_FROM_DATABASE=E173s 3G broadband stick (modem off)

usb:v12D1p1C20*
 ID_MODEL_FROM_DATABASE=R205 Mobile WiFi (Charging)

usb:v12D1p1D50*
 ID_MODEL_FROM_DATABASE=ET302s TD-SCDMA/TD-HSDPA Mobile Broadband

usb:v12D1p1F01*
 ID_MODEL_FROM_DATABASE=E353/E3131 (Mass storage mode)

usb:v12D1p1F16*
 ID_MODEL_FROM_DATABASE=K5150 LTE modem (Mass Storage Mode)

usb:v12D1p360E*
 ID_MODEL_FROM_DATABASE=Y330-U01 (MTP Mode)

usb:v12D1p380B*
 ID_MODEL_FROM_DATABASE=WiMAX USB modem(s)

usb:v12D2*
 ID_VENDOR_FROM_DATABASE=LINE TECH INDUSTRIAL CO., LTD.

usb:v12D3*
 ID_VENDOR_FROM_DATABASE=LINAK

usb:v12D3p0002*
 ID_MODEL_FROM_DATABASE=DeskLine CBD Control Box

usb:v12D6*
 ID_VENDOR_FROM_DATABASE=EMS Dr. Thomas Wuensche

usb:v12D6p0444*
 ID_MODEL_FROM_DATABASE=CPC-USB/ARM7

usb:v12D6p0888*
 ID_MODEL_FROM_DATABASE=CPC-USB/M16C

usb:v12D7*
 ID_VENDOR_FROM_DATABASE=BETTER WIRE FACTORY CO., LTD.

usb:v12D8*
 ID_VENDOR_FROM_DATABASE=Araneus Information Systems Oy

usb:v12D8p0001*
 ID_MODEL_FROM_DATABASE=Alea I True Random Number Generator

usb:v12E6*
 ID_VENDOR_FROM_DATABASE=Waldorf Music GmbH

usb:v12E6p0013*
 ID_MODEL_FROM_DATABASE=Blofeld

usb:v12EF*
 ID_VENDOR_FROM_DATABASE=Tapwave, Inc.

usb:v12EFp0100*
 ID_MODEL_FROM_DATABASE=Tapwave Handheld [Tapwave Zodiac]

usb:v12F2*
 ID_VENDOR_FROM_DATABASE=ViewPlus Technologies, Inc.

usb:v12F2p000A*
 ID_MODEL_FROM_DATABASE=Braille embosser [SpotDot Emprint]

usb:v12F5*
 ID_VENDOR_FROM_DATABASE=Dynamic System Electronics Corp.

usb:v12F7*
 ID_VENDOR_FROM_DATABASE=Memorex Products, Inc.

usb:v12F7p1A00*
 ID_MODEL_FROM_DATABASE=TD Classic 003B

usb:v12F7p1E23*
 ID_MODEL_FROM_DATABASE=TravelDrive 2007 Flash Drive

usb:v12FD*
 ID_VENDOR_FROM_DATABASE=AIN Comm. Technology Co., Ltd

usb:v12FDp1001*
 ID_MODEL_FROM_DATABASE=AWU2000b 802.11b Stick

usb:v12FF*
 ID_VENDOR_FROM_DATABASE=Fascinating Electronics, Inc.

usb:v12FFp0101*
 ID_MODEL_FROM_DATABASE=Advanced RC Servo Controller

usb:v1306*
 ID_VENDOR_FROM_DATABASE=FM20 Barcode Scanner

usb:v1307*
 ID_VENDOR_FROM_DATABASE=Transcend Information, Inc.

usb:v1307p0163*
 ID_MODEL_FROM_DATABASE=256MB/512MB/1GB Flash Drive

usb:v1307p0165*
 ID_MODEL_FROM_DATABASE=2GB/4GB/8GB Flash Drive

usb:v1307p0190*
 ID_MODEL_FROM_DATABASE=Ut190 8 GB Flash Drive with MicroSD reader

usb:v1307p0310*
 ID_MODEL_FROM_DATABASE=SD/MicroSD CardReader [hama]/IT1327E [Basic Line flash drive]

usb:v1307p0330*
 ID_MODEL_FROM_DATABASE=63-in-1 Multi-Card Reader/Writer

usb:v1307p0361*
 ID_MODEL_FROM_DATABASE=CR-75: 51-in-1 Card Reader/Writer [Sakar]

usb:v1307p1169*
 ID_MODEL_FROM_DATABASE=TS2GJF210 JetFlash 210 2GB

usb:v1307p1171*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v1308*
 ID_VENDOR_FROM_DATABASE=Shuttle, Inc.

usb:v1308p0003*
 ID_MODEL_FROM_DATABASE=VFD Module

usb:v1308pC001*
 ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver

usb:v1310*
 ID_VENDOR_FROM_DATABASE=Roper

usb:v1310p0001*
 ID_MODEL_FROM_DATABASE=Class 1 Bluetooth Dongle

usb:v1312*
 ID_VENDOR_FROM_DATABASE=ICS Electronics

usb:v1313*
 ID_VENDOR_FROM_DATABASE=ThorLabs

usb:v1313p0010*
 ID_MODEL_FROM_DATABASE=LC1 Linear Camera (Jungo)

usb:v1313p0011*
 ID_MODEL_FROM_DATABASE=SP1 Spectrometer (Jungo)

usb:v1313p0012*
 ID_MODEL_FROM_DATABASE=SP2 Spectrometer (Jungo)

usb:v1313p0110*
 ID_MODEL_FROM_DATABASE=LC1 Linear Camera (VISA)

usb:v1313p0111*
 ID_MODEL_FROM_DATABASE=SP1 Spectrometer (VISA)

usb:v1313p0112*
 ID_MODEL_FROM_DATABASE=SP2 Spectrometer (VISA)

usb:v1313p8001*
 ID_MODEL_FROM_DATABASE=TXP-Series Slot (TXP5001, TXP5004)

usb:v1313p8011*
 ID_MODEL_FROM_DATABASE=BP1 Slit Beam Profiler

usb:v1313p8012*
 ID_MODEL_FROM_DATABASE=BC106 Camera Beam Profiler

usb:v1313p8013*
 ID_MODEL_FROM_DATABASE=WFS10 Wavefront Sensor

usb:v1313p8016*
 ID_MODEL_FROM_DATABASE=DMP40 Deformable Mirror

usb:v1313p8017*
 ID_MODEL_FROM_DATABASE=BC206 Camera Beam Profiler

usb:v1313p8019*
 ID_MODEL_FROM_DATABASE=BP2 Multi Slit Beam Profiler

usb:v1313p8020*
 ID_MODEL_FROM_DATABASE=PM300 Optical Power Meter

usb:v1313p8021*
 ID_MODEL_FROM_DATABASE=PM300E Optical Power and Energy Meter

usb:v1313p8022*
 ID_MODEL_FROM_DATABASE=PM320E Optical Power and Energy Meter

usb:v1313p8025*
 ID_MODEL_FROM_DATABASE=WFS20 Wavefront Sensor

usb:v1313p8030*
 ID_MODEL_FROM_DATABASE=ER100 Extinction Ratio Meter

usb:v1313p8039*
 ID_MODEL_FROM_DATABASE=PAX1000 Rotating Waveplate Polarimeter

usb:v1313p8047*
 ID_MODEL_FROM_DATABASE=CLD1000

usb:v1313p8048*
 ID_MODEL_FROM_DATABASE=TED4000

usb:v1313p8049*
 ID_MODEL_FROM_DATABASE=LDC4000

usb:v1313p804A*
 ID_MODEL_FROM_DATABASE=ITC4000

usb:v1313p8058*
 ID_MODEL_FROM_DATABASE=LC-100

usb:v1313p8060*
 ID_MODEL_FROM_DATABASE=DC3100

usb:v1313p8061*
 ID_MODEL_FROM_DATABASE=DC4100

usb:v1313p8062*
 ID_MODEL_FROM_DATABASE=DC2100

usb:v1313p8065*
 ID_MODEL_FROM_DATABASE=CS2010

usb:v1313p8066*
 ID_MODEL_FROM_DATABASE=DC4104

usb:v1313p8070*
 ID_MODEL_FROM_DATABASE=PM100D

usb:v1313p8072*
 ID_MODEL_FROM_DATABASE=PM100USB Power and Energy Meter Interface

usb:v1313p8073*
 ID_MODEL_FROM_DATABASE=PM106 Wireless Powermeter Photodiode Sensor

usb:v1313p8074*
 ID_MODEL_FROM_DATABASE=PM160T Wireless Powermeter Thermal Sensor

usb:v1313p8075*
 ID_MODEL_FROM_DATABASE=PM400 Handheld Optical Power/Energy Meter

usb:v1313p8076*
 ID_MODEL_FROM_DATABASE=PM101 Serial PD Power Meter

usb:v1313p8078*
 ID_MODEL_FROM_DATABASE=PM100D Compact Power and Energy Meter Console

usb:v1313p8080*
 ID_MODEL_FROM_DATABASE=CCS100 - Compact Spectrometer

usb:v1313p8081*
 ID_MODEL_FROM_DATABASE=CCS100 Compact Spectrometer

usb:v1313p8083*
 ID_MODEL_FROM_DATABASE=CCS125 Spectrometer

usb:v1313p8085*
 ID_MODEL_FROM_DATABASE=CCS150 UV Spectrometer

usb:v1313p8087*
 ID_MODEL_FROM_DATABASE=CCS175 NIR Spectrometer

usb:v1313p8089*
 ID_MODEL_FROM_DATABASE=CCS200 Wide Range Spectrometer

usb:v1313p8090*
 ID_MODEL_FROM_DATABASE=SPCM Single Photon Counter

usb:v1313p80A0*
 ID_MODEL_FROM_DATABASE=LC100 series smart line camera

usb:v1313p80B0*
 ID_MODEL_FROM_DATABASE=PM200 Handheld Power and Energy Meter

usb:v1313p80C0*
 ID_MODEL_FROM_DATABASE=DC2200

usb:v1313p80C9*
 ID_MODEL_FROM_DATABASE=MTD Series

usb:v1313p80F0*
 ID_MODEL_FROM_DATABASE=TSP01

usb:v1313p80F1*
 ID_MODEL_FROM_DATABASE=M2SET Dongle

usb:v1313p8180*
 ID_MODEL_FROM_DATABASE=OCT Probe Controller (OCTH-1300)

usb:v1313p8181*
 ID_MODEL_FROM_DATABASE=OCT Device

usb:v131D*
 ID_VENDOR_FROM_DATABASE=Natural Point

usb:v131Dp0155*
 ID_MODEL_FROM_DATABASE=TrackIR 3 Pro Head Tracker

usb:v131Dp0156*
 ID_MODEL_FROM_DATABASE=TrackIR 4 Pro Head Tracker

usb:v131Dp0158*
 ID_MODEL_FROM_DATABASE=TrackIR 5 Pro Head Tracker

usb:v1325*
 ID_VENDOR_FROM_DATABASE=ams AG

usb:v1325p00D6*
 ID_MODEL_FROM_DATABASE=I2C/SPI InterfaceBoard

usb:v1325p0C08*
 ID_MODEL_FROM_DATABASE=Embedded Linux Sensor Bridge

usb:v1325p4002*
 ID_MODEL_FROM_DATABASE=I2C Dongle

usb:v132A*
 ID_VENDOR_FROM_DATABASE=Envara Inc.

usb:v132Ap1502*
 ID_MODEL_FROM_DATABASE=WiND 802.11abg / 802.11bg WLAN

usb:v132B*
 ID_VENDOR_FROM_DATABASE=Konica Minolta

usb:v132Bp0000*
 ID_MODEL_FROM_DATABASE=Dimage A2 Camera

usb:v132Bp0001*
 ID_MODEL_FROM_DATABASE=Minolta DiMAGE A2 (ptp)

usb:v132Bp0003*
 ID_MODEL_FROM_DATABASE=Dimage Xg Camera

usb:v132Bp0006*
 ID_MODEL_FROM_DATABASE=Dimage Z2 Camera

usb:v132Bp0007*
 ID_MODEL_FROM_DATABASE=Minolta DiMAGE Z2 (PictBridge mode)

usb:v132Bp0008*
 ID_MODEL_FROM_DATABASE=Dimage X21 Camera

usb:v132Bp000A*
 ID_MODEL_FROM_DATABASE=Dimage Scan Dual IV AF-3200 (2891)

usb:v132Bp000B*
 ID_MODEL_FROM_DATABASE=Dimage Z10 Camera

usb:v132Bp000D*
 ID_MODEL_FROM_DATABASE=Dimage X50 Camera [storage?]

usb:v132Bp000F*
 ID_MODEL_FROM_DATABASE=Dimage X50 Camera [p2p?]

usb:v132Bp0010*
 ID_MODEL_FROM_DATABASE=Dimage G600 Camera

usb:v132Bp0012*
 ID_MODEL_FROM_DATABASE=Dimage Scan Elite 5400 II (2892)

usb:v132Bp0013*
 ID_MODEL_FROM_DATABASE=Dimage X31 Camera

usb:v132Bp0015*
 ID_MODEL_FROM_DATABASE=Dimage G530 Camera

usb:v132Bp0017*
 ID_MODEL_FROM_DATABASE=Dimage Z3 Camera

usb:v132Bp0018*
 ID_MODEL_FROM_DATABASE=Minolta DiMAGE Z3 (PictBridge mode)

usb:v132Bp0019*
 ID_MODEL_FROM_DATABASE=Dimage A200 Camera

usb:v132Bp0021*
 ID_MODEL_FROM_DATABASE=Dimage Z5 Camera

usb:v132Bp0022*
 ID_MODEL_FROM_DATABASE=Minolta DiMAGE Z5 (PictBridge mode)

usb:v132Bp002C*
 ID_MODEL_FROM_DATABASE=Dynax 5D camera

usb:v132Bp2001*
 ID_MODEL_FROM_DATABASE=Magicolor 2400w

usb:v132Bp2004*
 ID_MODEL_FROM_DATABASE=Magicolor 5430DL

usb:v132Bp2005*
 ID_MODEL_FROM_DATABASE=Magicolor 2430 DL

usb:v132Bp2029*
 ID_MODEL_FROM_DATABASE=Magicolor 5440DL

usb:v132Bp2030*
 ID_MODEL_FROM_DATABASE=PagePro 1350E(N)

usb:v132Bp2033*
 ID_MODEL_FROM_DATABASE=PagePro 1400W

usb:v132Bp2043*
 ID_MODEL_FROM_DATABASE=Magicolor 2530DL

usb:v132Bp2045*
 ID_MODEL_FROM_DATABASE=Magicolor 2500W

usb:v132Bp2049*
 ID_MODEL_FROM_DATABASE=Magicolor 2490MF

usb:v133E*
 ID_VENDOR_FROM_DATABASE=Kemper Digital GmbH

usb:v133Ep0815*
 ID_MODEL_FROM_DATABASE=Virus TI Desktop

usb:v1342*
 ID_VENDOR_FROM_DATABASE=Mobility

usb:v1342p0200*
 ID_MODEL_FROM_DATABASE=EasiDock 200 Hub

usb:v1342p0201*
 ID_MODEL_FROM_DATABASE=EasiDock 200 Keyboard and Mouse Port

usb:v1342p0202*
 ID_MODEL_FROM_DATABASE=EasiDock 200 Serial Port

usb:v1342p0203*
 ID_MODEL_FROM_DATABASE=EasiDock 200 Printer Port

usb:v1342p0204*
 ID_MODEL_FROM_DATABASE=Ethernet

usb:v1342p0304*
 ID_MODEL_FROM_DATABASE=EasiDock Ethernet

usb:v1343*
 ID_VENDOR_FROM_DATABASE=Citizen Systems

usb:v1343p0002*
 ID_MODEL_FROM_DATABASE=CW-01

usb:v1343p0003*
 ID_MODEL_FROM_DATABASE=CX / DNP DS40

usb:v1343p0004*
 ID_MODEL_FROM_DATABASE=CX-W / DNP DS80 / Mitsubishi CP3800

usb:v1343p0005*
 ID_MODEL_FROM_DATABASE=CY / DNP DSRX1

usb:v1343p0006*
 ID_MODEL_FROM_DATABASE=CW-02 / OP900ii

usb:v1343p0007*
 ID_MODEL_FROM_DATABASE=DNP DS80DX

usb:v1343p0008*
 ID_MODEL_FROM_DATABASE=DNP DS620 (old)

usb:v1343p000A*
 ID_MODEL_FROM_DATABASE=CX-02

usb:v1343p000B*
 ID_MODEL_FROM_DATABASE=CX-02W

usb:v1345*
 ID_VENDOR_FROM_DATABASE=Sino Lite Technology Corp.

usb:v1345p001C*
 ID_MODEL_FROM_DATABASE=Xbox Controller Hub

usb:v1345p6006*
 ID_MODEL_FROM_DATABASE=Defender Wireless Controller

usb:v1347*
 ID_VENDOR_FROM_DATABASE=Moravian Instruments

usb:v1347p0400*
 ID_MODEL_FROM_DATABASE=G2CCD USB 1.1 obsolete

usb:v1347p0401*
 ID_MODEL_FROM_DATABASE=G2CCD-S with Sony ICX285 CCD

usb:v1347p0402*
 ID_MODEL_FROM_DATABASE=G2CCD2

usb:v1347p0403*
 ID_MODEL_FROM_DATABASE=G2/G3CCD-I KAI CCD

usb:v1347p0404*
 ID_MODEL_FROM_DATABASE=G2/G3/G4 CCD-F KAF CCD

usb:v1347p0405*
 ID_MODEL_FROM_DATABASE=Gx CCD-I CCD

usb:v1347p0406*
 ID_MODEL_FROM_DATABASE=Gx CCD-F CCD

usb:v1347p0410*
 ID_MODEL_FROM_DATABASE=G1-0400 CCD

usb:v1347p0411*
 ID_MODEL_FROM_DATABASE=G1-0800 CCD

usb:v1347p0412*
 ID_MODEL_FROM_DATABASE=G1-0300 CCD

usb:v1347p0413*
 ID_MODEL_FROM_DATABASE=G1-2000 CCD

usb:v1347p0414*
 ID_MODEL_FROM_DATABASE=G1-1400 CCD

usb:v1347p0415*
 ID_MODEL_FROM_DATABASE=G1-1200 CCD

usb:v1347p04B0*
 ID_MODEL_FROM_DATABASE=Gx CCD-B CCD

usb:v1347p04B1*
 ID_MODEL_FROM_DATABASE=Gx CCD-BI CCD

usb:v1348*
 ID_VENDOR_FROM_DATABASE=Katsuragawa Electric Co., Ltd.

usb:v134C*
 ID_VENDOR_FROM_DATABASE=PanJit International Inc.

usb:v134Cp0001*
 ID_MODEL_FROM_DATABASE=Touch Panel Controller

usb:v134Cp0002*
 ID_MODEL_FROM_DATABASE=Touch Panel Controller

usb:v134Cp0003*
 ID_MODEL_FROM_DATABASE=Touch Panel Controller

usb:v134Cp0004*
 ID_MODEL_FROM_DATABASE=Touch Panel Controller

usb:v134E*
 ID_VENDOR_FROM_DATABASE=Digby's Bitpile, Inc. DBA D Bit

usb:v1357*
 ID_VENDOR_FROM_DATABASE=P&E Microcomputer Systems

usb:v1357p0089*
 ID_MODEL_FROM_DATABASE=OpenSDA - CDC Serial Port

usb:v1357p0503*
 ID_MODEL_FROM_DATABASE=USB-ML-12 HCS08/HCS12 Multilink

usb:v1357p0504*
 ID_MODEL_FROM_DATABASE=DEMOJM

usb:v1357p1000*
 ID_MODEL_FROM_DATABASE=Smart Control Touchpad

usb:v135E*
 ID_VENDOR_FROM_DATABASE=Insta GmbH

usb:v135Ep0021*
 ID_MODEL_FROM_DATABASE=Berker KNX Data Interface

usb:v135Ep0022*
 ID_MODEL_FROM_DATABASE=Gira KNX Data Interface

usb:v135Ep0023*
 ID_MODEL_FROM_DATABASE=JUNG KNX Data Interface

usb:v135Ep0024*
 ID_MODEL_FROM_DATABASE=Merten/Schneider Electric KNX Data Interface

usb:v135Ep0025*
 ID_MODEL_FROM_DATABASE=Hager KNX Data Interface

usb:v135Ep0026*
 ID_MODEL_FROM_DATABASE=Feller KNX Data Interface

usb:v135F*
 ID_VENDOR_FROM_DATABASE=Control Development Inc.

usb:v135Fp0110*
 ID_MODEL_FROM_DATABASE=Linear Spectrograph

usb:v135Fp0111*
 ID_MODEL_FROM_DATABASE=Spectrograph - Renumerated

usb:v135Fp0200*
 ID_MODEL_FROM_DATABASE=Linear Spectrograph

usb:v135Fp0201*
 ID_MODEL_FROM_DATABASE=Spectrograph - Renumerated

usb:v135Fp0240*
 ID_MODEL_FROM_DATABASE=MPP Spectrograph

usb:v1366*
 ID_VENDOR_FROM_DATABASE=SEGGER

usb:v1366p0101*
 ID_MODEL_FROM_DATABASE=J-Link PLUS

usb:v1366p1015*
 ID_MODEL_FROM_DATABASE=J-Link

usb:v136B*
 ID_VENDOR_FROM_DATABASE=STEC

usb:v136E*
 ID_VENDOR_FROM_DATABASE=Andor Technology Ltd.

usb:v136Ep0012*
 ID_MODEL_FROM_DATABASE=iXon Ultra CCD

usb:v136Ep0014*
 ID_MODEL_FROM_DATABASE=Zyla 5.5 sCMOS camera

usb:v1370*
 ID_VENDOR_FROM_DATABASE=Swissbit

usb:v1370p0323*
 ID_MODEL_FROM_DATABASE=Swissmemory cirrusWHITE

usb:v1370p6828*
 ID_MODEL_FROM_DATABASE=Victorinox Flash Drive

usb:v1371*
 ID_VENDOR_FROM_DATABASE=CNet Technology Inc.

usb:v1371p0001*
 ID_MODEL_FROM_DATABASE=CNUSB-611AR Wireless Adapter-G [AT76C503]

usb:v1371p0002*
 ID_MODEL_FROM_DATABASE=CNUSB-611AR Wireless Adapter-G [AT76C503] (FiberLine WL-240U)

usb:v1371p0013*
 ID_MODEL_FROM_DATABASE=CNUSB-611 Wireless Adapter [AT76C505]

usb:v1371p0014*
 ID_MODEL_FROM_DATABASE=CNUSB-611 Wireless Adapter [AT76C505] (FiberLine WL-240U)

usb:v1371p5743*
 ID_MODEL_FROM_DATABASE=CNUSB-611 (D) Wireless Adapter [AT76C503]

usb:v1371p9022*
 ID_MODEL_FROM_DATABASE=CWD-854 [RT2573]

usb:v1371p9032*
 ID_MODEL_FROM_DATABASE=CWD-854 rev F

usb:v1371p9401*
 ID_MODEL_FROM_DATABASE=CWD-854 Wireless 802.11g 54Mbps Network Adapter [RTL8187]

usb:v1376*
 ID_VENDOR_FROM_DATABASE=Vimtron Electronics Co., Ltd.

usb:v1377*
 ID_VENDOR_FROM_DATABASE=Sennheiser electronic GmbH & Co. KG

usb:v1377p4000*
 ID_MODEL_FROM_DATABASE=HDVD800

usb:v137B*
 ID_VENDOR_FROM_DATABASE=SCAPS GmbH

usb:v137Bp0002*
 ID_MODEL_FROM_DATABASE=SCAPS USC-2 Scanner Controller

usb:v137C*
 ID_VENDOR_FROM_DATABASE=YASKAWA ELECTRIC CORP.

usb:v137Cp0220*
 ID_MODEL_FROM_DATABASE=MP Series

usb:v137Cp0250*
 ID_MODEL_FROM_DATABASE=SIGMA Series

usb:v137Cp0401*
 ID_MODEL_FROM_DATABASE=AC Drive

usb:v1385*
 ID_VENDOR_FROM_DATABASE=Netgear, Inc

usb:v1385p4250*
 ID_MODEL_FROM_DATABASE=WG111T

usb:v1385p4251*
 ID_MODEL_FROM_DATABASE=WG111T (no firmware)

usb:v1385p5F00*
 ID_MODEL_FROM_DATABASE=WPN111 RangeMax(TM) Wireless USB 2.0 Adapter

usb:v1385p5F01*
 ID_MODEL_FROM_DATABASE=WPN111 (no firmware)

usb:v1385p5F02*
 ID_MODEL_FROM_DATABASE=WPN111 (no firmware)

usb:v1385p6E00*
 ID_MODEL_FROM_DATABASE=WPNT121 802.11g 240Mbps Wireless Adapter [Airgo AGN300]

usb:v138A*
 ID_VENDOR_FROM_DATABASE=Validity Sensors, Inc.

usb:v138Ap0001*
 ID_MODEL_FROM_DATABASE=VFS101 Fingerprint Reader

usb:v138Ap0005*
 ID_MODEL_FROM_DATABASE=VFS301 Fingerprint Reader

usb:v138Ap0007*
 ID_MODEL_FROM_DATABASE=VFS451 Fingerprint Reader

usb:v138Ap0008*
 ID_MODEL_FROM_DATABASE=VFS300 Fingerprint Reader

usb:v138Ap0010*
 ID_MODEL_FROM_DATABASE=VFS Fingerprint sensor

usb:v138Ap0011*
 ID_MODEL_FROM_DATABASE=VFS5011 Fingerprint Reader

usb:v138Ap0015*
 ID_MODEL_FROM_DATABASE=VFS 5011 fingerprint sensor

usb:v138Ap0017*
 ID_MODEL_FROM_DATABASE=VFS 5011 fingerprint sensor

usb:v138Ap0018*
 ID_MODEL_FROM_DATABASE=Fingerprint scanner

usb:v138Ap003C*
 ID_MODEL_FROM_DATABASE=VFS471 Fingerprint Reader

usb:v138Ap003D*
 ID_MODEL_FROM_DATABASE=VFS491

usb:v138Ap003F*
 ID_MODEL_FROM_DATABASE=VFS495 Fingerprint Reader

usb:v138Ap0050*
 ID_MODEL_FROM_DATABASE=Swipe Fingerprint Sensor

usb:v138Ap0090*
 ID_MODEL_FROM_DATABASE=VFS7500 Touch Fingerprint Sensor

usb:v138Ap0091*
 ID_MODEL_FROM_DATABASE=VFS7552 Touch Fingerprint Sensor

usb:v138E*
 ID_VENDOR_FROM_DATABASE=Jungo LTD

usb:v138Ep9000*
 ID_MODEL_FROM_DATABASE=Raisonance S.A. STM32 ARM evaluation board / RLink dongle

usb:v1390*
 ID_VENDOR_FROM_DATABASE=TOMTOM B.V.

usb:v1390p0001*
 ID_MODEL_FROM_DATABASE=GO 520 T / GO 630 / ONE / ONE XL

usb:v1390p5454*
 ID_MODEL_FROM_DATABASE=Blue & Me 2

usb:v1390p7474*
 ID_MODEL_FROM_DATABASE=GPS Sport Watch [Runner, Multi-Sport]

usb:v1390pA001*
 ID_MODEL_FROM_DATABASE=Bandit Action Camera Batt-Stick

usb:v1391*
 ID_VENDOR_FROM_DATABASE=IdealTEK, Inc.

usb:v1391p1000*
 ID_MODEL_FROM_DATABASE=URTC-1000

usb:v1395*
 ID_VENDOR_FROM_DATABASE=DSEA A/S

usb:v1395p0025*
 ID_MODEL_FROM_DATABASE=Headset [PC 8]

usb:v1395p0026*
 ID_MODEL_FROM_DATABASE=SC230

usb:v1395p0027*
 ID_MODEL_FROM_DATABASE=SC260

usb:v1395p0028*
 ID_MODEL_FROM_DATABASE=SC230 CTRL

usb:v1395p0029*
 ID_MODEL_FROM_DATABASE=SC260 CTRL

usb:v1395p002A*
 ID_MODEL_FROM_DATABASE=SC230 for Lync

usb:v1395p002B*
 ID_MODEL_FROM_DATABASE=SC260 for Lync

usb:v1395p002D*
 ID_MODEL_FROM_DATABASE=BTD-800

usb:v1395p002E*
 ID_MODEL_FROM_DATABASE=Presence

usb:v1395p0030*
 ID_MODEL_FROM_DATABASE=CEHS-CI 02

usb:v1395p0031*
 ID_MODEL_FROM_DATABASE=U320 Gaming

usb:v1395p0032*
 ID_MODEL_FROM_DATABASE=SC30 for Lync

usb:v1395p0033*
 ID_MODEL_FROM_DATABASE=SC60 for Lync

usb:v1395p0034*
 ID_MODEL_FROM_DATABASE=SC30 Control

usb:v1395p0035*
 ID_MODEL_FROM_DATABASE=SC60 Control

usb:v1395p0036*
 ID_MODEL_FROM_DATABASE=SC630 for Lync

usb:v1395p0037*
 ID_MODEL_FROM_DATABASE=SC660 for Lync

usb:v1395p0038*
 ID_MODEL_FROM_DATABASE=SC630 CTRL

usb:v1395p0039*
 ID_MODEL_FROM_DATABASE=SC660 CTRL

usb:v1395p003F*
 ID_MODEL_FROM_DATABASE=SP 20

usb:v1395p0040*
 ID_MODEL_FROM_DATABASE=MB Pro 1/2

usb:v1395p0041*
 ID_MODEL_FROM_DATABASE=SP 20 for Lync

usb:v1395p0042*
 ID_MODEL_FROM_DATABASE=SP 10

usb:v1395p0043*
 ID_MODEL_FROM_DATABASE=SP 10 for Lync

usb:v1395p0046*
 ID_MODEL_FROM_DATABASE=PXC 550

usb:v1395p004A*
 ID_MODEL_FROM_DATABASE=MOMENTUM M2 OEBT

usb:v1395p004B*
 ID_MODEL_FROM_DATABASE=MOMENTUM M2 AEBT

usb:v1395p004F*
 ID_MODEL_FROM_DATABASE=SC230 for MS II

usb:v1395p0050*
 ID_MODEL_FROM_DATABASE=SC260 for MS II

usb:v1395p0051*
 ID_MODEL_FROM_DATABASE=USB-ED CC 01

usb:v1395p0058*
 ID_MODEL_FROM_DATABASE=USB-ED CC 01 for MS

usb:v1395p0059*
 ID_MODEL_FROM_DATABASE=SC40 for MS

usb:v1395p005A*
 ID_MODEL_FROM_DATABASE=SC70 for MS

usb:v1395p005B*
 ID_MODEL_FROM_DATABASE=SC40 CTRL

usb:v1395p005C*
 ID_MODEL_FROM_DATABASE=SC70 CTRL

usb:v1395p0060*
 ID_MODEL_FROM_DATABASE=SCx5 MS

usb:v1395p0061*
 ID_MODEL_FROM_DATABASE=SCx5 CTRL

usb:v1395p0064*
 ID_MODEL_FROM_DATABASE=MB 660 MS

usb:v1395p0065*
 ID_MODEL_FROM_DATABASE=MB 660

usb:v1395p0066*
 ID_MODEL_FROM_DATABASE=SP 20 D UC

usb:v1395p0067*
 ID_MODEL_FROM_DATABASE=SP 20 D MS

usb:v1395p006B*
 ID_MODEL_FROM_DATABASE=SC6x5

usb:v1395p0072*
 ID_MODEL_FROM_DATABASE=Headset

usb:v1395p3556*
 ID_MODEL_FROM_DATABASE=USB Headset

usb:v1397*
 ID_VENDOR_FROM_DATABASE=BEHRINGER International GmbH

usb:v1397p0004*
 ID_MODEL_FROM_DATABASE=FCA1616

usb:v1397p00BC*
 ID_MODEL_FROM_DATABASE=BCF2000

usb:v1398*
 ID_VENDOR_FROM_DATABASE=Q-tec

usb:v1398p2103*
 ID_MODEL_FROM_DATABASE=USB 2.0 Storage Device

usb:v13AD*
 ID_VENDOR_FROM_DATABASE=Baltech

usb:v13ADp9999*
 ID_MODEL_FROM_DATABASE=Card reader

usb:v13B0*
 ID_VENDOR_FROM_DATABASE=PerkinElmer Optoelectronics

usb:v13B0p000A*
 ID_MODEL_FROM_DATABASE=Alesis Photon X25 MIDI Controller

usb:v13B1*
 ID_VENDOR_FROM_DATABASE=Linksys

usb:v13B1p000A*
 ID_MODEL_FROM_DATABASE=WUSB54G v2 802.11g Adapter [Intersil ISL3887]

usb:v13B1p000B*
 ID_MODEL_FROM_DATABASE=WUSB11 v4.0 802.11b Adapter [ALi M4301]

usb:v13B1p000C*
 ID_MODEL_FROM_DATABASE=WUSB54AG 802.11a/g Adapter [Intersil ISL3887]

usb:v13B1p000D*
 ID_MODEL_FROM_DATABASE=WUSB54G v4 802.11g Adapter [Ralink RT2500USB]

usb:v13B1p000E*
 ID_MODEL_FROM_DATABASE=WUSB54GS v1 802.11g Adapter [Broadcom 4320 USB]

usb:v13B1p0011*
 ID_MODEL_FROM_DATABASE=WUSB54GP v4.0 802.11g Adapter [Ralink RT2500USB]

usb:v13B1p0014*
 ID_MODEL_FROM_DATABASE=WUSB54GS v2 802.11g Adapter [Broadcom 4320 USB]

usb:v13B1p0018*
 ID_MODEL_FROM_DATABASE=USB200M 10/100 Ethernet Adapter

usb:v13B1p001A*
 ID_MODEL_FROM_DATABASE=HU200TS Wireless Adapter

usb:v13B1p001E*
 ID_MODEL_FROM_DATABASE=WUSBF54G 802.11bg

usb:v13B1p0020*
 ID_MODEL_FROM_DATABASE=WUSB54GC v1 802.11g Adapter [Ralink RT73]

usb:v13B1p0022*
 ID_MODEL_FROM_DATABASE=WUSB54GX4 802.11g 240Mbps Wireless Adapter [Airgo AGN300]

usb:v13B1p0023*
 ID_MODEL_FROM_DATABASE=WUSB54GR

usb:v13B1p0024*
 ID_MODEL_FROM_DATABASE=WUSBF54G v1.1 802.11bg

usb:v13B1p0026*
 ID_MODEL_FROM_DATABASE=WUSB54GSC v1 802.11g Adapter [Broadcom 4320 USB]

usb:v13B1p0028*
 ID_MODEL_FROM_DATABASE=WUSB200 802.11g Adapter [Ralink RT2671]

usb:v13B1p0029*
 ID_MODEL_FROM_DATABASE=WUSB300N 802.11bgn Wireless Adapter [Marvell 88W8362+88W8060]

usb:v13B1p002F*
 ID_MODEL_FROM_DATABASE=AE1000 v1 802.11n [Ralink RT3572]

usb:v13B1p0031*
 ID_MODEL_FROM_DATABASE=AM10 v1 802.11n [Ralink RT3072]

usb:v13B1p0039*
 ID_MODEL_FROM_DATABASE=AE1200 802.11bgn Wireless Adapter [Broadcom BCM43235]

usb:v13B1p003A*
 ID_MODEL_FROM_DATABASE=AE2500 802.11abgn Wireless Adapter [Broadcom BCM43236]

usb:v13B1p003B*
 ID_MODEL_FROM_DATABASE=AE3000 802.11abgn (3x3) Wireless Adapter [Ralink RT3573]

usb:v13B1p003E*
 ID_MODEL_FROM_DATABASE=AE6000 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7610U]

usb:v13B1p003F*
 ID_MODEL_FROM_DATABASE=WUSB6300 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU]

usb:v13B1p0041*
 ID_MODEL_FROM_DATABASE=Gigabit Ethernet Adapter

usb:v13B1p0042*
 ID_MODEL_FROM_DATABASE=WUSB6100M 802.11a/b/g/n/ac Wireless Adapter

usb:v13B1p13B1*
 ID_MODEL_FROM_DATABASE=WUSB200: Wireless-G Business Network Adapter with Rangebooster

usb:v13B2*
 ID_VENDOR_FROM_DATABASE=Alesis

usb:v13B2p0030*
 ID_MODEL_FROM_DATABASE=Multimix 8

usb:v13B3*
 ID_VENDOR_FROM_DATABASE=Nippon Dics Co., Ltd.

usb:v13BA*
 ID_VENDOR_FROM_DATABASE=PCPlay

usb:v13BAp0001*
 ID_MODEL_FROM_DATABASE=Konig Electronic CMP-KEYPAD12 Numeric Keypad

usb:v13BAp0017*
 ID_MODEL_FROM_DATABASE=PS/2 Keyboard+Mouse Adapter

usb:v13BAp0018*
 ID_MODEL_FROM_DATABASE=Barcode PCP-BCG4209

usb:v13BE*
 ID_VENDOR_FROM_DATABASE=Ricoh Printing Systems, Ltd.

usb:v13CA*
 ID_VENDOR_FROM_DATABASE=JyeTai Precision Industrial Co., Ltd.

usb:v13CF*
 ID_VENDOR_FROM_DATABASE=Wisair Ltd.

usb:v13CFp1200*
 ID_MODEL_FROM_DATABASE=Olidata Wireless Multimedia Adapter

usb:v13D0*
 ID_VENDOR_FROM_DATABASE=Techsan Electronics Co., Ltd.

usb:v13D0p2282*
 ID_MODEL_FROM_DATABASE=TechniSat DVB-PC TV Star 2

usb:v13D1*
 ID_VENDOR_FROM_DATABASE=A-Max Technology Macao Commercial Offshore Co. Ltd.

usb:v13D1p7019*
 ID_MODEL_FROM_DATABASE=MD 82288

usb:v13D1pABE6*
 ID_MODEL_FROM_DATABASE=Wireless 802.11g 54Mbps Network Adapter [RTL8187]

usb:v13D2*
 ID_VENDOR_FROM_DATABASE=Shark Multimedia

usb:v13D2p0400*
 ID_MODEL_FROM_DATABASE=Pocket Ethernet [klsi]

usb:v13D3*
 ID_VENDOR_FROM_DATABASE=IMC Networks

usb:v13D3p3201*
 ID_MODEL_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device cold

usb:v13D3p3202*
 ID_MODEL_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device warm

usb:v13D3p3203*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)

usb:v13D3p3204*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)

usb:v13D3p3205*
 ID_MODEL_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)

usb:v13D3p3206*
 ID_MODEL_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)

usb:v13D3p3207*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)

usb:v13D3p3208*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)

usb:v13D3p3209*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDST7022BDA DVB-S Box(Without HID)

usb:v13D3p3211*
 ID_MODEL_FROM_DATABASE=DTV-DVB Hybrid Analog/Capture / Pinnacle PCTV 310e

usb:v13D3p3212*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDTT704C - DVBT/NTSC/PAL Driver(PCM4)

usb:v13D3p3213*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDTT704D - DVBT/NTSC/PAL Driver (PCM4)

usb:v13D3p3214*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDTT704F -(MiniCard) DVBT/NTSC/PAL Driver(Without HID)

usb:v13D3p3215*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDAT7240 - ATSC/NTSC/PAL Driver(PCM4)

usb:v13D3p3216*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDTT 7047-USB 2.0 DVB-T Driver

usb:v13D3p3217*
 ID_MODEL_FROM_DATABASE=Digital-TV Receiver.

usb:v13D3p3219*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDTT7049 - DVB-T Driver(Without HID)

usb:v13D3p3220*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDTT 7047M-USB 2.0 DVB-T Driver

usb:v13D3p3223*
 ID_MODEL_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)

usb:v13D3p3224*
 ID_MODEL_FROM_DATABASE=DNTV Live! Tiny USB2 BDA (No Remote)

usb:v13D3p3226*
 ID_MODEL_FROM_DATABASE=DigitalNow TinyTwin DVB-T Receiver

usb:v13D3p3234*
 ID_MODEL_FROM_DATABASE=DVB-T FTA Half Minicard [RTL2832U]

usb:v13D3p3236*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDTT 7047A-USB 2.0 DVB-T Driver

usb:v13D3p3237*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDTT 704J - dual DVB-T Driver

usb:v13D3p3239*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDTT704D - DVBT/NTSC/PAL Driver(Without HID)

usb:v13D3p3240*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDXTTM6010 - A/D Driver(Without HID)

usb:v13D3p3241*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDXTTM6010 - A/D Driver(Without HID)

usb:v13D3p3242*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDAT7240LP - ATSC/NTSC/PAL Driver(Without HID)

usb:v13D3p3243*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDXTTM6010 - A/D Driver(Without HID)

usb:v13D3p3244*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDTT 7047Z-USB 2.0 DVB-T Driver

usb:v13D3p3247*
 ID_MODEL_FROM_DATABASE=AW-NU222 802.11bgn Wireless Module [Ralink RT2770+RT2720]

usb:v13D3p3249*
 ID_MODEL_FROM_DATABASE=Internal Bluetooth

usb:v13D3p3250*
 ID_MODEL_FROM_DATABASE=Broadcom Bluetooth 2.1

usb:v13D3p3262*
 ID_MODEL_FROM_DATABASE=802.11 n/g/b Wireless LAN USB Adapter

usb:v13D3p3273*
 ID_MODEL_FROM_DATABASE=802.11 n/g/b Wireless LAN USB Mini-Card

usb:v13D3p3274*
 ID_MODEL_FROM_DATABASE=DVB-T Dongle [RTL2832U]

usb:v13D3p3282*
 ID_MODEL_FROM_DATABASE=DVB-T + GPS Minicard [RTL2832U]

usb:v13D3p3284*
 ID_MODEL_FROM_DATABASE=Wireless LAN USB Mini-Card

usb:v13D3p3304*
 ID_MODEL_FROM_DATABASE=Asus Integrated Bluetooth module [AR3011]

usb:v13D3p3306*
 ID_MODEL_FROM_DATABASE=Mediao 802.11n WLAN [Realtek RTL8191SU]

usb:v13D3p3315*
 ID_MODEL_FROM_DATABASE=Bluetooth module

usb:v13D3p3327*
 ID_MODEL_FROM_DATABASE=AW-NU137 802.11bgn Wireless Module [Atheros AR9271]

usb:v13D3p3362*
 ID_MODEL_FROM_DATABASE=Atheros AR3012 Bluetooth 4.0 Adapter

usb:v13D3p3375*
 ID_MODEL_FROM_DATABASE=Atheros AR3012 Bluetooth 4.0 Adapter

usb:v13D3p3392*
 ID_MODEL_FROM_DATABASE=Azurewave 43228+20702

usb:v13D3p3394*
 ID_MODEL_FROM_DATABASE=Bluetooth

usb:v13D3p3474*
 ID_MODEL_FROM_DATABASE=Atheros AR3012 Bluetooth

usb:v13D3p3526*
 ID_MODEL_FROM_DATABASE=Bluetooth Radio

usb:v13D3p5070*
 ID_MODEL_FROM_DATABASE=Webcam

usb:v13D3p5111*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v13D3p5115*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v13D3p5116*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v13D3p5122*
 ID_MODEL_FROM_DATABASE=2M Integrated Webcam

usb:v13D3p5126*
 ID_MODEL_FROM_DATABASE=PC Cam

usb:v13D3p5130*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v13D3p5134*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v13D3p5615*
 ID_MODEL_FROM_DATABASE=Lenovo EasyCamera

usb:v13D3p5670*
 ID_MODEL_FROM_DATABASE=HP TrueVision HD

usb:v13D3p5682*
 ID_MODEL_FROM_DATABASE=SunplusIT Integrated Camera

usb:v13D3p5702*
 ID_MODEL_FROM_DATABASE=UVC VGA Webcam

usb:v13D3p5710*
 ID_MODEL_FROM_DATABASE=UVC VGA Webcam

usb:v13D3p5716*
 ID_MODEL_FROM_DATABASE=UVC VGA Webcam

usb:v13D3p5A07*
 ID_MODEL_FROM_DATABASE=VGA UVC WebCam

usb:v13D3p7020*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)

usb:v13D3p7022*
 ID_MODEL_FROM_DATABASE=DTV-DVB UDST7022BDA DVB-S Box(Without HID)

usb:v13D3p784B*
 ID_MODEL_FROM_DATABASE=XHC Camera

usb:v13D7*
 ID_VENDOR_FROM_DATABASE=Guidance Software, Inc.

usb:v13D7p0001*
 ID_MODEL_FROM_DATABASE=T5 PATA forensic bridge

usb:v13D7p000C*
 ID_MODEL_FROM_DATABASE=T8-R2 forensic bridge

usb:v13DC*
 ID_VENDOR_FROM_DATABASE=ALEREON, INC.

usb:v13DD*
 ID_VENDOR_FROM_DATABASE=i.Tech Dynamic Limited

usb:v13E1*
 ID_VENDOR_FROM_DATABASE=Kaibo Wire & Cable (Shenzhen) Co., Ltd.

usb:v13E5*
 ID_VENDOR_FROM_DATABASE=Rane

usb:v13E5p0001*
 ID_MODEL_FROM_DATABASE=SL-1

usb:v13E5p0003*
 ID_MODEL_FROM_DATABASE=TTM 57SL

usb:v13E6*
 ID_VENDOR_FROM_DATABASE=TechnoScope Co., Ltd.

usb:v13EA*
 ID_VENDOR_FROM_DATABASE=Hengstler

usb:v13EAp0001*
 ID_MODEL_FROM_DATABASE=C-56 Thermal Printer

usb:v13EC*
 ID_VENDOR_FROM_DATABASE=Zydacron

usb:v13ECp0006*
 ID_MODEL_FROM_DATABASE=HID Remote Control

usb:v13EE*
 ID_VENDOR_FROM_DATABASE=MosArt

usb:v13EEp0001*
 ID_MODEL_FROM_DATABASE=Optical Mouse

usb:v13EEp0003*
 ID_MODEL_FROM_DATABASE=Optical Mouse

usb:v13FD*
 ID_VENDOR_FROM_DATABASE=Initio Corporation

usb:v13FDp0550*
 ID_MODEL_FROM_DATABASE=INIC-1530 PATA Bridge

usb:v13FDp0840*
 ID_MODEL_FROM_DATABASE=INIC-1618L SATA

usb:v13FDp0841*
 ID_MODEL_FROM_DATABASE=Samsung SE-T084M DVD-RW

usb:v13FDp0940*
 ID_MODEL_FROM_DATABASE=ASUS SBW-06D2X-U

usb:v13FDp1040*
 ID_MODEL_FROM_DATABASE=INIC-1511L PATA Bridge

usb:v13FDp1340*
 ID_MODEL_FROM_DATABASE=Hi-Speed USB to SATA Bridge

usb:v13FDp160F*
 ID_MODEL_FROM_DATABASE=RocketFish SATA Bridge [INIC-1611]

usb:v13FDp1640*
 ID_MODEL_FROM_DATABASE=INIC-1610L SATA Bridge

usb:v13FDp1669*
 ID_MODEL_FROM_DATABASE=INIC-1609PN

usb:v13FDp1840*
 ID_MODEL_FROM_DATABASE=INIC-1608 SATA bridge

usb:v13FDp1E40*
 ID_MODEL_FROM_DATABASE=INIC-1610P SATA bridge

usb:v13FDp2040*
 ID_MODEL_FROM_DATABASE=Samsung Writemaster external DVD writer

usb:v13FDp3920*
 ID_MODEL_FROM_DATABASE=INIC-3619PN SATA Bridge

usb:v13FDp3940*
 ID_MODEL_FROM_DATABASE=external DVD burner ECD819-SU3

usb:v13FDp3960*
 ID_MODEL_FROM_DATABASE=INIC-3639

usb:v13FDp3E40*
 ID_MODEL_FROM_DATABASE=ZALMAN ZM-VE350

usb:v13FE*
 ID_VENDOR_FROM_DATABASE=Phison Electronics Corp.

usb:v13FEp1A00*
 ID_MODEL_FROM_DATABASE=512MB/1GB Flash Drive

usb:v13FEp1A23*
 ID_MODEL_FROM_DATABASE=512MB Flash Drive

usb:v13FEp1D00*
 ID_MODEL_FROM_DATABASE=DataTraveler 2.0 1GB/4GB Flash Drive / Patriot Xporter 4GB Flash Drive

usb:v13FEp1E00*
 ID_MODEL_FROM_DATABASE=Flash Drive 2 GB [ICIDU 2 GB]

usb:v13FEp1E50*
 ID_MODEL_FROM_DATABASE=U3 Smart Drive

usb:v13FEp1F00*
 ID_MODEL_FROM_DATABASE=Kingston DataTraveler / Patriot Xporter

usb:v13FEp1F23*
 ID_MODEL_FROM_DATABASE=PS2232 flash drive controller

usb:v13FEp2240*
 ID_MODEL_FROM_DATABASE=microSD card reader

usb:v13FEp3100*
 ID_MODEL_FROM_DATABASE=2/4 GB stick

usb:v13FEp3123*
 ID_MODEL_FROM_DATABASE=Verbatim STORE N GO 4GB

usb:v13FEp3200*
 ID_MODEL_FROM_DATABASE=flash drive (2GB, EMTEC)

usb:v13FEp3600*
 ID_MODEL_FROM_DATABASE=flash drive (4GB, EMTEC)

usb:v13FEp3800*
 ID_MODEL_FROM_DATABASE=Rage XT Flash Drive

usb:v13FEp3D00*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v13FEp3E00*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v13FEp4100*
 ID_MODEL_FROM_DATABASE=Flash drive

usb:v13FEp4200*
 ID_MODEL_FROM_DATABASE=Platinum USB drive mini

usb:v13FEp5000*
 ID_MODEL_FROM_DATABASE=USB flash drive (32 GB SHARKOON Accelerate)

usb:v13FEp5100*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v13FEp5200*
 ID_MODEL_FROM_DATABASE=DataTraveler R3.0

usb:v13FEp5500*
 ID_MODEL_FROM_DATABASE=Flash drive

usb:v13FEp6300*
 ID_MODEL_FROM_DATABASE=SP Mobile C31 (64GB)

usb:v1400*
 ID_VENDOR_FROM_DATABASE=Axxion Group Corp.

usb:v1402*
 ID_VENDOR_FROM_DATABASE=Bowe Bell & Howell

usb:v1403*
 ID_VENDOR_FROM_DATABASE=Sitronix

usb:v1403p0001*
 ID_MODEL_FROM_DATABASE=Digital Photo Frame

usb:v1403p0003*
 ID_MODEL_FROM_DATABASE=Digital Photo Frame (DPF-1104)

usb:v1404*
 ID_VENDOR_FROM_DATABASE=Fundamental Software, Inc.

usb:v1404pCDDC*
 ID_MODEL_FROM_DATABASE=Dongle

usb:v1409*
 ID_VENDOR_FROM_DATABASE=IDS Imaging Development Systems GmbH

usb:v1409p1000*
 ID_MODEL_FROM_DATABASE=generic (firmware not loaded yet)

usb:v1409p1485*
 ID_MODEL_FROM_DATABASE=uEye UI1485

usb:v1409p3240*
 ID_MODEL_FROM_DATABASE=uEye UI3240

usb:v140E*
 ID_VENDOR_FROM_DATABASE=Telechips, Inc.

usb:v140EpB011*
 ID_MODEL_FROM_DATABASE=TCC780X-based player (USB Boot mode)

usb:v140EpB021*
 ID_MODEL_FROM_DATABASE=TCC77X-based players (USB Boot mode)

usb:v1410*
 ID_VENDOR_FROM_DATABASE=Novatel Wireless

usb:v1410p1110*
 ID_MODEL_FROM_DATABASE=Merlin S620

usb:v1410p1120*
 ID_MODEL_FROM_DATABASE=Merlin EX720

usb:v1410p1130*
 ID_MODEL_FROM_DATABASE=Merlin S720

usb:v1410p1400*
 ID_MODEL_FROM_DATABASE=Merlin U730/U740 (Vodafone)

usb:v1410p1410*
 ID_MODEL_FROM_DATABASE=Merlin U740 (non-Vodafone)

usb:v1410p1430*
 ID_MODEL_FROM_DATABASE=Merlin XU870

usb:v1410p1450*
 ID_MODEL_FROM_DATABASE=Merlin X950D

usb:v1410p2110*
 ID_MODEL_FROM_DATABASE=Ovation U720/MCD3000

usb:v1410p2410*
 ID_MODEL_FROM_DATABASE=Expedite EU740

usb:v1410p2420*
 ID_MODEL_FROM_DATABASE=Expedite EU850D/EU860D/EU870D

usb:v1410p4100*
 ID_MODEL_FROM_DATABASE=U727

usb:v1410p4400*
 ID_MODEL_FROM_DATABASE=Ovation MC930D/MC950D

usb:v1410p9010*
 ID_MODEL_FROM_DATABASE=Expedite E362

usb:v1410pA001*
 ID_MODEL_FROM_DATABASE=Gobi Wireless Modem

usb:v1410pA008*
 ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)

usb:v1410pB001*
 ID_MODEL_FROM_DATABASE=Ovation MC551

usb:v1415*
 ID_VENDOR_FROM_DATABASE=Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc.

usb:v1415p0000*
 ID_MODEL_FROM_DATABASE=Sony SingStar USBMIC

usb:v1415p0020*
 ID_MODEL_FROM_DATABASE=Sony Wireless SingStar

usb:v1415p2000*
 ID_MODEL_FROM_DATABASE=Sony Playstation Eye

usb:v1419*
 ID_VENDOR_FROM_DATABASE=ABILITY ENTERPRISE CO., LTD.

usb:v1421*
 ID_VENDOR_FROM_DATABASE=Sensor Technology

usb:v1421p0605*
 ID_MODEL_FROM_DATABASE=Sentech Camera

usb:v1424*
 ID_VENDOR_FROM_DATABASE=Posnet Polska S.A.

usb:v1424p1001*
 ID_MODEL_FROM_DATABASE=Temo

usb:v1424p1002*
 ID_MODEL_FROM_DATABASE=Thermal

usb:v1424p1003*
 ID_MODEL_FROM_DATABASE=Neo

usb:v1424p1004*
 ID_MODEL_FROM_DATABASE=Combo DF

usb:v1424p1005*
 ID_MODEL_FROM_DATABASE=Thermal-A

usb:v1424p1006*
 ID_MODEL_FROM_DATABASE=Thermal FV

usb:v1424p1007*
 ID_MODEL_FROM_DATABASE=Bingo HS

usb:v1424p1008*
 ID_MODEL_FROM_DATABASE=Thermal HS FV

usb:v1424p1009*
 ID_MODEL_FROM_DATABASE=Thermal FV EJ

usb:v1424p100A*
 ID_MODEL_FROM_DATABASE=Thermal HD

usb:v1424p100B*
 ID_MODEL_FROM_DATABASE=Thermal

usb:v1424p100C*
 ID_MODEL_FROM_DATABASE=Neo

usb:v1424p100D*
 ID_MODEL_FROM_DATABASE=Ergo

usb:v1424p100E*
 ID_MODEL_FROM_DATABASE=Trio

usb:v1424p1010*
 ID_MODEL_FROM_DATABASE=Thermal HS FV EJ

usb:v1424p1011*
 ID_MODEL_FROM_DATABASE=Neo EJ

usb:v1424p1012*
 ID_MODEL_FROM_DATABASE=Thermal-A

usb:v1424p1013*
 ID_MODEL_FROM_DATABASE=Thermal-A EJ

usb:v1424p1014*
 ID_MODEL_FROM_DATABASE=Mobile

usb:v1424p1015*
 ID_MODEL_FROM_DATABASE=Temo HS

usb:v1424p1016*
 ID_MODEL_FROM_DATABASE=Mobile HS

usb:v1424p1017*
 ID_MODEL_FROM_DATABASE=TH230+ FV EJ

usb:v1424p1018*
 ID_MODEL_FROM_DATABASE=4610-1NR FV EJ

usb:v1429*
 ID_VENDOR_FROM_DATABASE=Vega Technologies Industrial (Austria) Co.

usb:v142A*
 ID_VENDOR_FROM_DATABASE=Thales E-Transactions

usb:v142Ap0003*
 ID_MODEL_FROM_DATABASE=Artema Hybrid

usb:v142Ap0005*
 ID_MODEL_FROM_DATABASE=Artema Modular

usb:v142Ap0043*
 ID_MODEL_FROM_DATABASE=medCompact

usb:v142B*
 ID_VENDOR_FROM_DATABASE=Arbiter Systems, Inc.

usb:v142Bp03A5*
 ID_MODEL_FROM_DATABASE=933A Portable Power Sentinel

usb:v1430*
 ID_VENDOR_FROM_DATABASE=RedOctane

usb:v1430p0150*
 ID_MODEL_FROM_DATABASE=wireless receiver for skylanders wii

usb:v1430p4734*
 ID_MODEL_FROM_DATABASE=Guitar Hero4 hub

usb:v1430p4748*
 ID_MODEL_FROM_DATABASE=Guitar Hero X-plorer

usb:v1430p474B*
 ID_MODEL_FROM_DATABASE=Guitar Hero MIDI interface

usb:v1430p8888*
 ID_MODEL_FROM_DATABASE=TX6500+ Dance Pad

usb:v1430pF801*
 ID_MODEL_FROM_DATABASE=Controller

usb:v1431*
 ID_VENDOR_FROM_DATABASE=Pertech Resources, Inc.

usb:v1435*
 ID_VENDOR_FROM_DATABASE=Wistron NeWeb

usb:v1435p0427*
 ID_MODEL_FROM_DATABASE=UR054g 802.11g Wireless Adapter [Intersil ISL3887]

usb:v1435p0711*
 ID_MODEL_FROM_DATABASE=UR055G 802.11bg

usb:v1435p0804*
 ID_MODEL_FROM_DATABASE=AR9170+AR9104 802.11abgn Wireless Adapter

usb:v1435p0826*
 ID_MODEL_FROM_DATABASE=AR5523

usb:v1435p0827*
 ID_MODEL_FROM_DATABASE=AR5523 (no firmware)

usb:v1435p0828*
 ID_MODEL_FROM_DATABASE=AR5523

usb:v1435p0829*
 ID_MODEL_FROM_DATABASE=AR5523 (no firmware)

usb:v1436*
 ID_VENDOR_FROM_DATABASE=Denali Software, Inc.

usb:v143C*
 ID_VENDOR_FROM_DATABASE=Altek Corporation

usb:v1443*
 ID_VENDOR_FROM_DATABASE=Digilent

usb:v1443p0007*
 ID_MODEL_FROM_DATABASE=Development board JTAG

usb:v1446*
 ID_VENDOR_FROM_DATABASE=X.J.GROUP

usb:v1446p6A73*
 ID_MODEL_FROM_DATABASE=Stamps.com Model 510 5LB Scale

usb:v1446p6A78*
 ID_MODEL_FROM_DATABASE=DYMO Endicia 75lb Digital Scale

usb:v1451*
 ID_VENDOR_FROM_DATABASE=Force Dimension

usb:v1451p0301*
 ID_MODEL_FROM_DATABASE=haptic device

usb:v1451p0302*
 ID_MODEL_FROM_DATABASE=haptic device

usb:v1451p0400*
 ID_MODEL_FROM_DATABASE=haptic device

usb:v1451p0401*
 ID_MODEL_FROM_DATABASE=delta.x haptic device

usb:v1451p0402*
 ID_MODEL_FROM_DATABASE=omega.x haptic device

usb:v1451p0403*
 ID_MODEL_FROM_DATABASE=sigma.x haptic device

usb:v1451p0404*
 ID_MODEL_FROM_DATABASE=haptic controller

usb:v1451p0405*
 ID_MODEL_FROM_DATABASE=dedicated haptic device

usb:v1451p0406*
 ID_MODEL_FROM_DATABASE=dedicated haptic device

usb:v1451p0407*
 ID_MODEL_FROM_DATABASE=dedicated haptic device

usb:v1451p0408*
 ID_MODEL_FROM_DATABASE=dedicated haptic device

usb:v1452*
 ID_VENDOR_FROM_DATABASE=Dai Nippon Printing, Inc

usb:v1452p8B01*
 ID_MODEL_FROM_DATABASE=DS620

usb:v1452p9001*
 ID_MODEL_FROM_DATABASE=DS820

usb:v1453*
 ID_VENDOR_FROM_DATABASE=Radio Shack

usb:v1453p4026*
 ID_MODEL_FROM_DATABASE=26-183 Serial Cable

usb:v1456*
 ID_VENDOR_FROM_DATABASE=Extending Wire & Cable Co., Ltd.

usb:v1457*
 ID_VENDOR_FROM_DATABASE=First International Computer, Inc.

usb:v1457p5117*
 ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 kernel usbnet (g_ether, CDC Ethernet) mode

usb:v1457p5118*
 ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 Debug board (V2+)

usb:v1457p5119*
 ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot cdc_acm serial port

usb:v1457p511A*
 ID_MODEL_FROM_DATABASE=HXD8 u-boot usbtty CDC ACM Mode

usb:v1457p511B*
 ID_MODEL_FROM_DATABASE=SMDK2440 u-boot usbtty CDC ACM mode

usb:v1457p511C*
 ID_MODEL_FROM_DATABASE=SMDK2443 u-boot usbtty CDC ACM mode

usb:v1457p511D*
 ID_MODEL_FROM_DATABASE=QT2410 u-boot usbtty CDC ACM mode

usb:v1457p5120*
 ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 u-boot usbtty generic serial

usb:v1457p5121*
 ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 kernel mass storage (g_storage) mode

usb:v1457p5122*
 ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 / Neo Freerunner kernel cdc_ether USB network

usb:v1457p5123*
 ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 internal USB CSR4 module

usb:v1457p5124*
 ID_MODEL_FROM_DATABASE=OpenMoko Neo1973 Bluetooth Device ID service

usb:v145F*
 ID_VENDOR_FROM_DATABASE=Trust

usb:v145Fp0106*
 ID_MODEL_FROM_DATABASE=K56 V92 Modem

usb:v145Fp013D*
 ID_MODEL_FROM_DATABASE=PC Camera (SN9C201 + OV7660)

usb:v145Fp013F*
 ID_MODEL_FROM_DATABASE=Megapixel Auto Focus Webcam

usb:v145Fp0142*
 ID_MODEL_FROM_DATABASE=WB-6250X Webcam

usb:v145Fp015A*
 ID_MODEL_FROM_DATABASE=WB-8300X 2MP Webcam

usb:v145Fp0161*
 ID_MODEL_FROM_DATABASE=15901 802.11bg Wireless Adapter [Realtek RTL8187L]

usb:v145Fp0167*
 ID_MODEL_FROM_DATABASE=Widescreen 3MP Webcam

usb:v145Fp0176*
 ID_MODEL_FROM_DATABASE=Isla Keyboard

usb:v145Fp019F*
 ID_MODEL_FROM_DATABASE=17676 Webcam

usb:v145Fp01E5*
 ID_MODEL_FROM_DATABASE=Keyboard [GXT 830]

usb:v145Fp0212*
 ID_MODEL_FROM_DATABASE=Panora Widescreen Graphic Tablet

usb:v145Fp023F*
 ID_MODEL_FROM_DATABASE=Mouse [GXT 168]

usb:v1460*
 ID_VENDOR_FROM_DATABASE=Tatung Co.

usb:v1460p9150*
 ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver

usb:v1461*
 ID_VENDOR_FROM_DATABASE=Staccato Communications

usb:v1462*
 ID_VENDOR_FROM_DATABASE=Micro Star International

usb:v1462p5512*
 ID_MODEL_FROM_DATABASE=MegaStick-1 Flash Stick

usb:v1462p8807*
 ID_MODEL_FROM_DATABASE=DIGIVOX mini III [af9015]

usb:v146B*
 ID_VENDOR_FROM_DATABASE=BigBen Interactive

usb:v146Bp0601*
 ID_MODEL_FROM_DATABASE=Controller for Xbox 360

usb:v146Bp0902*
 ID_MODEL_FROM_DATABASE=Wired Mini PS3 Game Controller

usb:v1472*
 ID_VENDOR_FROM_DATABASE=Huawei-3Com

usb:v1472p0007*
 ID_MODEL_FROM_DATABASE=Aolynk WUB300g [ZyDAS ZD1211]

usb:v1472p0009*
 ID_MODEL_FROM_DATABASE=Aolynk WUB320g

usb:v147A*
 ID_VENDOR_FROM_DATABASE=Formosa Industrial Computing, Inc.

usb:v147ApE015*
 ID_MODEL_FROM_DATABASE=eHome Infrared Receiver

usb:v147ApE016*
 ID_MODEL_FROM_DATABASE=eHome Infrared Receiver

usb:v147ApE017*
 ID_MODEL_FROM_DATABASE=eHome Infrared Receiver

usb:v147ApE018*
 ID_MODEL_FROM_DATABASE=eHome Infrared Receiver

usb:v147ApE02C*
 ID_MODEL_FROM_DATABASE=Infrared Receiver

usb:v147ApE03A*
 ID_MODEL_FROM_DATABASE=eHome Infrared Receiver

usb:v147ApE03C*
 ID_MODEL_FROM_DATABASE=eHome Infrared Receiver

usb:v147ApE03D*
 ID_MODEL_FROM_DATABASE=2 Channel Audio

usb:v147ApE03E*
 ID_MODEL_FROM_DATABASE=Infrared Receiver [IR605A/Q]

usb:v147E*
 ID_VENDOR_FROM_DATABASE=Upek

usb:v147Ep1000*
 ID_MODEL_FROM_DATABASE=Biometric Touchchip/Touchstrip Fingerprint Sensor

usb:v147Ep1001*
 ID_MODEL_FROM_DATABASE=TCS5B Fingerprint sensor

usb:v147Ep1002*
 ID_MODEL_FROM_DATABASE=Biometric Touchchip/Touchstrip Fingerprint Sensor

usb:v147Ep2016*
 ID_MODEL_FROM_DATABASE=Biometric Touchchip/Touchstrip Fingerprint Sensor

usb:v147Ep2020*
 ID_MODEL_FROM_DATABASE=TouchChip Fingerprint Coprocessor (WBF advanced mode)

usb:v147Ep3000*
 ID_MODEL_FROM_DATABASE=TCS1C EIM/Cypress Fingerprint sensor

usb:v147Ep3001*
 ID_MODEL_FROM_DATABASE=TCS1C EIM/STM32 Fingerprint sensor

usb:v147F*
 ID_VENDOR_FROM_DATABASE=Hama GmbH & Co., KG

usb:v1482*
 ID_VENDOR_FROM_DATABASE=Vaillant

usb:v1482p1005*
 ID_MODEL_FROM_DATABASE=VRD PC-Interface

usb:v1484*
 ID_VENDOR_FROM_DATABASE=Elsa AG [hex]

usb:v1484p1746*
 ID_MODEL_FROM_DATABASE=Ecomo 19H99 Monitor

usb:v1484p7616*
 ID_MODEL_FROM_DATABASE=Elsa Hub

usb:v1485*
 ID_VENDOR_FROM_DATABASE=Silicom

usb:v1485p0001*
 ID_MODEL_FROM_DATABASE=U2E

usb:v1485p0002*
 ID_MODEL_FROM_DATABASE=Psion Gold Port Ethernet

usb:v1487*
 ID_VENDOR_FROM_DATABASE=DSP Group, Ltd.

usb:v148E*
 ID_VENDOR_FROM_DATABASE=EVATRONIX SA

usb:v148F*
 ID_VENDOR_FROM_DATABASE=Ralink Technology, Corp.

usb:v148Fp1000*
 ID_MODEL_FROM_DATABASE=Motorola BC4 Bluetooth 3.0+HS Adapter

usb:v148Fp1706*
 ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter

usb:v148Fp2070*
 ID_MODEL_FROM_DATABASE=RT2070 Wireless Adapter

usb:v148Fp2570*
 ID_MODEL_FROM_DATABASE=RT2570 Wireless Adapter

usb:v148Fp2573*
 ID_MODEL_FROM_DATABASE=RT2501/RT2573 Wireless Adapter

usb:v148Fp2671*
 ID_MODEL_FROM_DATABASE=RT2601/RT2671 Wireless Adapter

usb:v148Fp2770*
 ID_MODEL_FROM_DATABASE=RT2770 Wireless Adapter

usb:v148Fp2870*
 ID_MODEL_FROM_DATABASE=RT2870 Wireless Adapter

usb:v148Fp3070*
 ID_MODEL_FROM_DATABASE=RT2870/RT3070 Wireless Adapter

usb:v148Fp3071*
 ID_MODEL_FROM_DATABASE=RT3071 Wireless Adapter

usb:v148Fp3072*
 ID_MODEL_FROM_DATABASE=RT3072 Wireless Adapter

usb:v148Fp3370*
 ID_MODEL_FROM_DATABASE=RT3370 Wireless Adapter

usb:v148Fp3572*
 ID_MODEL_FROM_DATABASE=RT3572 Wireless Adapter

usb:v148Fp3573*
 ID_MODEL_FROM_DATABASE=RT3573 Wireless Adapter

usb:v148Fp5370*
 ID_MODEL_FROM_DATABASE=RT5370 Wireless Adapter

usb:v148Fp5372*
 ID_MODEL_FROM_DATABASE=RT5372 Wireless Adapter

usb:v148Fp5572*
 ID_MODEL_FROM_DATABASE=RT5572 Wireless Adapter

usb:v148Fp7601*
 ID_MODEL_FROM_DATABASE=MT7601U Wireless Adapter

usb:v148Fp760B*
 ID_MODEL_FROM_DATABASE=MT7601U Wireless Adapter

usb:v148Fp761A*
 ID_MODEL_FROM_DATABASE=MT7610U ("Archer T2U" 2.4G+5G WLAN Adapter

usb:v148Fp9020*
 ID_MODEL_FROM_DATABASE=RT2500USB Wireless Adapter

usb:v148Fp9021*
 ID_MODEL_FROM_DATABASE=RT2501USB Wireless Adapter

usb:v1491*
 ID_VENDOR_FROM_DATABASE=Futronic Technology Co. Ltd.

usb:v1491p0020*
 ID_MODEL_FROM_DATABASE=FS81 Fingerprint Scanner Module

usb:v1491p0088*
 ID_MODEL_FROM_DATABASE=Fingerprint Scanner Model FS88

usb:v1493*
 ID_VENDOR_FROM_DATABASE=Suunto

usb:v1493p0010*
 ID_MODEL_FROM_DATABASE=Bluebird [Ambit]

usb:v1493p0019*
 ID_MODEL_FROM_DATABASE=Duck [Ambit2]

usb:v1493p001A*
 ID_MODEL_FROM_DATABASE=Colibri [Ambit2 S]

usb:v1493p001B*
 ID_MODEL_FROM_DATABASE=Emu [Ambit3 Peak]

usb:v1493p001C*
 ID_MODEL_FROM_DATABASE=Finch [Ambit3 Sport]

usb:v1493p001D*
 ID_MODEL_FROM_DATABASE=Greentit [Ambit2 R]

usb:v1493p001E*
 ID_MODEL_FROM_DATABASE=Ibisbill [Ambit3 Run]

usb:v1497*
 ID_VENDOR_FROM_DATABASE=Panstrong Company Ltd.

usb:v1498*
 ID_VENDOR_FROM_DATABASE=Microtek International Inc.

usb:v1498pA090*
 ID_MODEL_FROM_DATABASE=DVB-T Tuner

usb:v149A*
 ID_VENDOR_FROM_DATABASE=Imagination Technologies

usb:v149Ap069B*
 ID_MODEL_FROM_DATABASE=PURE Digital Evoke-1XT Tri-band

usb:v149Ap2107*
 ID_MODEL_FROM_DATABASE=DBX1 DSP core

usb:v14AA*
 ID_VENDOR_FROM_DATABASE=WideView Technology Inc.

usb:v14AAp0001*
 ID_MODEL_FROM_DATABASE=Avermedia AverTV DVBT USB1.1 (cold)

usb:v14AAp0002*
 ID_MODEL_FROM_DATABASE=Avermedia AverTV DVBT USB1.1 (warm)

usb:v14AAp0201*
 ID_MODEL_FROM_DATABASE=AVermedia/Yakumo/Hama/Typhoon DVB-T USB2.0 (cold)

usb:v14AAp0221*
 ID_MODEL_FROM_DATABASE=WT-220U DVB-T dongle

usb:v14AAp022B*
 ID_MODEL_FROM_DATABASE=WT-220U DVB-T dongle

usb:v14AAp0301*
 ID_MODEL_FROM_DATABASE=AVermedia/Yakumo/Hama/Typhoon DVB-T USB2.0 (warm)

usb:v14AD*
 ID_VENDOR_FROM_DATABASE=CTK Corporation

usb:v14AE*
 ID_VENDOR_FROM_DATABASE=Printronix Inc.

usb:v14AF*
 ID_VENDOR_FROM_DATABASE=ATP Electronics Inc.

usb:v14B0*
 ID_VENDOR_FROM_DATABASE=StarTech.com Ltd.

usb:v14B0p3410*
 ID_MODEL_FROM_DATABASE=Serial Adapter ICUSB2321X [TUSB3410I]

usb:v14B2*
 ID_VENDOR_FROM_DATABASE=Ralink Technology, Corp.

usb:v14B2p3A93*
 ID_MODEL_FROM_DATABASE=Topcom 802.11bg Wireless Adapter [Atheros AR5523]

usb:v14B2p3A95*
 ID_MODEL_FROM_DATABASE=Toshiba WUS-G06G-JT 802.11bg Wireless Adapter [Atheros AR5523]

usb:v14B2p3A98*
 ID_MODEL_FROM_DATABASE=Airlink101 AWLL4130 802.11bg Wireless Adapter [Atheros AR5523]

usb:v14B2p3C02*
 ID_MODEL_FROM_DATABASE=Conceptronic C54RU v2 802.11bg Wireless Adapter [Ralink RT2571]

usb:v14B2p3C05*
 ID_MODEL_FROM_DATABASE=rt2570 802.11g WLAN

usb:v14B2p3C06*
 ID_MODEL_FROM_DATABASE=Conceptronic C300RU v1 802.11bgn Wireless Adapter [Ralink RT2870]

usb:v14B2p3C07*
 ID_MODEL_FROM_DATABASE=802.11n adapter

usb:v14B2p3C09*
 ID_MODEL_FROM_DATABASE=802.11n adapter

usb:v14B2p3C22*
 ID_MODEL_FROM_DATABASE=Conceptronic C54RU v3 802.11bg Wireless Adapter [Ralink RT2571W]

usb:v14B2p3C23*
 ID_MODEL_FROM_DATABASE=Airlink101 AWLL6080 802.11bgn Wireless Adapter [Ralink RT2870]

usb:v14B2p3C24*
 ID_MODEL_FROM_DATABASE=NEC NP01LM 802.11abg Wireless Adapter [Ralink RT2571W]

usb:v14B2p3C25*
 ID_MODEL_FROM_DATABASE=DrayTek Vigor N61 802.11bgn Wireless Adapter [Ralink RT2870]

usb:v14B2p3C27*
 ID_MODEL_FROM_DATABASE=Airlink101 AWLL6070 802.11bgn Wireless Adapter [Ralink RT2770]

usb:v14B2p3C28*
 ID_MODEL_FROM_DATABASE=Conceptronic C300RU v2 802.11bgn Wireless Adapter [Ralink RT2770]

usb:v14B2p3C2B*
 ID_MODEL_FROM_DATABASE=NEC NP02LM 802.11bgn Wireless Adapter [Ralink RT3072]

usb:v14B2p3C2C*
 ID_MODEL_FROM_DATABASE=Keebox W150NU 802.11bgn Wireless Adapter [Ralink RT3070]

usb:v14C0*
 ID_VENDOR_FROM_DATABASE=Rockwell Automation, Inc.

usb:v14C2*
 ID_VENDOR_FROM_DATABASE=Gemlight Computer, Ltd

usb:v14C2p0250*
 ID_MODEL_FROM_DATABASE=Storage Adapter V2

usb:v14C2p0350*
 ID_MODEL_FROM_DATABASE=Storage Adapter V2

usb:v14C8*
 ID_VENDOR_FROM_DATABASE=Zytronic

usb:v14C8p0005*
 ID_MODEL_FROM_DATABASE=Touchscreen Controller

usb:v14CD*
 ID_VENDOR_FROM_DATABASE=Super Top

usb:v14CDp1212*
 ID_MODEL_FROM_DATABASE=microSD card reader (SY-T18)

usb:v14CDp121C*
 ID_MODEL_FROM_DATABASE=microSD card reader

usb:v14CDp121F*
 ID_MODEL_FROM_DATABASE=microSD CardReader SY-T18

usb:v14CDp123A*
 ID_MODEL_FROM_DATABASE=SD/MMC/RS-MMC Card Reader

usb:v14CDp125C*
 ID_MODEL_FROM_DATABASE=SD card reader

usb:v14CDp127B*
 ID_MODEL_FROM_DATABASE=SDXC Reader

usb:v14CDp168A*
 ID_MODEL_FROM_DATABASE=Elecom Co., Ltd MR-K013 Multicard Reader

usb:v14CDp6116*
 ID_MODEL_FROM_DATABASE=M6116 SATA Bridge

usb:v14CDp6600*
 ID_MODEL_FROM_DATABASE=M110E PATA bridge

usb:v14CDp6700*
 ID_MODEL_FROM_DATABASE=Card Reader

usb:v14CDp6900*
 ID_MODEL_FROM_DATABASE=Card Reader

usb:v14CDp8123*
 ID_MODEL_FROM_DATABASE=SD MMC Reader

usb:v14CDp8125*
 ID_MODEL_FROM_DATABASE=SD MMC Reader

usb:v14CDp8601*
 ID_MODEL_FROM_DATABASE=4-Port hub

usb:v14CDp8608*
 ID_MODEL_FROM_DATABASE=Hub [Super Top]

usb:v14D8*
 ID_VENDOR_FROM_DATABASE=JAMER INDUSTRIES CO., LTD.

usb:v14DD*
 ID_VENDOR_FROM_DATABASE=Raritan Computer, Inc.

usb:v14DDp1007*
 ID_MODEL_FROM_DATABASE=D2CIM-VUSB KVM connector

usb:v14E0*
 ID_VENDOR_FROM_DATABASE=WiNRADiO Communications

usb:v14E0p0501*
 ID_MODEL_FROM_DATABASE=WR-G528e 'CHEETAH'

usb:v14E1*
 ID_VENDOR_FROM_DATABASE=Dialogue Technology Corp.

usb:v14E1p5000*
 ID_MODEL_FROM_DATABASE=PenMount 5000 Touch Controller

usb:v14E5*
 ID_VENDOR_FROM_DATABASE=SAIN Information & Communications Co., Ltd.

usb:v14EA*
 ID_VENDOR_FROM_DATABASE=Planex Communications

usb:v14EApAB10*
 ID_MODEL_FROM_DATABASE=GW-US54GZ

usb:v14EApAB11*
 ID_MODEL_FROM_DATABASE=GU-1000T

usb:v14EApAB13*
 ID_MODEL_FROM_DATABASE=GW-US54Mini 802.11bg

usb:v14ED*
 ID_VENDOR_FROM_DATABASE=Shure Inc.

usb:v14EDp1000*
 ID_MODEL_FROM_DATABASE=MV5

usb:v14EDp1002*
 ID_MODEL_FROM_DATABASE=MV51

usb:v14EDp1003*
 ID_MODEL_FROM_DATABASE=MVi

usb:v14EDp1004*
 ID_MODEL_FROM_DATABASE=SHA900

usb:v14EDp1005*
 ID_MODEL_FROM_DATABASE=KSE1500

usb:v14EDp1011*
 ID_MODEL_FROM_DATABASE=MV88+

usb:v14EDp1100*
 ID_MODEL_FROM_DATABASE=ANIUSB-MATRIX

usb:v14EDp1101*
 ID_MODEL_FROM_DATABASE=P300

usb:v14EDp29B6*
 ID_MODEL_FROM_DATABASE=X2u Adapter

usb:v14EDp3000*
 ID_MODEL_FROM_DATABASE=RMCE-USB

usb:v14F7*
 ID_VENDOR_FROM_DATABASE=TechniSat Digital GmbH

usb:v14F7p0001*
 ID_MODEL_FROM_DATABASE=SkyStar 2 HD CI

usb:v14F7p0002*
 ID_MODEL_FROM_DATABASE=SkyStar 2 HD CI

usb:v14F7p0003*
 ID_MODEL_FROM_DATABASE=CableStar Combo HD CI

usb:v14F7p0004*
 ID_MODEL_FROM_DATABASE=AirStar TeleStick 2

usb:v14F7p0500*
 ID_MODEL_FROM_DATABASE=DVB-PC TV Star HD

usb:v1500*
 ID_VENDOR_FROM_DATABASE=Ellisys

usb:v1501*
 ID_VENDOR_FROM_DATABASE=Pine-Tum Enterprise Co., Ltd.

usb:v1504*
 ID_VENDOR_FROM_DATABASE=Bixolon CO LTD

usb:v1504p001F*
 ID_MODEL_FROM_DATABASE=SRP-350II Thermal Receipt Printer

usb:v1508*
 ID_VENDOR_FROM_DATABASE=Fibocom

usb:v1509*
 ID_VENDOR_FROM_DATABASE=First International Computer, Inc.

usb:v1509p0A01*
 ID_MODEL_FROM_DATABASE=LI-3100 Area Meter

usb:v1509p0A02*
 ID_MODEL_FROM_DATABASE=LI-7000 CO2/H2O Gas Analyzer

usb:v1509p0A03*
 ID_MODEL_FROM_DATABASE=C-DiGit Blot Scanner

usb:v1509p9242*
 ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver

usb:v1513*
 ID_VENDOR_FROM_DATABASE=medMobile

usb:v1513p0444*
 ID_MODEL_FROM_DATABASE=medMobile

usb:v1514*
 ID_VENDOR_FROM_DATABASE=Actel

usb:v1514p2003*
 ID_MODEL_FROM_DATABASE=FlashPro3 Programmer

usb:v1514p2004*
 ID_MODEL_FROM_DATABASE=FlashPro3 Programmer

usb:v1514p2005*
 ID_MODEL_FROM_DATABASE=FlashPro3 Programmer

usb:v1516*
 ID_VENDOR_FROM_DATABASE=CompUSA

usb:v1516p1603*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v1516p8628*
 ID_MODEL_FROM_DATABASE=Pen Drive

usb:v1518*
 ID_VENDOR_FROM_DATABASE=Cheshire Engineering Corp.

usb:v1518p0001*
 ID_MODEL_FROM_DATABASE=HDReye High Dynamic Range Camera

usb:v1518p0002*
 ID_MODEL_FROM_DATABASE=HDReye (before firmware loads)

usb:v1519*
 ID_VENDOR_FROM_DATABASE=Comneon

usb:v1519p0020*
 ID_MODEL_FROM_DATABASE=HSIC Device

usb:v151F*
 ID_VENDOR_FROM_DATABASE=Opal Kelly Incorporated

usb:v151Fp0020*
 ID_MODEL_FROM_DATABASE=XEM3001v1

usb:v151Fp0021*
 ID_MODEL_FROM_DATABASE=XEM3001v2

usb:v151Fp0022*
 ID_MODEL_FROM_DATABASE=XEM3010

usb:v151Fp0023*
 ID_MODEL_FROM_DATABASE=XEM3005

usb:v151Fp0028*
 ID_MODEL_FROM_DATABASE=XEM3050

usb:v151Fp002B*
 ID_MODEL_FROM_DATABASE=XEM5010

usb:v151Fp002C*
 ID_MODEL_FROM_DATABASE=XEM6001

usb:v151Fp002D*
 ID_MODEL_FROM_DATABASE=XEM6010-LX45

usb:v151Fp002E*
 ID_MODEL_FROM_DATABASE=XEM6010-LX150

usb:v151Fp0030*
 ID_MODEL_FROM_DATABASE=XEM6006-LX16

usb:v151Fp0033*
 ID_MODEL_FROM_DATABASE=XEM6002-LX9

usb:v151Fp0034*
 ID_MODEL_FROM_DATABASE=XEM7001-A15

usb:v151Fp0036*
 ID_MODEL_FROM_DATABASE=XEM7010-A50

usb:v151Fp0037*
 ID_MODEL_FROM_DATABASE=XEM7010-A200

usb:v151Fp0120*
 ID_MODEL_FROM_DATABASE=ZEM4310

usb:v151Fp0121*
 ID_MODEL_FROM_DATABASE=XEM6310-LX45

usb:v151Fp0122*
 ID_MODEL_FROM_DATABASE=XEM6310-LX150

usb:v151Fp0123*
 ID_MODEL_FROM_DATABASE=XEM6310MT-LX45T

usb:v151Fp0125*
 ID_MODEL_FROM_DATABASE=XEM7350-K70T

usb:v151Fp0126*
 ID_MODEL_FROM_DATABASE=XEM7350-K160T

usb:v151Fp0127*
 ID_MODEL_FROM_DATABASE=XEM7350-K410T

usb:v151Fp0128*
 ID_MODEL_FROM_DATABASE=XEM6310MT-LX150T

usb:v151Fp0129*
 ID_MODEL_FROM_DATABASE=ZEM5305-A2

usb:v151Fp012B*
 ID_MODEL_FROM_DATABASE=XEM7360-K160T

usb:v151Fp012C*
 ID_MODEL_FROM_DATABASE=XEM7360-K410T

usb:v151Fp012D*
 ID_MODEL_FROM_DATABASE=ZEM5310-A4

usb:v151Fp0130*
 ID_MODEL_FROM_DATABASE=XEM7310-A75

usb:v151Fp0131*
 ID_MODEL_FROM_DATABASE=XEM7310-A200

usb:v1520*
 ID_VENDOR_FROM_DATABASE=Bitwire Corp.

usb:v1524*
 ID_VENDOR_FROM_DATABASE=ENE Technology Inc

usb:v1524p6680*
 ID_MODEL_FROM_DATABASE=UTS 6680

usb:v1527*
 ID_VENDOR_FROM_DATABASE=Silicon Portals

usb:v1527p0200*
 ID_MODEL_FROM_DATABASE=YAP Phone (no firmware)

usb:v1527p0201*
 ID_MODEL_FROM_DATABASE=YAP Phone

usb:v1529*
 ID_VENDOR_FROM_DATABASE=UBIQUAM Co., Ltd.

usb:v1529p3100*
 ID_MODEL_FROM_DATABASE=CDMA 1xRTT USB Modem (U-100/105/200/300/520)

usb:v152A*
 ID_VENDOR_FROM_DATABASE=Thesycon Systemsoftware & Consulting GmbH

usb:v152Ap8350*
 ID_MODEL_FROM_DATABASE=NET Gmbh iCube Camera

usb:v152Ap8400*
 ID_MODEL_FROM_DATABASE=INI DVS128

usb:v152Ap840D*
 ID_MODEL_FROM_DATABASE=INI DAViS

usb:v152Ap841A*
 ID_MODEL_FROM_DATABASE=INI DAViS FX3

usb:v152B*
 ID_VENDOR_FROM_DATABASE=MIR Srl

usb:v152Bp0001*
 ID_MODEL_FROM_DATABASE=spirobank II

usb:v152Bp0002*
 ID_MODEL_FROM_DATABASE=spirolab III

usb:v152Bp0003*
 ID_MODEL_FROM_DATABASE=MiniSpir

usb:v152Bp0004*
 ID_MODEL_FROM_DATABASE=Oxi

usb:v152Bp0005*
 ID_MODEL_FROM_DATABASE=spiros II

usb:v152Bp0006*
 ID_MODEL_FROM_DATABASE=smiths spirobank II

usb:v152Bp0007*
 ID_MODEL_FROM_DATABASE=smiths spirobank G-USB

usb:v152Bp0008*
 ID_MODEL_FROM_DATABASE=smiths MiniSpir

usb:v152Bp0009*
 ID_MODEL_FROM_DATABASE=spirobank G-USB

usb:v152Bp000A*
 ID_MODEL_FROM_DATABASE=smiths Oxi

usb:v152Bp000B*
 ID_MODEL_FROM_DATABASE=smiths spirolab III

usb:v152Bp000C*
 ID_MODEL_FROM_DATABASE=chorus III

usb:v152Bp000D*
 ID_MODEL_FROM_DATABASE=spirolab III Bw

usb:v152Bp000E*
 ID_MODEL_FROM_DATABASE=spirolab III

usb:v152Bp000F*
 ID_MODEL_FROM_DATABASE=easySpiro

usb:v152Bp0010*
 ID_MODEL_FROM_DATABASE=Spirotel converter

usb:v152Bp0011*
 ID_MODEL_FROM_DATABASE=spirobank

usb:v152Bp0012*
 ID_MODEL_FROM_DATABASE=spiro3 Zimmer

usb:v152Bp0013*
 ID_MODEL_FROM_DATABASE=spirotel serial

usb:v152Bp0014*
 ID_MODEL_FROM_DATABASE=spirotel II

usb:v152Bp0015*
 ID_MODEL_FROM_DATABASE=spirodoc

usb:v152D*
 ID_VENDOR_FROM_DATABASE=JMicron Technology Corp. / JMicron USA Technology Corp.

usb:v152Dp0539*
 ID_MODEL_FROM_DATABASE=JMS539/567 SuperSpeed SATA II/III 3.0G/6.0G Bridge

usb:v152Dp0551*
 ID_MODEL_FROM_DATABASE=JMS551 SuperSpeed two ports SATA 3Gb/s bridge

usb:v152Dp0561*
 ID_MODEL_FROM_DATABASE=JMS551 - Sharkoon SATA QuickPort Duo

usb:v152Dp0562*
 ID_MODEL_FROM_DATABASE=JMS567 SATA 6Gb/s bridge

usb:v152Dp0567*
 ID_MODEL_FROM_DATABASE=JMS567 SATA 6Gb/s bridge

usb:v152Dp0576*
 ID_MODEL_FROM_DATABASE=Gen1 SATA 6Gb/s Bridge

usb:v152Dp0578*
 ID_MODEL_FROM_DATABASE=JMS578 SATA 6Gb/s

usb:v152Dp0583*
 ID_MODEL_FROM_DATABASE=JMS583Gen 2 to PCIe Gen3x2 Bridge

usb:v152Dp0770*
 ID_MODEL_FROM_DATABASE=Alienware Integrated Webcam

usb:v152Dp1561*
 ID_MODEL_FROM_DATABASE=JMS561U two ports SATA 6Gb/s bridge

usb:v152Dp1576*
 ID_MODEL_FROM_DATABASE=External Disk 3.0

usb:v152Dp2329*
 ID_MODEL_FROM_DATABASE=JM20329 SATA Bridge

usb:v152Dp2335*
 ID_MODEL_FROM_DATABASE=ATA/ATAPI Bridge

usb:v152Dp2336*
 ID_MODEL_FROM_DATABASE=Hard Disk Drive

usb:v152Dp2337*
 ID_MODEL_FROM_DATABASE=ATA/ATAPI Bridge

usb:v152Dp2338*
 ID_MODEL_FROM_DATABASE=JM20337 Hi-Speed USB to SATA & PATA Combo Bridge

usb:v152Dp2339*
 ID_MODEL_FROM_DATABASE=JM20339 SATA Bridge

usb:v152Dp2352*
 ID_MODEL_FROM_DATABASE=ATA/ATAPI Bridge

usb:v152Dp2509*
 ID_MODEL_FROM_DATABASE=JMS539, JMS551 SATA 3Gb/s bridge

usb:v152Dp2551*
 ID_MODEL_FROM_DATABASE=JMS551 SATA 3Gb/s bridge

usb:v152Dp2561*
 ID_MODEL_FROM_DATABASE=CEB-2235S-U3 external RAID box

usb:v152Dp2566*
 ID_MODEL_FROM_DATABASE=JMS566 SATA 3Gb/s bridge

usb:v152Dp2590*
 ID_MODEL_FROM_DATABASE=JMS567 SATA 6Gb/s bridge

usb:v152Dp3562*
 ID_MODEL_FROM_DATABASE=JMS567 SATA 6Gb/s bridge

usb:v152Dp3569*
 ID_MODEL_FROM_DATABASE=JMS566 SATA 3Gb/s bridge

usb:v152Dp578E*
 ID_MODEL_FROM_DATABASE=JMS578 SATA 6Gb/s bridge

usb:v152Dp8561*
 ID_MODEL_FROM_DATABASE=salcar docking station two disks

usb:v152E*
 ID_VENDOR_FROM_DATABASE=LG (HLDS)

usb:v152Ep1640*
 ID_MODEL_FROM_DATABASE=INIC-1605 SATA Bridge

usb:v152Ep2507*
 ID_MODEL_FROM_DATABASE=PL-2507 IDE Controller

usb:v152Ep2571*
 ID_MODEL_FROM_DATABASE=GP08NU6W DVD-RW

usb:v152EpE001*
 ID_MODEL_FROM_DATABASE=GSA-5120D DVD-RW

usb:v1532*
 ID_VENDOR_FROM_DATABASE=Razer USA, Ltd

usb:v1532p0001*
 ID_MODEL_FROM_DATABASE=RZ01-020300 Optical Mouse [Diamondback]

usb:v1532p0002*
 ID_MODEL_FROM_DATABASE=Diamondback Optical Mouse

usb:v1532p0003*
 ID_MODEL_FROM_DATABASE=Krait Mouse

usb:v1532p0005*
 ID_MODEL_FROM_DATABASE=Boomslang CE

usb:v1532p0007*
 ID_MODEL_FROM_DATABASE=DeathAdder Mouse

usb:v1532p0009*
 ID_MODEL_FROM_DATABASE=Gaming Mouse [Tempest Habu]

usb:v1532p000A*
 ID_MODEL_FROM_DATABASE=Mamba (Wired)

usb:v1532p000C*
 ID_MODEL_FROM_DATABASE=Lachesis

usb:v1532p000D*
 ID_MODEL_FROM_DATABASE=DiamondBack 3G

usb:v1532p000E*
 ID_MODEL_FROM_DATABASE=Megalodon

usb:v1532p000F*
 ID_MODEL_FROM_DATABASE=Mamba (Wireless)

usb:v1532p0012*
 ID_MODEL_FROM_DATABASE=Gaming Mouse [Salmosa]

usb:v1532p0013*
 ID_MODEL_FROM_DATABASE=Orochi 2011

usb:v1532p0015*
 ID_MODEL_FROM_DATABASE=Naga Mouse

usb:v1532p0016*
 ID_MODEL_FROM_DATABASE=DeathAdder 3.5G

usb:v1532p0017*
 ID_MODEL_FROM_DATABASE=RZ01-0035 Laser Gaming Mouse [Imperator]

usb:v1532p0019*
 ID_MODEL_FROM_DATABASE=Marauder

usb:v1532p001A*
 ID_MODEL_FROM_DATABASE=Spectre

usb:v1532p001B*
 ID_MODEL_FROM_DATABASE=Gaming Headset

usb:v1532p001C*
 ID_MODEL_FROM_DATABASE=RZ01-0036 Optical Gaming Mouse [Abyssus]

usb:v1532p001E*
 ID_MODEL_FROM_DATABASE=Lachesis (5600 DPI)

usb:v1532p001F*
 ID_MODEL_FROM_DATABASE=Naga Epic (Wired)

usb:v1532p0020*
 ID_MODEL_FROM_DATABASE=Abyssus 1800

usb:v1532p0021*
 ID_MODEL_FROM_DATABASE=Naga Epic Dock (Wireless, Bluetooth)

usb:v1532p0022*
 ID_MODEL_FROM_DATABASE=Gaming Mouse [TRON]

usb:v1532p0023*
 ID_MODEL_FROM_DATABASE=Gaming Keyboard [TRON]

usb:v1532p0024*
 ID_MODEL_FROM_DATABASE=Mamba 2012 (Wired)

usb:v1532p0025*
 ID_MODEL_FROM_DATABASE=Mamba 2012 (Wireless)

usb:v1532p0029*
 ID_MODEL_FROM_DATABASE=DeathAdder Black Edition

usb:v1532p002A*
 ID_MODEL_FROM_DATABASE=Gaming Mouse [Star Wars: The Old Republic]

usb:v1532p002B*
 ID_MODEL_FROM_DATABASE=Gaming Keyboard [Star Wars: The Old Republic]

usb:v1532p002C*
 ID_MODEL_FROM_DATABASE=Gaming Headset [Star Wars: The Old Republic]

usb:v1532p002E*
 ID_MODEL_FROM_DATABASE=RZ01-0058 Gaming Mouse [Naga 2012]

usb:v1532p002F*
 ID_MODEL_FROM_DATABASE=Imperator 2012

usb:v1532p0031*
 ID_MODEL_FROM_DATABASE=Gaming Mouse Dock [Star Wars: The Old Republic]

usb:v1532p0032*
 ID_MODEL_FROM_DATABASE=Ouroboros 2012 (Wired)

usb:v1532p0033*
 ID_MODEL_FROM_DATABASE=Ouroboros 2012 (Wireless)

usb:v1532p0034*
 ID_MODEL_FROM_DATABASE=Taipan

usb:v1532p0035*
 ID_MODEL_FROM_DATABASE=Krait 2013 Essential

usb:v1532p0036*
 ID_MODEL_FROM_DATABASE=RZ01-0075, Gaming Mouse [Naga Hex (Red)]

usb:v1532p0037*
 ID_MODEL_FROM_DATABASE=DeathAdder 2013

usb:v1532p0038*
 ID_MODEL_FROM_DATABASE=DeathAdder 1800

usb:v1532p0039*
 ID_MODEL_FROM_DATABASE=Orochi 2013

usb:v1532p003E*
 ID_MODEL_FROM_DATABASE=Naga Epic Chroma (Wired)

usb:v1532p003F*
 ID_MODEL_FROM_DATABASE=Naga Epic Chroma (Wireless)

usb:v1532p0040*
 ID_MODEL_FROM_DATABASE=Naga 2014

usb:v1532p0041*
 ID_MODEL_FROM_DATABASE=Naga Hex

usb:v1532p0042*
 ID_MODEL_FROM_DATABASE=Abyssus 2014

usb:v1532p0043*
 ID_MODEL_FROM_DATABASE=DeathAdder Chroma

usb:v1532p0044*
 ID_MODEL_FROM_DATABASE=Mamba Chroma (Wired)

usb:v1532p0045*
 ID_MODEL_FROM_DATABASE=Mamba Chroma (Wireless)

usb:v1532p0046*
 ID_MODEL_FROM_DATABASE=Mamba 2015 Tournament Edition [RZ01-01370100-R3]

usb:v1532p0048*
 ID_MODEL_FROM_DATABASE=Orochi 2015 (Wired)

usb:v1532p004A*
 ID_MODEL_FROM_DATABASE=RZ03-0133 Gaming Lapboard, Keyboard Mouse Combo, Dongle [Turret Dongle]

usb:v1532p004C*
 ID_MODEL_FROM_DATABASE=Diamondback Chroma

usb:v1532p004D*
 ID_MODEL_FROM_DATABASE=DeathAdder 2000 (Cynosa Pro Bundle)

usb:v1532p004F*
 ID_MODEL_FROM_DATABASE=RZ01-0145, Gaming Mouse [DeathAdder 2000 (Alternate)]

usb:v1532p0050*
 ID_MODEL_FROM_DATABASE=Naga Hex V2

usb:v1532p0053*
 ID_MODEL_FROM_DATABASE=Naga Chroma

usb:v1532p0054*
 ID_MODEL_FROM_DATABASE=DeathAdder 3500

usb:v1532p0056*
 ID_MODEL_FROM_DATABASE=Orochi 2015 (Wireless)

usb:v1532p0059*
 ID_MODEL_FROM_DATABASE=RZ01-0212 Gaming Mouse [Lancehead (Wired)]

usb:v1532p005A*
 ID_MODEL_FROM_DATABASE=RZ01-0212 Gaming Mouse [Lancehead (Wireless)]

usb:v1532p005B*
 ID_MODEL_FROM_DATABASE=Abyssus V2

usb:v1532p005C*
 ID_MODEL_FROM_DATABASE=DeathAdder Elite

usb:v1532p005E*
 ID_MODEL_FROM_DATABASE=Abyssus 2000

usb:v1532p005F*
 ID_MODEL_FROM_DATABASE=DeathAdder 2000

usb:v1532p0060*
 ID_MODEL_FROM_DATABASE=RZ01-0213 Gaming Mouse [Lancehead Tournament Edition]

usb:v1532p0062*
 ID_MODEL_FROM_DATABASE=Atheris

usb:v1532p0064*
 ID_MODEL_FROM_DATABASE=Basilisk

usb:v1532p0065*
 ID_MODEL_FROM_DATABASE=RZ01-0265, Gaming Mouse [Basilisk Essential]

usb:v1532p0067*
 ID_MODEL_FROM_DATABASE=Naga Trinity

usb:v1532p0068*
 ID_MODEL_FROM_DATABASE=Gaming Mouse Mat [Firefly Hyperflux]

usb:v1532p0069*
 ID_MODEL_FROM_DATABASE=Gaming Mouse [Mamba Hyperflux]

usb:v1532p006A*
 ID_MODEL_FROM_DATABASE=Abyssus Elite (D.Va Edition)

usb:v1532p006B*
 ID_MODEL_FROM_DATABASE=Abyssus Essential

usb:v1532p006C*
 ID_MODEL_FROM_DATABASE=Mamba Elite (Wired)

usb:v1532p006E*
 ID_MODEL_FROM_DATABASE=DeathAdder Essential

usb:v1532p006F*
 ID_MODEL_FROM_DATABASE=RZ01-0257 Gaming Mouse [Lancehead Wireless (2019, Wireless, Receiver)]

usb:v1532p0070*
 ID_MODEL_FROM_DATABASE=RZ01-0257 Gaming Mouse [Lancehead Wireless (2019, Wired)]

usb:v1532p0071*
 ID_MODEL_FROM_DATABASE=RZ01-0254 Gaming Mouse [DeathAdder Essential White Edition]

usb:v1532p0072*
 ID_MODEL_FROM_DATABASE=Mamba 2018 (Wireless)

usb:v1532p0073*
 ID_MODEL_FROM_DATABASE=Mamba 2018 (Wired)

usb:v1532p0078*
 ID_MODEL_FROM_DATABASE=Viper (wired)

usb:v1532p007A*
 ID_MODEL_FROM_DATABASE=RC30-0305 Gaming Mouse [Viper Ultimate (Wired)]

usb:v1532p007B*
 ID_MODEL_FROM_DATABASE=RC30-0305 Gaming Mouse Dongle [Viper Ultimate (Wireless)]

usb:v1532p007E*
 ID_MODEL_FROM_DATABASE=RC30-030502 Mouse Dock

usb:v1532p0083*
 ID_MODEL_FROM_DATABASE=RC30-0315, Gaming Mouse [Basilisk X HyperSpeed]

usb:v1532p0084*
 ID_MODEL_FROM_DATABASE=RZ01-0321 Gaming Mouse [DeathAdder V2]

usb:v1532p0085*
 ID_MODEL_FROM_DATABASE=RZ01-0316 Gaming Mouse [Basilisk V2]

usb:v1532p0086*
 ID_MODEL_FROM_DATABASE=Gaming Mouse [Basilisk Ultimate, Wired]

usb:v1532p0088*
 ID_MODEL_FROM_DATABASE=Gaming Mouse [Basilisk Ultimate, Wireless, Receiver]

usb:v1532p008A*
 ID_MODEL_FROM_DATABASE=RZ01-0325, Gaming Mouse [Viper Mini]

usb:v1532p0101*
 ID_MODEL_FROM_DATABASE=Copperhead Mouse

usb:v1532p0102*
 ID_MODEL_FROM_DATABASE=Tarantula Keyboard

usb:v1532p0103*
 ID_MODEL_FROM_DATABASE=Gaming Keyboard [Reclusa]

usb:v1532p0105*
 ID_MODEL_FROM_DATABASE=Gaming Keyboard [ProType]

usb:v1532p0106*
 ID_MODEL_FROM_DATABASE=Gaming Keyboard [ProType]

usb:v1532p0109*
 ID_MODEL_FROM_DATABASE=Lycosa Keyboard

usb:v1532p010B*
 ID_MODEL_FROM_DATABASE=Gaming Keyboard [Arctosa]

usb:v1532p010D*
 ID_MODEL_FROM_DATABASE=BlackWidow Ultimate 2012

usb:v1532p010E*
 ID_MODEL_FROM_DATABASE=BlackWidow Classic (Alternate)

usb:v1532p010F*
 ID_MODEL_FROM_DATABASE=Anansi

usb:v1532p0110*
 ID_MODEL_FROM_DATABASE=Cyclosa

usb:v1532p0111*
 ID_MODEL_FROM_DATABASE=Nostromo

usb:v1532p0113*
 ID_MODEL_FROM_DATABASE=RZ07-0074 Gaming Keypad [Orbweaver]

usb:v1532p0114*
 ID_MODEL_FROM_DATABASE=DeathStalker Ultimate

usb:v1532p0116*
 ID_MODEL_FROM_DATABASE=Blade Pro (2015)

usb:v1532p0118*
 ID_MODEL_FROM_DATABASE=RZ03-0080, Gaming Keyboard [Deathstalker Essential]

usb:v1532p0119*
 ID_MODEL_FROM_DATABASE=Gaming Keyboard [Lycosa]

usb:v1532p011A*
 ID_MODEL_FROM_DATABASE=BlackWidow Ultimate 2013

usb:v1532p011B*
 ID_MODEL_FROM_DATABASE=BlackWidow Classic

usb:v1532p011C*
 ID_MODEL_FROM_DATABASE=BlackWidow Tournament Edition Stealth

usb:v1532p011D*
 ID_MODEL_FROM_DATABASE=Blade 2013

usb:v1532p011E*
 ID_MODEL_FROM_DATABASE=Gaming Keyboard Dock [Edge Keyboard Dock]

usb:v1532p011F*
 ID_MODEL_FROM_DATABASE=Deathstalker Essential 2014

usb:v1532p0200*
 ID_MODEL_FROM_DATABASE=Gaming Keyboard [Reclusa]

usb:v1532p0201*
 ID_MODEL_FROM_DATABASE=Tartarus

usb:v1532p0202*
 ID_MODEL_FROM_DATABASE=DeathStalker Expert

usb:v1532p0203*
 ID_MODEL_FROM_DATABASE=BlackWidow Chroma

usb:v1532p0204*
 ID_MODEL_FROM_DATABASE=DeathStalker Chroma

usb:v1532p0205*
 ID_MODEL_FROM_DATABASE=Blade Stealth

usb:v1532p0207*
 ID_MODEL_FROM_DATABASE=Orbweaver Chroma keypad

usb:v1532p0208*
 ID_MODEL_FROM_DATABASE=Tartarus Chroma

usb:v1532p0209*
 ID_MODEL_FROM_DATABASE=BlackWidow Tournament Edition Chroma

usb:v1532p020D*
 ID_MODEL_FROM_DATABASE=Cynosa Pro keyboard (Cynosa Pro Bundle)

usb:v1532p020F*
 ID_MODEL_FROM_DATABASE=Blade QHD

usb:v1532p0210*
 ID_MODEL_FROM_DATABASE=Blade Pro (Late 2016)

usb:v1532p0211*
 ID_MODEL_FROM_DATABASE=BlackWidow Chroma (Overwatch)

usb:v1532p0214*
 ID_MODEL_FROM_DATABASE=BlackWidow Ultimate 2016

usb:v1532p0215*
 ID_MODEL_FROM_DATABASE=Core

usb:v1532p0216*
 ID_MODEL_FROM_DATABASE=BlackWidow X Chroma

usb:v1532p0217*
 ID_MODEL_FROM_DATABASE=BlackWidow X Ultimate

usb:v1532p021A*
 ID_MODEL_FROM_DATABASE=BlackWidow X Tournament Edition Chroma

usb:v1532p021B*
 ID_MODEL_FROM_DATABASE=Gaming Keyboard [BlackWidow X Tournament Edition]

usb:v1532p021E*
 ID_MODEL_FROM_DATABASE=Ornata Chroma

usb:v1532p021F*
 ID_MODEL_FROM_DATABASE=Ornata

usb:v1532p0220*
 ID_MODEL_FROM_DATABASE=Blade Stealth (2016)

usb:v1532p0221*
 ID_MODEL_FROM_DATABASE=RZ03-0203 Gaming Keyboard [BlackWidow Chroma V2]

usb:v1532p0224*
 ID_MODEL_FROM_DATABASE=Blade (Late 2016)

usb:v1532p0225*
 ID_MODEL_FROM_DATABASE=Blade Pro (2017)

usb:v1532p0226*
 ID_MODEL_FROM_DATABASE=Huntsman Elite

usb:v1532p0227*
 ID_MODEL_FROM_DATABASE=Huntsman

usb:v1532p0228*
 ID_MODEL_FROM_DATABASE=BlackWidow Elite

usb:v1532p022A*
 ID_MODEL_FROM_DATABASE=Cynosa Chroma

usb:v1532p022B*
 ID_MODEL_FROM_DATABASE=Tartarus V2

usb:v1532p022C*
 ID_MODEL_FROM_DATABASE=Cynosa Chroma Pro

usb:v1532p022D*
 ID_MODEL_FROM_DATABASE=Blade Stealth (Mid 2017)

usb:v1532p022F*
 ID_MODEL_FROM_DATABASE=Blade Pro FullHD (2017)

usb:v1532p0232*
 ID_MODEL_FROM_DATABASE=Blade Stealth (Late 2017)

usb:v1532p0233*
 ID_MODEL_FROM_DATABASE=Blade 15 (2018)

usb:v1532p0234*
 ID_MODEL_FROM_DATABASE=Blade Pro 17 (2019)

usb:v1532p0235*
 ID_MODEL_FROM_DATABASE=BlackWidow Lite (2018)

usb:v1532p0237*
 ID_MODEL_FROM_DATABASE=BlackWidow Essential

usb:v1532p0239*
 ID_MODEL_FROM_DATABASE=Blade Stealth (2019)

usb:v1532p023A*
 ID_MODEL_FROM_DATABASE=Blade 15 (2019) Advanced

usb:v1532p023B*
 ID_MODEL_FROM_DATABASE=Blade 15 (2018) Base Model

usb:v1532p023F*
 ID_MODEL_FROM_DATABASE=RZ03-0274 Gaming Keyboard [Cynosa Lite]

usb:v1532p0240*
 ID_MODEL_FROM_DATABASE=Blade 15 (2018) Mercury

usb:v1532p0241*
 ID_MODEL_FROM_DATABASE=BlackWidow (2019)

usb:v1532p0243*
 ID_MODEL_FROM_DATABASE=Huntsman Tournament Edition

usb:v1532p0244*
 ID_MODEL_FROM_DATABASE=RZ07-0311 Gaming Keypad [Tartarus Pro]

usb:v1532p0245*
 ID_MODEL_FROM_DATABASE=Blade 15 (Mid 2019) Mercury

usb:v1532p0246*
 ID_MODEL_FROM_DATABASE=Blade 15 (Mid 2019) Base Model

usb:v1532p024A*
 ID_MODEL_FROM_DATABASE=Blade Stealth (Late 2019)

usb:v1532p024B*
 ID_MODEL_FROM_DATABASE=Gaming Laptop [Blade 15 Advanced (Late 2019)]

usb:v1532p024C*
 ID_MODEL_FROM_DATABASE=Gaming Laptop [Blade Pro (Late 2019)]

usb:v1532p024D*
 ID_MODEL_FROM_DATABASE=Blade 15 Studio Edition (2019)

usb:v1532p0253*
 ID_MODEL_FROM_DATABASE=RZ09-0330, Gaming Laptop [Blade 15 Advanced (Early 2020)]

usb:v1532p0255*
 ID_MODEL_FROM_DATABASE=RZ09-0328, Gaming Laptop [Blade 15 Base Model (2020)]

usb:v1532p0256*
 ID_MODEL_FROM_DATABASE=RZ09--0329, Gaming Laptop [Blade Pro 17 Full HD (2020)]

usb:v1532p025D*
 ID_MODEL_FROM_DATABASE=RZ03-0338, Gaming Keyboard [Ornata V2]

usb:v1532p0300*
 ID_MODEL_FROM_DATABASE=RZ06-0063 Motion Sensing Controllers [Hydra]

usb:v1532p0401*
 ID_MODEL_FROM_DATABASE=Gaming Arcade Stick [Panthera]

usb:v1532p0501*
 ID_MODEL_FROM_DATABASE=Kraken 7.1

usb:v1532p0502*
 ID_MODEL_FROM_DATABASE=Gaming Headset [Kraken USB]

usb:v1532p0504*
 ID_MODEL_FROM_DATABASE=Kraken 7.1 Chroma

usb:v1532p0506*
 ID_MODEL_FROM_DATABASE=Kraken 7.1 (Alternate Version)

usb:v1532p0510*
 ID_MODEL_FROM_DATABASE=Kraken 7.1 V2

usb:v1532p0511*
 ID_MODEL_FROM_DATABASE=RZ19-0229 Gaming Microphone

usb:v1532p0514*
 ID_MODEL_FROM_DATABASE=Electra V2 USB

usb:v1532p0517*
 ID_MODEL_FROM_DATABASE=Nommo Chroma

usb:v1532p0518*
 ID_MODEL_FROM_DATABASE=Nommo Pro

usb:v1532p051A*
 ID_MODEL_FROM_DATABASE=Nari Ultimate

usb:v1532p051C*
 ID_MODEL_FROM_DATABASE=Nari (Wireless)

usb:v1532p051D*
 ID_MODEL_FROM_DATABASE=Nari (Wired)

usb:v1532p051E*
 ID_MODEL_FROM_DATABASE=RC30-026902, Gaming Headset [Nari Essential, Wireless, Receiver]

usb:v1532p051F*
 ID_MODEL_FROM_DATABASE=RC30-026901, Gaming Headset [Nari Essential, Wired]

usb:v1532p0520*
 ID_MODEL_FROM_DATABASE=Kraken Tournament Edition

usb:v1532p0521*
 ID_MODEL_FROM_DATABASE=Kraken Kitty Edition

usb:v1532p0527*
 ID_MODEL_FROM_DATABASE=RZ04-0318 Gaming Headset [Kraken Ultimate]

usb:v1532p0904*
 ID_MODEL_FROM_DATABASE=R201-0282 Gaming Keyboard, Mouse Combination [Turret For Xbox One]

usb:v1532p0A00*
 ID_MODEL_FROM_DATABASE=Atrox Arcade Stick for Xbox One

usb:v1532p0A02*
 ID_MODEL_FROM_DATABASE=ManO'War

usb:v1532p0A03*
 ID_MODEL_FROM_DATABASE=Wildcat

usb:v1532p0A15*
 ID_MODEL_FROM_DATABASE=RZ06-0199, Gaming Controller [Wolverine Tournament Edition]

usb:v1532p0C00*
 ID_MODEL_FROM_DATABASE=RZ02-0135 Hard Gaming Mouse Mat [Firefly]

usb:v1532p0C01*
 ID_MODEL_FROM_DATABASE=Goliathus

usb:v1532p0C02*
 ID_MODEL_FROM_DATABASE=Goliathus Extended

usb:v1532p0C04*
 ID_MODEL_FROM_DATABASE=Firefly V2

usb:v1532p0E03*
 ID_MODEL_FROM_DATABASE=Gaming Webcam [Kiyo]

usb:v1532p0F03*
 ID_MODEL_FROM_DATABASE=Tiamat 7.1 V2

usb:v1532p0F07*
 ID_MODEL_FROM_DATABASE=Chroma Mug Holder

usb:v1532p0F08*
 ID_MODEL_FROM_DATABASE=Base Station Chroma

usb:v1532p0F09*
 ID_MODEL_FROM_DATABASE=Chroma HDK

usb:v1532p0F0D*
 ID_MODEL_FROM_DATABASE=Laptop Stand Chroma

usb:v1532p0F13*
 ID_MODEL_FROM_DATABASE=Lian Li O11 Dynamic Razer Edition

usb:v1532p0F1A*
 ID_MODEL_FROM_DATABASE=Core X Chroma

usb:v1532p1000*
 ID_MODEL_FROM_DATABASE=Gaming Controller [Raiju]

usb:v1532p1004*
 ID_MODEL_FROM_DATABASE=Gaming Controller [Raiju Ultimate Wired]

usb:v1532p1007*
 ID_MODEL_FROM_DATABASE=Gaming Controller [Raiju 2 Tournament Edition (USB)]

usb:v1532p1008*
 ID_MODEL_FROM_DATABASE=Gaming Flightstick [Panthera Evo]

usb:v1532p1009*
 ID_MODEL_FROM_DATABASE=Gaming Controller [Raiju 2 Ultimate Edition (BT)]

usb:v1532p100A*
 ID_MODEL_FROM_DATABASE=Gaming Controller [Raiju 2 Tournament Edition (BT)]

usb:v1532p110D*
 ID_MODEL_FROM_DATABASE=Bootloader (Alternate)

usb:v1532p800E*
 ID_MODEL_FROM_DATABASE=Bootloader

usb:v153B*
 ID_VENDOR_FROM_DATABASE=TerraTec Electronic GmbH

usb:v153Bp1181*
 ID_MODEL_FROM_DATABASE=Cinergy S2 PCIe Dual Port 1

usb:v153Bp1182*
 ID_MODEL_FROM_DATABASE=Cinergy S2 PCIe Dual Port 2

usb:v1546*
 ID_VENDOR_FROM_DATABASE=U-Blox AG

usb:v1546p01A4*
 ID_MODEL_FROM_DATABASE=Antaris 4

usb:v1546p01A5*
 ID_MODEL_FROM_DATABASE=[u-blox 5]

usb:v1546p01A6*
 ID_MODEL_FROM_DATABASE=[u-blox 6]

usb:v1546p01A7*
 ID_MODEL_FROM_DATABASE=[u-blox 7]

usb:v1546p01A8*
 ID_MODEL_FROM_DATABASE=[u-blox 8]

usb:v1546p1102*
 ID_MODEL_FROM_DATABASE=LISA-U2

usb:v1547*
 ID_VENDOR_FROM_DATABASE=SG Intec Ltd & Co KG

usb:v1547p1000*
 ID_MODEL_FROM_DATABASE=SG-Lock[U2]

usb:v154A*
 ID_VENDOR_FROM_DATABASE=Celectronic GmbH

usb:v154Ap8180*
 ID_MODEL_FROM_DATABASE=CARD STAR/medic2

usb:v154B*
 ID_VENDOR_FROM_DATABASE=PNY

usb:v154Bp000F*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v154Bp0010*
 ID_MODEL_FROM_DATABASE=USB 2.0 Flash Drive

usb:v154Bp0048*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v154Bp004D*
 ID_MODEL_FROM_DATABASE=8 GB Flash Drive

usb:v154Bp0053*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v154Bp0057*
 ID_MODEL_FROM_DATABASE=32GB Micro Slide Attache Flash Drive

usb:v154Bp005B*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v154Bp0062*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v154Bp007A*
 ID_MODEL_FROM_DATABASE=Classic Attache Flash Drive

usb:v154Bp5408*
 ID_MODEL_FROM_DATABASE=2.5in drive enclosure

usb:v154Bp6000*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v154Bp6545*
 ID_MODEL_FROM_DATABASE=FD Device

usb:v154BpFA05*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v154D*
 ID_VENDOR_FROM_DATABASE=ConnectCounty Holdings Berhad

usb:v154E*
 ID_VENDOR_FROM_DATABASE=D&M Holdings, Inc. (Denon/Marantz)

usb:v154Ep3000*
 ID_MODEL_FROM_DATABASE=Marantz RC9001 Remote Control

usb:v154F*
 ID_VENDOR_FROM_DATABASE=SNBC CO., Ltd

usb:v1554*
 ID_VENDOR_FROM_DATABASE=Prolink Microsystems Corp.

usb:v1554p5010*
 ID_MODEL_FROM_DATABASE=PV-D231U(RN)-F [PixelView PlayTV SBTVD Full-Seg]

usb:v1557*
 ID_VENDOR_FROM_DATABASE=OQO

usb:v1557p0002*
 ID_MODEL_FROM_DATABASE=model 01 WiFi interface

usb:v1557p0003*
 ID_MODEL_FROM_DATABASE=model 01 Bluetooth interface

usb:v1557p0A80*
 ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)

usb:v1557p7720*
 ID_MODEL_FROM_DATABASE=model 01+ Ethernet

usb:v1557p8150*
 ID_MODEL_FROM_DATABASE=model 01 Ethernet interface

usb:v1568*
 ID_VENDOR_FROM_DATABASE=Sunf Pu Technology Co., Ltd

usb:v156F*
 ID_VENDOR_FROM_DATABASE=Quantum Corporation

usb:v1570*
 ID_VENDOR_FROM_DATABASE=ALLTOP TECHNOLOGY CO., LTD.

usb:v157B*
 ID_VENDOR_FROM_DATABASE=Ketron SRL

usb:v157E*
 ID_VENDOR_FROM_DATABASE=TRENDnet

usb:v157Ep3006*
 ID_MODEL_FROM_DATABASE=TEW-444UB EU [TRENDnet]

usb:v157Ep3007*
 ID_MODEL_FROM_DATABASE=TEW-444UB EU (no firmware)

usb:v157Ep300A*
 ID_MODEL_FROM_DATABASE=TEW-429UB 802.11bg

usb:v157Ep300B*
 ID_MODEL_FROM_DATABASE=TEW-429UB 802.11bg

usb:v157Ep300C*
 ID_MODEL_FROM_DATABASE=TEW-429UF A1 802.11bg Wireless Adapter [ZyDAS ZD1211B]

usb:v157Ep300D*
 ID_MODEL_FROM_DATABASE=TEW-429UB C1 802.11bg

usb:v157Ep300E*
 ID_MODEL_FROM_DATABASE=SMC SMCWUSB-N 802.11bgn 2x2:2 Wireless Adapter [Ralink RT2870]

usb:v157Ep3012*
 ID_MODEL_FROM_DATABASE=TEW-604UB 802.11bg Wireless Adapter [Atheros AR5523]

usb:v157Ep3013*
 ID_MODEL_FROM_DATABASE=TEW-645UB 802.11bgn 1x2:2 Wireless Adapter [Ralink RT2770]

usb:v157Ep3204*
 ID_MODEL_FROM_DATABASE=Allnet ALL0298 v2 802.11bg

usb:v157Ep3205*
 ID_MODEL_FROM_DATABASE=Allnet ALL0283 [AR5523]

usb:v157Ep3206*
 ID_MODEL_FROM_DATABASE=Allnet ALL0283 [AR5523](no firmware)

usb:v157Ep3207*
 ID_MODEL_FROM_DATABASE=TEW-509UB A1 802.11abg Wireless Adapter [ZyDAS ZD1211]

usb:v157Ep3208*
 ID_MODEL_FROM_DATABASE=TEW-509UB 1.1R 802.11abg Wireless Adapter

usb:v1582*
 ID_VENDOR_FROM_DATABASE=Fiberline

usb:v1582p6003*
 ID_MODEL_FROM_DATABASE=WL-430U 802.11bg

usb:v1587*
 ID_VENDOR_FROM_DATABASE=SMA Technologie AG

usb:v158D*
 ID_VENDOR_FROM_DATABASE=Oakley Inc.

usb:v158E*
 ID_VENDOR_FROM_DATABASE=JDS Uniphase Corporation (JDSU)

usb:v158Ep0820*
 ID_MODEL_FROM_DATABASE=SmartPocket Class Device

usb:v1598*
 ID_VENDOR_FROM_DATABASE=Kunshan Guoji Electronics Co., Ltd.

usb:v15A2*
 ID_VENDOR_FROM_DATABASE=Freescale Semiconductor, Inc.

usb:v15A2p0038*
 ID_MODEL_FROM_DATABASE=9S08JS Bootloader

usb:v15A2p003B*
 ID_MODEL_FROM_DATABASE=USB2CAN Application for ColdFire DEMOJM board

usb:v15A2p0041*
 ID_MODEL_FROM_DATABASE=i.MX51 SystemOnChip in RecoveryMode

usb:v15A2p0042*
 ID_MODEL_FROM_DATABASE=OSBDM - Debug Port

usb:v15A2p004E*
 ID_MODEL_FROM_DATABASE=i.MX53 SystemOnChip in RecoveryMode

usb:v15A2p004F*
 ID_MODEL_FROM_DATABASE=i.MX28 SystemOnChip in RecoveryMode

usb:v15A2p0052*
 ID_MODEL_FROM_DATABASE=i.MX50 SystemOnChip in RecoveryMode

usb:v15A2p0054*
 ID_MODEL_FROM_DATABASE=i.MX 6Dual/6Quad SystemOnChip in RecoveryMode

usb:v15A2p0061*
 ID_MODEL_FROM_DATABASE=i.MX 6Solo/6DualLite SystemOnChip in RecoveryMode

usb:v15A2p006A*
 ID_MODEL_FROM_DATABASE=Vybrid series SystemOnChip in RecoveryMode

usb:v15A2p0076*
 ID_MODEL_FROM_DATABASE=i.MX 7Solo/7Dual SystemOnChip in RecoveryMode

usb:v15A2p0080*
 ID_MODEL_FROM_DATABASE=i.MX 6ULL SystemOnChip in RecoveryMode

usb:v15A4*
 ID_VENDOR_FROM_DATABASE=Afatech Technologies, Inc.

usb:v15A4p1000*
 ID_MODEL_FROM_DATABASE=AF9015/AF9035 DVB-T stick

usb:v15A4p1001*
 ID_MODEL_FROM_DATABASE=AF9015/AF9035 DVB-T stick

usb:v15A4p1336*
 ID_MODEL_FROM_DATABASE=SDHC/MicroSD/MMC/MS/M2/CF/XD Flash Card Reader

usb:v15A4p9015*
 ID_MODEL_FROM_DATABASE=AF9015 DVB-T USB2.0 stick

usb:v15A4p9016*
 ID_MODEL_FROM_DATABASE=AF9015 DVB-T USB2.0 stick

usb:v15A8*
 ID_VENDOR_FROM_DATABASE=Teams Power Limited

usb:v15A9*
 ID_VENDOR_FROM_DATABASE=Gemtek

usb:v15A9p0002*
 ID_MODEL_FROM_DATABASE=SparkLAN WL-682 802.11bg Wireless Adapter [Intersil ISL3887]

usb:v15A9p0004*
 ID_MODEL_FROM_DATABASE=WUBR-177G [Ralink RT2571W]

usb:v15A9p0006*
 ID_MODEL_FROM_DATABASE=Wireless 11n USB Adapter

usb:v15A9p0010*
 ID_MODEL_FROM_DATABASE=802.11n USB Wireless Card

usb:v15A9p0012*
 ID_MODEL_FROM_DATABASE=WUBR-208N 802.11abgn Wireless Adapter [Ralink RT2870]

usb:v15A9p002D*
 ID_MODEL_FROM_DATABASE=WLTUBA-107 [Yota 4G LTE]

usb:v15AA*
 ID_VENDOR_FROM_DATABASE=Gearway Electronics (Dong Guan) Co., Ltd.

usb:v15AD*
 ID_VENDOR_FROM_DATABASE=VMware Inc.

usb:v15BA*
 ID_VENDOR_FROM_DATABASE=Olimex Ltd.

usb:v15BAp0003*
 ID_MODEL_FROM_DATABASE=OpenOCD JTAG

usb:v15BAp0004*
 ID_MODEL_FROM_DATABASE=OpenOCD JTAG TINY

usb:v15BAp002A*
 ID_MODEL_FROM_DATABASE=ARM-USB-TINY-H JTAG interface

usb:v15BAp002B*
 ID_MODEL_FROM_DATABASE=ARM-USB-OCD-H JTAG+RS232

usb:v15BAp003C*
 ID_MODEL_FROM_DATABASE=TERES Keyboard+Touchpad

usb:v15C0*
 ID_VENDOR_FROM_DATABASE=XL Imaging

usb:v15C0p0001*
 ID_MODEL_FROM_DATABASE=2M pixel Microscope Camera

usb:v15C0p0002*
 ID_MODEL_FROM_DATABASE=3M pixel Microscope Camera

usb:v15C0p0003*
 ID_MODEL_FROM_DATABASE=1.3M pixel Microscope Camera (mono)

usb:v15C0p0004*
 ID_MODEL_FROM_DATABASE=1.3M pixel Microscope Camera (colour)

usb:v15C0p0005*
 ID_MODEL_FROM_DATABASE=3M pixel Microscope Camera (Mk 2)

usb:v15C0p0006*
 ID_MODEL_FROM_DATABASE=2M pixel Microscope Camera (with capture button)

usb:v15C0p0007*
 ID_MODEL_FROM_DATABASE=3M pixel Microscope Camera (with capture button)

usb:v15C0p0008*
 ID_MODEL_FROM_DATABASE=1.3M pixel Microscope Camera (colour, with capture button)

usb:v15C0p0009*
 ID_MODEL_FROM_DATABASE=1.3M pixel Microscope Camera (colour, with capture button)

usb:v15C0p000A*
 ID_MODEL_FROM_DATABASE=2M pixel Microscope Camera (Mk 2)

usb:v15C0p0010*
 ID_MODEL_FROM_DATABASE=1.3M pixel "Tinycam"

usb:v15C0p0101*
 ID_MODEL_FROM_DATABASE=3M pixel Microscope Camera

usb:v15C2*
 ID_VENDOR_FROM_DATABASE=SoundGraph Inc.

usb:v15C2p0036*
 ID_MODEL_FROM_DATABASE=LC16M VFD Display/IR Receiver

usb:v15C2p0038*
 ID_MODEL_FROM_DATABASE=GD01 MX LCD Display/IR Receiver

usb:v15C2p0042*
 ID_MODEL_FROM_DATABASE=Antec Veris Multimedia Station E-Z IR Receiver

usb:v15C2pFFDA*
 ID_MODEL_FROM_DATABASE=iMON PAD Remote Controller

usb:v15C2pFFDC*
 ID_MODEL_FROM_DATABASE=iMON PAD Remote Controller

usb:v15C5*
 ID_VENDOR_FROM_DATABASE=Pressure Profile Systems, Inc.

usb:v15C5p0008*
 ID_MODEL_FROM_DATABASE=Advance Multimedia Internet Technology Inc. (AMIT) WL532U 802.11g Adapter

usb:v15C6*
 ID_VENDOR_FROM_DATABASE=Laboratoires MXM

usb:v15C6p1000*
 ID_MODEL_FROM_DATABASE=DigistimSP (cold)

usb:v15C6p1001*
 ID_MODEL_FROM_DATABASE=DigistimSP (warm)

usb:v15C6p1002*
 ID_MODEL_FROM_DATABASE=DigimapSP USB (cold)

usb:v15C6p1003*
 ID_MODEL_FROM_DATABASE=DigimapSP USB (warm)

usb:v15C6p1004*
 ID_MODEL_FROM_DATABASE=DigistimSP (cold)

usb:v15C6p1005*
 ID_MODEL_FROM_DATABASE=DigistimSP (warm)

usb:v15C6p1100*
 ID_MODEL_FROM_DATABASE=Odyssee (cold)

usb:v15C6p1101*
 ID_MODEL_FROM_DATABASE=Odyssee (warm)

usb:v15C6p1200*
 ID_MODEL_FROM_DATABASE=Digispy

usb:v15C8*
 ID_VENDOR_FROM_DATABASE=KTF Technologies

usb:v15C8p3201*
 ID_MODEL_FROM_DATABASE=EVER EV-W100/EV-W250

usb:v15C9*
 ID_VENDOR_FROM_DATABASE=D-Box Technologies

usb:v15CA*
 ID_VENDOR_FROM_DATABASE=Textech International Ltd.

usb:v15CAp00C3*
 ID_MODEL_FROM_DATABASE=Mini Optical Mouse

usb:v15CAp0101*
 ID_MODEL_FROM_DATABASE=MIDI Interface cable

usb:v15CAp1806*
 ID_MODEL_FROM_DATABASE=MIDI Interface cable

usb:v15D5*
 ID_VENDOR_FROM_DATABASE=Coulomb Electronics Ltd.

usb:v15D9*
 ID_VENDOR_FROM_DATABASE=Trust International B.V.

usb:v15D9p0A33*
 ID_MODEL_FROM_DATABASE=Optical Mouse

usb:v15D9p0A37*
 ID_MODEL_FROM_DATABASE=Mouse

usb:v15D9p0A41*
 ID_MODEL_FROM_DATABASE=MI-2540D [Optical mouse]

usb:v15D9p0A4C*
 ID_MODEL_FROM_DATABASE=USB+PS/2 Optical Mouse

usb:v15D9p0A4D*
 ID_MODEL_FROM_DATABASE=Optical Mouse

usb:v15D9p0A4E*
 ID_MODEL_FROM_DATABASE=AM-5400 [Optical Mouse]

usb:v15D9p0A4F*
 ID_MODEL_FROM_DATABASE=Optical Mouse

usb:v15DC*
 ID_VENDOR_FROM_DATABASE=Hynix Semiconductor Inc.

usb:v15E0*
 ID_VENDOR_FROM_DATABASE=Seong Ji Industrial Co., Ltd.

usb:v15E1*
 ID_VENDOR_FROM_DATABASE=RSA

usb:v15E1p2007*
 ID_MODEL_FROM_DATABASE=RSA SecurID (R) Authenticator

usb:v15E4*
 ID_VENDOR_FROM_DATABASE=Numark

usb:v15E4p0024*
 ID_MODEL_FROM_DATABASE=Mixtrack

usb:v15E4p003C*
 ID_MODEL_FROM_DATABASE=DJ2GO2 Touch

usb:v15E4p0140*
 ID_MODEL_FROM_DATABASE=ION VCR 2 PC / Video 2 PC

usb:v15E4p3F00*
 ID_MODEL_FROM_DATABASE=Power A Mini Pro Elite

usb:v15E4p3F0A*
 ID_MODEL_FROM_DATABASE=Airflo Wired Controller for Xbox 360

usb:v15E4p3F10*
 ID_MODEL_FROM_DATABASE=Batarang controller for Xbox 360

usb:v15E8*
 ID_VENDOR_FROM_DATABASE=SohoWare

usb:v15E8p9100*
 ID_MODEL_FROM_DATABASE=NUB100 Ethernet [pegasus]

usb:v15E8p9110*
 ID_MODEL_FROM_DATABASE=10/100 USB Ethernet

usb:v15E9*
 ID_VENDOR_FROM_DATABASE=Pacific Digital Corp.

usb:v15E9p04CE*
 ID_MODEL_FROM_DATABASE=MemoryFrame MF-570

usb:v15E9p1968*
 ID_MODEL_FROM_DATABASE=MemoryFrame MF-570

usb:v15E9p1969*
 ID_MODEL_FROM_DATABASE=Digital Frame

usb:v15EC*
 ID_VENDOR_FROM_DATABASE=Belcarra Technologies Corp.

usb:v15F4*
 ID_VENDOR_FROM_DATABASE=HanfTek

usb:v15F4p0001*
 ID_MODEL_FROM_DATABASE=HanfTek UMT-010 USB2.0 DVB-T (cold)

usb:v15F4p0025*
 ID_MODEL_FROM_DATABASE=HanfTek UMT-010 USB2.0 DVB-T (warm)

usb:v15F4p0131*
 ID_MODEL_FROM_DATABASE=Astrometa DVB-T/T2/C FM & DAB receiver [RTL2832P]

usb:v15F4p0135*
 ID_MODEL_FROM_DATABASE=Astrometa T2hybrid

usb:v1604*
 ID_VENDOR_FROM_DATABASE=Tascam

usb:v1604p10C0*
 ID_MODEL_FROM_DATABASE=Dell Integrated Hub

usb:v1604p8000*
 ID_MODEL_FROM_DATABASE=US-428 Audio/Midi Controller (without fw)

usb:v1604p8001*
 ID_MODEL_FROM_DATABASE=US-428 Audio/Midi Controller

usb:v1604p8004*
 ID_MODEL_FROM_DATABASE=US-224 Audio/Midi Controller (without fw)

usb:v1604p8005*
 ID_MODEL_FROM_DATABASE=US-224 Audio/Midi Controller

usb:v1604p8006*
 ID_MODEL_FROM_DATABASE=US-122 Audio/Midi Interface (without fw)

usb:v1604p8007*
 ID_MODEL_FROM_DATABASE=US-122 Audio/Midi Interface

usb:v1605*
 ID_VENDOR_FROM_DATABASE=ACCES I/O Products, Inc.

usb:v1605p0001*
 ID_MODEL_FROM_DATABASE=DIO-32 (No Firmware Yet)

usb:v1605p0002*
 ID_MODEL_FROM_DATABASE=USB-DIO-48 (No Firmware Yet)

usb:v1605p0003*
 ID_MODEL_FROM_DATABASE=USB-DIO-96 (No Firmware Yet)

usb:v1605p0004*
 ID_MODEL_FROM_DATABASE=USB-DIO-32I (No Firmware Yet)

usb:v1605p0005*
 ID_MODEL_FROM_DATABASE=USB-DIO24 (based on -CTR6) (No Firmware Yet)

usb:v1605p0006*
 ID_MODEL_FROM_DATABASE=USB-DIO24-CTR6 (No Firmware Yet)

usb:v1606*
 ID_VENDOR_FROM_DATABASE=Umax

usb:v1606p0002*
 ID_MODEL_FROM_DATABASE=Astra 1236U Scanner

usb:v1606p0010*
 ID_MODEL_FROM_DATABASE=Astra 1220U

usb:v1606p0030*
 ID_MODEL_FROM_DATABASE=Astra 1600U/2000U

usb:v1606p0050*
 ID_MODEL_FROM_DATABASE=Scanner

usb:v1606p0060*
 ID_MODEL_FROM_DATABASE=Astra 3400/3450

usb:v1606p0070*
 ID_MODEL_FROM_DATABASE=Astra 4400/4450

usb:v1606p0130*
 ID_MODEL_FROM_DATABASE=Astra 2100U

usb:v1606p0160*
 ID_MODEL_FROM_DATABASE=Astra 5400U

usb:v1606p0170*
 ID_MODEL_FROM_DATABASE=Uniscan D50

usb:v1606p0230*
 ID_MODEL_FROM_DATABASE=Astra 2200/2200SU

usb:v1606p0350*
 ID_MODEL_FROM_DATABASE=Astra 4800/4850 Scanner

usb:v1606p1030*
 ID_MODEL_FROM_DATABASE=Astra 4000U

usb:v1606p1220*
 ID_MODEL_FROM_DATABASE=Genesys Logic Scanner Controller NT5.0

usb:v1606p2010*
 ID_MODEL_FROM_DATABASE=AstraCam Digital Camera

usb:v1606p2020*
 ID_MODEL_FROM_DATABASE=AstraCam 1000

usb:v1606p2030*
 ID_MODEL_FROM_DATABASE=AstraCam 1800 Digital Camera

usb:v1608*
 ID_VENDOR_FROM_DATABASE=Inside Out Networks [hex]

usb:v1608p0001*
 ID_MODEL_FROM_DATABASE=EdgePort/4 Serial Port

usb:v1608p0002*
 ID_MODEL_FROM_DATABASE=Edgeport/8

usb:v1608p0003*
 ID_MODEL_FROM_DATABASE=Rapidport/4

usb:v1608p0004*
 ID_MODEL_FROM_DATABASE=Edgeport/4

usb:v1608p0005*
 ID_MODEL_FROM_DATABASE=Edgeport/2

usb:v1608p0006*
 ID_MODEL_FROM_DATABASE=Edgeport/4i

usb:v1608p0007*
 ID_MODEL_FROM_DATABASE=Edgeport/2i

usb:v1608p0008*
 ID_MODEL_FROM_DATABASE=Edgeport/8

usb:v1608p000C*
 ID_MODEL_FROM_DATABASE=Edgeport/421

usb:v1608p000D*
 ID_MODEL_FROM_DATABASE=Edgeport/21

usb:v1608p000E*
 ID_MODEL_FROM_DATABASE=Edgeport/4

usb:v1608p000F*
 ID_MODEL_FROM_DATABASE=Edgeport/8

usb:v1608p0010*
 ID_MODEL_FROM_DATABASE=Edgeport/2

usb:v1608p0011*
 ID_MODEL_FROM_DATABASE=Edgeport/4

usb:v1608p0012*
 ID_MODEL_FROM_DATABASE=Edgeport/416

usb:v1608p0014*
 ID_MODEL_FROM_DATABASE=Edgeport/8i

usb:v1608p0018*
 ID_MODEL_FROM_DATABASE=Edgeport/412

usb:v1608p0019*
 ID_MODEL_FROM_DATABASE=Edgeport/412

usb:v1608p001A*
 ID_MODEL_FROM_DATABASE=Edgeport/2+2i

usb:v1608p0101*
 ID_MODEL_FROM_DATABASE=Edgeport/4

usb:v1608p0105*
 ID_MODEL_FROM_DATABASE=Edgeport/2

usb:v1608p0106*
 ID_MODEL_FROM_DATABASE=Edgeport/4i

usb:v1608p0107*
 ID_MODEL_FROM_DATABASE=Edgeport/2i

usb:v1608p010C*
 ID_MODEL_FROM_DATABASE=Edgeport/421

usb:v1608p010D*
 ID_MODEL_FROM_DATABASE=Edgeport/21

usb:v1608p0110*
 ID_MODEL_FROM_DATABASE=Edgeport/2

usb:v1608p0111*
 ID_MODEL_FROM_DATABASE=Edgeport/4

usb:v1608p0112*
 ID_MODEL_FROM_DATABASE=Edgeport/416

usb:v1608p0114*
 ID_MODEL_FROM_DATABASE=Edgeport/8i

usb:v1608p0201*
 ID_MODEL_FROM_DATABASE=Edgeport/4

usb:v1608p0203*
 ID_MODEL_FROM_DATABASE=Rapidport/4

usb:v1608p0204*
 ID_MODEL_FROM_DATABASE=Edgeport/4

usb:v1608p0205*
 ID_MODEL_FROM_DATABASE=Edgeport/2

usb:v1608p0206*
 ID_MODEL_FROM_DATABASE=Edgeport/4i

usb:v1608p0207*
 ID_MODEL_FROM_DATABASE=Edgeport/2i

usb:v1608p020C*
 ID_MODEL_FROM_DATABASE=Edgeport/421

usb:v1608p020D*
 ID_MODEL_FROM_DATABASE=Edgeport/21

usb:v1608p020E*
 ID_MODEL_FROM_DATABASE=Edgeport/4

usb:v1608p020F*
 ID_MODEL_FROM_DATABASE=Edgeport/8

usb:v1608p0210*
 ID_MODEL_FROM_DATABASE=Edgeport/2

usb:v1608p0211*
 ID_MODEL_FROM_DATABASE=Edgeport/4

usb:v1608p0212*
 ID_MODEL_FROM_DATABASE=Edgeport/416

usb:v1608p0214*
 ID_MODEL_FROM_DATABASE=Edgeport/8i

usb:v1608p0215*
 ID_MODEL_FROM_DATABASE=Edgeport/1

usb:v1608p0216*
 ID_MODEL_FROM_DATABASE=EPOS/44

usb:v1608p0217*
 ID_MODEL_FROM_DATABASE=Edgeport/42

usb:v1608p021A*
 ID_MODEL_FROM_DATABASE=Edgeport/2+2i

usb:v1608p021B*
 ID_MODEL_FROM_DATABASE=Edgeport/2c

usb:v1608p021C*
 ID_MODEL_FROM_DATABASE=Edgeport/221c

usb:v1608p021D*
 ID_MODEL_FROM_DATABASE=Edgeport/22c

usb:v1608p021E*
 ID_MODEL_FROM_DATABASE=Edgeport/21c

usb:v1608p021F*
 ID_MODEL_FROM_DATABASE=Edgeport/62

usb:v1608p0240*
 ID_MODEL_FROM_DATABASE=Edgeport/1

usb:v1608p0241*
 ID_MODEL_FROM_DATABASE=Edgeport/1i

usb:v1608p0242*
 ID_MODEL_FROM_DATABASE=Edgeport/4s

usb:v1608p0243*
 ID_MODEL_FROM_DATABASE=Edgeport/8s

usb:v1608p0244*
 ID_MODEL_FROM_DATABASE=Edgeport/8

usb:v1608p0245*
 ID_MODEL_FROM_DATABASE=Edgeport/22c

usb:v1608p0301*
 ID_MODEL_FROM_DATABASE=Watchport/P

usb:v1608p0302*
 ID_MODEL_FROM_DATABASE=Watchport/M

usb:v1608p0303*
 ID_MODEL_FROM_DATABASE=Watchport/W

usb:v1608p0304*
 ID_MODEL_FROM_DATABASE=Watchport/T

usb:v1608p0305*
 ID_MODEL_FROM_DATABASE=Watchport/H

usb:v1608p0306*
 ID_MODEL_FROM_DATABASE=Watchport/E

usb:v1608p0307*
 ID_MODEL_FROM_DATABASE=Watchport/L

usb:v1608p0308*
 ID_MODEL_FROM_DATABASE=Watchport/R

usb:v1608p0309*
 ID_MODEL_FROM_DATABASE=Watchport/A

usb:v1608p030A*
 ID_MODEL_FROM_DATABASE=Watchport/D

usb:v1608p030B*
 ID_MODEL_FROM_DATABASE=Watchport/D

usb:v1608p030C*
 ID_MODEL_FROM_DATABASE=Power Management Port

usb:v1608p030E*
 ID_MODEL_FROM_DATABASE=Power Management Port

usb:v1608p030F*
 ID_MODEL_FROM_DATABASE=Watchport/G

usb:v1608p0310*
 ID_MODEL_FROM_DATABASE=Watchport/Tc

usb:v1608p0311*
 ID_MODEL_FROM_DATABASE=Watchport/Hc

usb:v1608p1403*
 ID_MODEL_FROM_DATABASE=MultiTech Systems MT4X56 Modem

usb:v1608p1A17*
 ID_MODEL_FROM_DATABASE=Agilent Technologies (E6473)

usb:v160A*
 ID_VENDOR_FROM_DATABASE=VIA Technologies, Inc.

usb:v160Ap3184*
 ID_MODEL_FROM_DATABASE=VIA VNT-6656 [WiFi 802.11b/g USB Dongle]

usb:v160E*
 ID_VENDOR_FROM_DATABASE=INRO

usb:v160Ep0001*
 ID_MODEL_FROM_DATABASE=E2USBKey

usb:v1614*
 ID_VENDOR_FROM_DATABASE=Amoi Electronics

usb:v1614p0404*
 ID_MODEL_FROM_DATABASE=WMA9109 UMTS Phone

usb:v1614p0600*
 ID_MODEL_FROM_DATABASE=Vodafone VDA GPS / Toschiba Protege G710

usb:v1614p0804*
 ID_MODEL_FROM_DATABASE=WP-S1 Phone

usb:v1617*
 ID_VENDOR_FROM_DATABASE=Sony Corp.

usb:v1617p2002*
 ID_MODEL_FROM_DATABASE=NVX-P1 Personal Navigation System

usb:v1619*
 ID_VENDOR_FROM_DATABASE=L & K Precision Technology Co., Ltd.

usb:v161C*
 ID_VENDOR_FROM_DATABASE=Digitech Systems

usb:v161Cp0002*
 ID_MODEL_FROM_DATABASE=DTC-02U [Digi Touch Controller]

usb:v1621*
 ID_VENDOR_FROM_DATABASE=Wionics Research

usb:v1628*
 ID_VENDOR_FROM_DATABASE=Stonestreet One, Inc.

usb:v162A*
 ID_VENDOR_FROM_DATABASE=Airgo Networks Inc.

usb:v162F*
 ID_VENDOR_FROM_DATABASE=WiQuest Communications, Inc.

usb:v1630*
 ID_VENDOR_FROM_DATABASE=2Wire, Inc.

usb:v1630p0005*
 ID_MODEL_FROM_DATABASE=802.11g Wireless Adapter [Intersil ISL3886]

usb:v1630p0011*
 ID_MODEL_FROM_DATABASE=PC Port 10 Mps Adapter

usb:v1630pFF81*
 ID_MODEL_FROM_DATABASE=802.11b Wireless Adapter [Lucent/Agere Hermes I]

usb:v1631*
 ID_VENDOR_FROM_DATABASE=Good Way Technology

usb:v1631p6200*
 ID_MODEL_FROM_DATABASE=GWUSB2E

usb:v1631pC019*
 ID_MODEL_FROM_DATABASE=RT2573

usb:v1633*
 ID_VENDOR_FROM_DATABASE=AIM GmbH

usb:v1633p4510*
 ID_MODEL_FROM_DATABASE=ASC1553

usb:v1633p4520*
 ID_MODEL_FROM_DATABASE=ASC429

usb:v1633p4560*
 ID_MODEL_FROM_DATABASE=ASC-FDX

usb:v1645*
 ID_VENDOR_FROM_DATABASE=Entrega [hex]

usb:v1645p0001*
 ID_MODEL_FROM_DATABASE=1S Serial Port

usb:v1645p0002*
 ID_MODEL_FROM_DATABASE=2S Serial Port

usb:v1645p0003*
 ID_MODEL_FROM_DATABASE=1S25 Serial Port

usb:v1645p0004*
 ID_MODEL_FROM_DATABASE=4S Serial Port

usb:v1645p0005*
 ID_MODEL_FROM_DATABASE=E45 Ethernet [klsi]

usb:v1645p0006*
 ID_MODEL_FROM_DATABASE=Parallel Port

usb:v1645p0007*
 ID_MODEL_FROM_DATABASE=U1-SC25 SCSI

usb:v1645p0008*
 ID_MODEL_FROM_DATABASE=Ethernet

usb:v1645p0016*
 ID_MODEL_FROM_DATABASE=Bi-directional to Parallel Printer Converter

usb:v1645p0080*
 ID_MODEL_FROM_DATABASE=1 port to Serial Converter

usb:v1645p0081*
 ID_MODEL_FROM_DATABASE=1 port to Serial Converter

usb:v1645p0093*
 ID_MODEL_FROM_DATABASE=1S9 Serial Port

usb:v1645p8000*
 ID_MODEL_FROM_DATABASE=EZ-USB

usb:v1645p8001*
 ID_MODEL_FROM_DATABASE=1 port to Serial

usb:v1645p8002*
 ID_MODEL_FROM_DATABASE=2x Serial Port

usb:v1645p8003*
 ID_MODEL_FROM_DATABASE=1 port to Serial

usb:v1645p8004*
 ID_MODEL_FROM_DATABASE=2U4S serial/usb hub

usb:v1645p8005*
 ID_MODEL_FROM_DATABASE=Ethernet

usb:v1645p8080*
 ID_MODEL_FROM_DATABASE=1 port to Serial

usb:v1645p8081*
 ID_MODEL_FROM_DATABASE=1 port to Serial

usb:v1645p8093*
 ID_MODEL_FROM_DATABASE=PortGear Serial Port

usb:v1649*
 ID_VENDOR_FROM_DATABASE=SofTec Microsystems

usb:v1649p0102*
 ID_MODEL_FROM_DATABASE=uDART In-Circuit Debugger

usb:v1649p0200*
 ID_MODEL_FROM_DATABASE=SpYder USBSPYDER08

usb:v164A*
 ID_VENDOR_FROM_DATABASE=ChipX

usb:v164C*
 ID_VENDOR_FROM_DATABASE=Matrix Vision GmbH

usb:v164Cp0101*
 ID_MODEL_FROM_DATABASE=mvBlueFOX camera (no firmware)

usb:v164Cp0103*
 ID_MODEL_FROM_DATABASE=mvBlueFOX camera

usb:v164Cp0201*
 ID_MODEL_FROM_DATABASE=mvBlueLYNX-X intelligent camera (bootloader)

usb:v164Cp0203*
 ID_MODEL_FROM_DATABASE=mvBlueLYNX-X intelligent camera

usb:v1657*
 ID_VENDOR_FROM_DATABASE=Struck Innovative Systeme GmbH

usb:v1657p3150*
 ID_MODEL_FROM_DATABASE=SIS3150 USB2.0 to VME interface

usb:v165B*
 ID_VENDOR_FROM_DATABASE=Frontier Design Group

usb:v165Bp8101*
 ID_MODEL_FROM_DATABASE=Tranzport Control Surface

usb:v165BpFAD1*
 ID_MODEL_FROM_DATABASE=Alphatrack Control Surface

usb:v165C*
 ID_VENDOR_FROM_DATABASE=Kondo Kagaku

usb:v165Cp0002*
 ID_MODEL_FROM_DATABASE=Serial Adapter

usb:v165Cp0006*
 ID_MODEL_FROM_DATABASE=FT232 [ICS adapter HS]

usb:v165Cp0008*
 ID_MODEL_FROM_DATABASE=FT232 [Dual adapter HS]

usb:v1660*
 ID_VENDOR_FROM_DATABASE=Creatix Polymedia GmbH

usb:v1667*
 ID_VENDOR_FROM_DATABASE=GIGA-TMS INC.

usb:v1667p0005*
 ID_MODEL_FROM_DATABASE=PCR330A RFID Reader (125 kHz, keyboard emulation)

usb:v1668*
 ID_VENDOR_FROM_DATABASE=Actiontec Electronics, Inc. [hex]

usb:v1668p0009*
 ID_MODEL_FROM_DATABASE=Gateway

usb:v1668p0333*
 ID_MODEL_FROM_DATABASE=Modem

usb:v1668p0358*
 ID_MODEL_FROM_DATABASE=InternetPhoneWizard

usb:v1668p0405*
 ID_MODEL_FROM_DATABASE=Gateway

usb:v1668p0408*
 ID_MODEL_FROM_DATABASE=Prism2.5 802.11b Adapter

usb:v1668p0413*
 ID_MODEL_FROM_DATABASE=Gateway

usb:v1668p0421*
 ID_MODEL_FROM_DATABASE=Prism2.5 802.11b Adapter

usb:v1668p0441*
 ID_MODEL_FROM_DATABASE=IBM Integrated Bluetooth II

usb:v1668p0500*
 ID_MODEL_FROM_DATABASE=BTM200B BlueTooth Adapter

usb:v1668p1050*
 ID_MODEL_FROM_DATABASE=802UIG-1 802.11g Wireless Mini Adapter [Intersil ISL3887]

usb:v1668p1200*
 ID_MODEL_FROM_DATABASE=802AIN Wireless N Network Adapter [Atheros AR9170+AR9101]

usb:v1668p1441*
 ID_MODEL_FROM_DATABASE=IBM Integrated Bluetooth II

usb:v1668p2441*
 ID_MODEL_FROM_DATABASE=BMDC-2 IBM Bluetooth III w.56k

usb:v1668p3441*
 ID_MODEL_FROM_DATABASE=IBM Integrated Bluetooth III

usb:v1668p6010*
 ID_MODEL_FROM_DATABASE=Gateway

usb:v1668p6097*
 ID_MODEL_FROM_DATABASE=802.11b Wireless Adapter

usb:v1668p6106*
 ID_MODEL_FROM_DATABASE=802UI3(B) 802.11b Wireless Adapter [Intersil PRISM 3]

usb:v1668p7605*
 ID_MODEL_FROM_DATABASE=UAT1 Wireless Ethernet Adapter

usb:v1669*
 ID_VENDOR_FROM_DATABASE=PiKRON Ltd. [hex]

usb:v1669p1001*
 ID_MODEL_FROM_DATABASE=uLan2USB Converter - PS1 protocol

usb:v166A*
 ID_VENDOR_FROM_DATABASE=Clipsal

usb:v166Ap0101*
 ID_MODEL_FROM_DATABASE=C-Bus Multi-room Audio Matrix Switcher

usb:v166Ap0201*
 ID_MODEL_FROM_DATABASE=C-Bus Pascal Automation Controller

usb:v166Ap0301*
 ID_MODEL_FROM_DATABASE=C-Bus Wireless PC Interface

usb:v166Ap0303*
 ID_MODEL_FROM_DATABASE=C-Bus interface

usb:v166Ap0304*
 ID_MODEL_FROM_DATABASE=C-Bus Black and White Touchscreen

usb:v166Ap0305*
 ID_MODEL_FROM_DATABASE=C-Bus Spectrum Colour Touchscreen

usb:v166Ap0401*
 ID_MODEL_FROM_DATABASE=C-Bus Architectural Dimmer

usb:v1677*
 ID_VENDOR_FROM_DATABASE=China Huada Integrated Circuit Design (Group) Co., Ltd. (CIDC Group)

usb:v1677p0103*
 ID_MODEL_FROM_DATABASE=Token

usb:v1679*
 ID_VENDOR_FROM_DATABASE=Total Phase

usb:v1679p2001*
 ID_MODEL_FROM_DATABASE=Beagle Protocol Analyzer

usb:v1679p2002*
 ID_MODEL_FROM_DATABASE=Cheetah SPI Host Adapter

usb:v167B*
 ID_VENDOR_FROM_DATABASE=Pure Digital Technologies, Inc.

usb:v167Bp2009*
 ID_MODEL_FROM_DATABASE=Flip Ultra U1120

usb:v1680*
 ID_VENDOR_FROM_DATABASE=Golden Bridge Electech Inc.

usb:v1680pA332*
 ID_MODEL_FROM_DATABASE=DVB-T Dongle [RTL2832U]

usb:v1681*
 ID_VENDOR_FROM_DATABASE=Prevo Technologies, Inc.

usb:v1681p0001*
 ID_MODEL_FROM_DATABASE=Tuner's Dashboard

usb:v1681p0002*
 ID_MODEL_FROM_DATABASE=DocuBrain(R) Tubachron

usb:v1681p0003*
 ID_MODEL_FROM_DATABASE=DocuBrain(R) I2C

usb:v1681p0004*
 ID_MODEL_FROM_DATABASE=DocuBrain(R) WWVB Receiver

usb:v1681p0005*
 ID_MODEL_FROM_DATABASE=DocuBrain(R) WWVB Transmitter

usb:v1682*
 ID_VENDOR_FROM_DATABASE=Maxwise Production Enterprise Ltd.

usb:v1684*
 ID_VENDOR_FROM_DATABASE=Godspeed Computer Corp.

usb:v1685*
 ID_VENDOR_FROM_DATABASE=Delock

usb:v1685p0200*
 ID_MODEL_FROM_DATABASE=Infrared adapter

usb:v1686*
 ID_VENDOR_FROM_DATABASE=ZOOM Corporation

usb:v1686p0045*
 ID_MODEL_FROM_DATABASE=Handy Recorder stereo mix

usb:v1686p01C0*
 ID_MODEL_FROM_DATABASE=Zoom Handy Recorder card reader

usb:v1686p01C5*
 ID_MODEL_FROM_DATABASE=Zoom Handy Recorder multi track

usb:v1686p03D5*
 ID_MODEL_FROM_DATABASE=LiveTrak L-12

usb:v1687*
 ID_VENDOR_FROM_DATABASE=Kingmax Digital Inc.

usb:v1687p5289*
 ID_MODEL_FROM_DATABASE=FlashDisk

usb:v1687p6211*
 ID_MODEL_FROM_DATABASE=FlashDisk

usb:v1687p6213*
 ID_MODEL_FROM_DATABASE=FlashDisk

usb:v1688*
 ID_VENDOR_FROM_DATABASE=Saab AB

usb:v1689*
 ID_VENDOR_FROM_DATABASE=Razer USA, Ltd

usb:v1689pFD00*
 ID_MODEL_FROM_DATABASE=Onza Tournament Edition controller

usb:v1689pFD01*
 ID_MODEL_FROM_DATABASE=Onza Classic Edition

usb:v1689pFE00*
 ID_MODEL_FROM_DATABASE=Sabertooth Elite

usb:v168C*
 ID_VENDOR_FROM_DATABASE=Atheros Communications

usb:v168Cp0001*
 ID_MODEL_FROM_DATABASE=AR5523

usb:v168Cp0002*
 ID_MODEL_FROM_DATABASE=AR5523 (no firmware)

usb:v1690*
 ID_VENDOR_FROM_DATABASE=Askey Computer Corp. [hex]

usb:v1690p0001*
 ID_MODEL_FROM_DATABASE=Arcaze Gamepad

usb:v1690p0101*
 ID_MODEL_FROM_DATABASE=Creative Modem Blaster DE5670

usb:v1690p0102*
 ID_MODEL_FROM_DATABASE=V1456 VQE-R2 Modem [conexant]

usb:v1690p0103*
 ID_MODEL_FROM_DATABASE=1456 VQE-R3 Modem [conexant]

usb:v1690p0104*
 ID_MODEL_FROM_DATABASE=HCF V90 Data Fax RTAD Modem

usb:v1690p0107*
 ID_MODEL_FROM_DATABASE=HCF V.90 Data,Fax,RTAD Modem

usb:v1690p0109*
 ID_MODEL_FROM_DATABASE=MagicXpress V.90 Pocket Modem [conexant]

usb:v1690p0203*
 ID_MODEL_FROM_DATABASE=Voyager ADSL Modem Loader

usb:v1690p0204*
 ID_MODEL_FROM_DATABASE=Voyager ADSL Modem

usb:v1690p0205*
 ID_MODEL_FROM_DATABASE=DSL Modem

usb:v1690p0206*
 ID_MODEL_FROM_DATABASE=GlobeSpan ADSL WAN Modem

usb:v1690p0208*
 ID_MODEL_FROM_DATABASE=DSL Modem

usb:v1690p0209*
 ID_MODEL_FROM_DATABASE=Voyager 100 ADSL Modem

usb:v1690p0211*
 ID_MODEL_FROM_DATABASE=Globespan Virata ADSL LAN Modem

usb:v1690p0212*
 ID_MODEL_FROM_DATABASE=DSL Modem

usb:v1690p0213*
 ID_MODEL_FROM_DATABASE=HM121d DSL Modem

usb:v1690p0214*
 ID_MODEL_FROM_DATABASE=HM121d DSL Modem

usb:v1690p0215*
 ID_MODEL_FROM_DATABASE=Voyager 105 ADSL Modem

usb:v1690p0701*
 ID_MODEL_FROM_DATABASE=WLAN

usb:v1690p0710*
 ID_MODEL_FROM_DATABASE=SMCWUSBT-G

usb:v1690p0711*
 ID_MODEL_FROM_DATABASE=SMCWUSBT-G (no firmware)

usb:v1690p0712*
 ID_MODEL_FROM_DATABASE=AR5523

usb:v1690p0713*
 ID_MODEL_FROM_DATABASE=AR5523 (no firmware)

usb:v1690p0715*
 ID_MODEL_FROM_DATABASE=Name: Voyager 1055 Laptop 802.11g Adapter [Broadcom 4320]

usb:v1690p0722*
 ID_MODEL_FROM_DATABASE=RT2573

usb:v1690p0726*
 ID_MODEL_FROM_DATABASE=Wi-Fi Wireless LAN Adapter

usb:v1690p0740*
 ID_MODEL_FROM_DATABASE=802.11n Wireless LAN Card

usb:v1690p0901*
 ID_MODEL_FROM_DATABASE=Voyager 205 ADSL Router

usb:v1690p2000*
 ID_MODEL_FROM_DATABASE=naturaSign Pad Standard

usb:v1690p2001*
 ID_MODEL_FROM_DATABASE=naturaSign Pad Standard

usb:v1690pFE12*
 ID_MODEL_FROM_DATABASE=Bootloader

usb:v1696*
 ID_VENDOR_FROM_DATABASE=Hitachi Video and Information System, Inc.

usb:v1697*
 ID_VENDOR_FROM_DATABASE=VTec Test, Inc.

usb:v16A5*
 ID_VENDOR_FROM_DATABASE=Shenzhen Zhengerya Cable Co., Ltd.

usb:v16A6*
 ID_VENDOR_FROM_DATABASE=Unigraf

usb:v16A6p3000*
 ID_MODEL_FROM_DATABASE=VTG-3xxx Video Test Generator family

usb:v16A6p4000*
 ID_MODEL_FROM_DATABASE=VTG-4xxx Video Test Generator family

usb:v16A6p5000*
 ID_MODEL_FROM_DATABASE=VTG-5xxx Video Test Generator family

usb:v16A6p5001*
 ID_MODEL_FROM_DATABASE=VTG-5xxx Special (update) mode of VTG-5xxx family

usb:v16AB*
 ID_VENDOR_FROM_DATABASE=Global Sun Technology

usb:v16ABp7801*
 ID_MODEL_FROM_DATABASE=AR5523

usb:v16ABp7802*
 ID_MODEL_FROM_DATABASE=AR5523 (no firmware)

usb:v16ABp7811*
 ID_MODEL_FROM_DATABASE=AR5523

usb:v16ABp7812*
 ID_MODEL_FROM_DATABASE=AR5523 (no firmware)

usb:v16AC*
 ID_VENDOR_FROM_DATABASE=Dongguan ChingLung Wire & Cable Co., Ltd.

usb:v16B4*
 ID_VENDOR_FROM_DATABASE=iStation

usb:v16B4p0801*
 ID_MODEL_FROM_DATABASE=U43

usb:v16B5*
 ID_VENDOR_FROM_DATABASE=Persentec, Inc.

usb:v16B5p0002*
 ID_MODEL_FROM_DATABASE=Otto driving companion

usb:v16C0*
 ID_VENDOR_FROM_DATABASE=Van Ooijen Technische Informatica

usb:v16C0p03E8*
 ID_MODEL_FROM_DATABASE=free for internal lab use 1000

usb:v16C0p03E9*
 ID_MODEL_FROM_DATABASE=free for internal lab use 1001

usb:v16C0p03EA*
 ID_MODEL_FROM_DATABASE=free for internal lab use 1002

usb:v16C0p03EB*
 ID_MODEL_FROM_DATABASE=free for internal lab use 1003

usb:v16C0p03EC*
 ID_MODEL_FROM_DATABASE=free for internal lab use 1004

usb:v16C0p03ED*
 ID_MODEL_FROM_DATABASE=free for internal lab use 1005

usb:v16C0p03EE*
 ID_MODEL_FROM_DATABASE=free for internal lab use 1006

usb:v16C0p03EF*
 ID_MODEL_FROM_DATABASE=free for internal lab use 1007

usb:v16C0p03F0*
 ID_MODEL_FROM_DATABASE=free for internal lab use 1008

usb:v16C0p03F1*
 ID_MODEL_FROM_DATABASE=free for internal lab use 1009

usb:v16C0p0477*
 ID_MODEL_FROM_DATABASE=Teensy Rebootor

usb:v16C0p0478*
 ID_MODEL_FROM_DATABASE=Teensy Halfkay Bootloader

usb:v16C0p0479*
 ID_MODEL_FROM_DATABASE=Teensy Debug

usb:v16C0p047A*
 ID_MODEL_FROM_DATABASE=Teensy Serial

usb:v16C0p047B*
 ID_MODEL_FROM_DATABASE=Teensy Serial+Debug

usb:v16C0p047C*
 ID_MODEL_FROM_DATABASE=Teensy Keyboard

usb:v16C0p047D*
 ID_MODEL_FROM_DATABASE=Teensy Keyboard+Debug

usb:v16C0p047E*
 ID_MODEL_FROM_DATABASE=Teensy Mouse

usb:v16C0p047F*
 ID_MODEL_FROM_DATABASE=Teensy Mouse+Debug

usb:v16C0p0480*
 ID_MODEL_FROM_DATABASE=Teensy RawHID

usb:v16C0p0481*
 ID_MODEL_FROM_DATABASE=Teensy RawHID+Debug

usb:v16C0p0482*
 ID_MODEL_FROM_DATABASE=Teensyduino Keyboard+Mouse+Joystick

usb:v16C0p0483*
 ID_MODEL_FROM_DATABASE=Teensyduino Serial

usb:v16C0p0484*
 ID_MODEL_FROM_DATABASE=Teensyduino Disk

usb:v16C0p0485*
 ID_MODEL_FROM_DATABASE=Teensyduino MIDI

usb:v16C0p0486*
 ID_MODEL_FROM_DATABASE=Teensyduino RawHID

usb:v16C0p0487*
 ID_MODEL_FROM_DATABASE=Teensyduino Serial+Keyboard+Mouse+Joystick

usb:v16C0p0488*
 ID_MODEL_FROM_DATABASE=Teensyduino Flight Sim Controls

usb:v16C0p05B5*
 ID_MODEL_FROM_DATABASE=BU0836

usb:v16C0p05DC*
 ID_MODEL_FROM_DATABASE=shared ID for use with libusb

usb:v16C0p05DD*
 ID_MODEL_FROM_DATABASE=BlackcatUSB2

usb:v16C0p05DE*
 ID_MODEL_FROM_DATABASE=Flashcat

usb:v16C0p05DF*
 ID_MODEL_FROM_DATABASE=HID device except mice, keyboards, and joysticks

usb:v16C0p05E1*
 ID_MODEL_FROM_DATABASE=Free shared USB VID/PID pair for CDC devices

usb:v16C0p05E4*
 ID_MODEL_FROM_DATABASE=Free shared USB VID/PID pair for MIDI devices

usb:v16C0p06B4*
 ID_MODEL_FROM_DATABASE=USB2LPT with 2 interfaces

usb:v16C0p06B5*
 ID_MODEL_FROM_DATABASE=USB2LPT with 3 interfaces (native, HID, printer)

usb:v16C0p074E*
 ID_MODEL_FROM_DATABASE=DSP-Weuffen USB-HPI-Programmer

usb:v16C0p074F*
 ID_MODEL_FROM_DATABASE=DSP-Weuffen USB2-HPI-Programmer

usb:v16C0p0762*
 ID_MODEL_FROM_DATABASE=Osmocom SIMtrace

usb:v16C0p076B*
 ID_MODEL_FROM_DATABASE=OpenPCD 13.56MHz RFID Reader

usb:v16C0p076C*
 ID_MODEL_FROM_DATABASE=OpenPICC 13.56MHz RFID Simulator (native)

usb:v16C0p08AC*
 ID_MODEL_FROM_DATABASE=OpenBeacon USB stick

usb:v16C0p08CA*
 ID_MODEL_FROM_DATABASE=Alpermann+Velte Universal Display

usb:v16C0p08CB*
 ID_MODEL_FROM_DATABASE=Alpermann+Velte Studio Clock

usb:v16C0p08CC*
 ID_MODEL_FROM_DATABASE=Alpermann+Velte SAM7S MT Boot Loader

usb:v16C0p08CD*
 ID_MODEL_FROM_DATABASE=Alpermann+Velte SAM7X MT Boot Loader

usb:v16C0p09CE*
 ID_MODEL_FROM_DATABASE=LINKUSB

usb:v16C0p0A32*
 ID_MODEL_FROM_DATABASE=jbmedia Light-Manager Pro

usb:v16C0p27D8*
 ID_MODEL_FROM_DATABASE=libusb-bound devices

usb:v16C0p27D9*
 ID_MODEL_FROM_DATABASE=HID device except mice, keyboards, and joysticks

usb:v16C0p27DA*
 ID_MODEL_FROM_DATABASE=Mouse

usb:v16C0p27DB*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v16C0p27DC*
 ID_MODEL_FROM_DATABASE=Joystick

usb:v16C0p27DD*
 ID_MODEL_FROM_DATABASE=CDC-ACM class devices (modems)

usb:v16C0p27DE*
 ID_MODEL_FROM_DATABASE=MIDI class devices

usb:v16C0p294A*
 ID_MODEL_FROM_DATABASE=Eye Movement Recorder [Visagraph]

usb:v16C0p294B*
 ID_MODEL_FROM_DATABASE=Eye Movement Recorder [ReadAlyzer]

usb:v16CA*
 ID_VENDOR_FROM_DATABASE=Wireless Cables, Inc.

usb:v16CAp1502*
 ID_MODEL_FROM_DATABASE=Bluetooth Dongle

usb:v16CC*
 ID_VENDOR_FROM_DATABASE=silex technology, Inc.

usb:v16D0*
 ID_VENDOR_FROM_DATABASE=MCS

usb:v16D0p0436*
 ID_MODEL_FROM_DATABASE=Xylanta Ltd, XSP Device

usb:v16D0p0498*
 ID_MODEL_FROM_DATABASE=Braintechnology USB-LPS

usb:v16D0p0504*
 ID_MODEL_FROM_DATABASE=RETRO Innovations ZoomFloppy

usb:v16D0p054B*
 ID_MODEL_FROM_DATABASE=GrauTec ReelBox OLED Display (external)

usb:v16D0p05BE*
 ID_MODEL_FROM_DATABASE=EasyLogic Board

usb:v16D0p05F0*
 ID_MODEL_FROM_DATABASE=Superior Freedom Programmable IR Remote

usb:v16D0p06CC*
 ID_MODEL_FROM_DATABASE=Trinamic TMCM-3110

usb:v16D0p06F0*
 ID_MODEL_FROM_DATABASE=Axium AX-R4C Controller

usb:v16D0p06F1*
 ID_MODEL_FROM_DATABASE=Axium AX-R1D Controller

usb:v16D0p06F9*
 ID_MODEL_FROM_DATABASE=Gabotronics Xminilab

usb:v16D0p0726*
 ID_MODEL_FROM_DATABASE=Autonomic M400 Amplifier

usb:v16D0p0727*
 ID_MODEL_FROM_DATABASE=Autonomic M800 Amplifier

usb:v16D0p0753*
 ID_MODEL_FROM_DATABASE=Digistump DigiSpark

usb:v16D0p075C*
 ID_MODEL_FROM_DATABASE=AB-1.x UAC1 [Audio Widget]

usb:v16D0p075D*
 ID_MODEL_FROM_DATABASE=AB-1.x UAC2 [Audio Widget]

usb:v16D0p07CC*
 ID_MODEL_FROM_DATABASE=Xylanta Ltd, Saint3 Device

usb:v16D0p07F8*
 ID_MODEL_FROM_DATABASE=Axium AX-R4D Controller

usb:v16D0p080A*
 ID_MODEL_FROM_DATABASE=S2E1 Interface

usb:v16D0p0830*
 ID_MODEL_FROM_DATABASE=DMXControl Projects e.V., Nodle U1

usb:v16D0p0831*
 ID_MODEL_FROM_DATABASE=DMXControl Projects e.V., Desklamp

usb:v16D0p0832*
 ID_MODEL_FROM_DATABASE=DMXControl Projects e.V., Nodle U2

usb:v16D0p0833*
 ID_MODEL_FROM_DATABASE=DMXControl Projects e.V., Nodle R4S

usb:v16D0p0870*
 ID_MODEL_FROM_DATABASE=Kaufmann Automotive GmbH, RKS+CAN Interface

usb:v16D0p09F2*
 ID_MODEL_FROM_DATABASE=Axium AX-1250 Amplifier

usb:v16D0p09F4*
 ID_MODEL_FROM_DATABASE=Axium AX-Mini4 Amplifier

usb:v16D0p0B03*
 ID_MODEL_FROM_DATABASE=AIS Receiver [dAISy]

usb:v16D0p0B7D*
 ID_MODEL_FROM_DATABASE=Autonomic M801 Amplifier

usb:v16D0p0B7E*
 ID_MODEL_FROM_DATABASE=Autonomic M401 Amplifier

usb:v16D0p0B7F*
 ID_MODEL_FROM_DATABASE=Autonomic M120e Amplifier

usb:v16D0p0BD4*
 ID_MODEL_FROM_DATABASE=codesrc SCSI2SD

usb:v16D0p0C9B*
 ID_MODEL_FROM_DATABASE=Fermium LABS srl/LabTrek srl Hall Effect Apparatus

usb:v16D0p0D3C*
 ID_MODEL_FROM_DATABASE=InputStick BT4.0

usb:v16D0p0E1E*
 ID_MODEL_FROM_DATABASE=AtomMiner

usb:v16D1*
 ID_VENDOR_FROM_DATABASE=Suprema Inc.

usb:v16D1p0401*
 ID_MODEL_FROM_DATABASE=SUP-SFR400(A) BioMini Fingerprint Reader

usb:v16D3*
 ID_VENDOR_FROM_DATABASE=Frontline Test Equipment, Inc.

usb:v16D5*
 ID_VENDOR_FROM_DATABASE=AnyDATA Corporation

usb:v16D5p6202*
 ID_MODEL_FROM_DATABASE=CDMA/UMTS/GPRS modem

usb:v16D5p6501*
 ID_MODEL_FROM_DATABASE=CDMA 2000 1xRTT/EV-DO Modem

usb:v16D5p6502*
 ID_MODEL_FROM_DATABASE=CDMA/UMTS/GPRS modem

usb:v16D5p6603*
 ID_MODEL_FROM_DATABASE=ADU-890WH modem

usb:v16D6*
 ID_VENDOR_FROM_DATABASE=JABLOCOM s.r.o.

usb:v16D6p8000*
 ID_MODEL_FROM_DATABASE=GDP-04 desktop phone

usb:v16D6p8001*
 ID_MODEL_FROM_DATABASE=EYE-02

usb:v16D6p8003*
 ID_MODEL_FROM_DATABASE=GDP-04 modem

usb:v16D6p8004*
 ID_MODEL_FROM_DATABASE=Bootloader

usb:v16D6p8005*
 ID_MODEL_FROM_DATABASE=GDP-04i

usb:v16D6p8007*
 ID_MODEL_FROM_DATABASE=BTP-06 modem

usb:v16D8*
 ID_VENDOR_FROM_DATABASE=CMOTECH Co., Ltd.

usb:v16D8p5141*
 ID_MODEL_FROM_DATABASE=CMOTECH CDMA Technologies modem

usb:v16D8p5533*
 ID_MODEL_FROM_DATABASE=CCU-550 CDMA EV-DO modem

usb:v16D8p5543*
 ID_MODEL_FROM_DATABASE=CDMA 2000 1xRTT/1xEVDO modem

usb:v16D8p6280*
 ID_MODEL_FROM_DATABASE=CMOTECH CDMA Technologies modem

usb:v16D8p6803*
 ID_MODEL_FROM_DATABASE=CNU-680 CDMA EV-DO modem

usb:v16D8p8001*
 ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem (QDL mode)

usb:v16D8p8002*
 ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem

usb:v16DC*
 ID_VENDOR_FROM_DATABASE=Wiener, Plein & Baus

usb:v16DCp0001*
 ID_MODEL_FROM_DATABASE=CC

usb:v16DCp000B*
 ID_MODEL_FROM_DATABASE=VM

usb:v16DCp0010*
 ID_MODEL_FROM_DATABASE=PL512 Power Supply System

usb:v16DCp0011*
 ID_MODEL_FROM_DATABASE=MARATON Power Supply System

usb:v16DCp0012*
 ID_MODEL_FROM_DATABASE=MPOD Multi Channel Power Supply System

usb:v16DCp0015*
 ID_MODEL_FROM_DATABASE=CML Control, Measurement and Data Logging System

usb:v16DE*
 ID_VENDOR_FROM_DATABASE=Telemecanique

usb:v16DF*
 ID_VENDOR_FROM_DATABASE=King Billion Electronics Co., Ltd.

usb:v16F0*
 ID_VENDOR_FROM_DATABASE=GN Hearing A/S

usb:v16F0p0001*
 ID_MODEL_FROM_DATABASE=Speedlink Programming Interface

usb:v16F0p0003*
 ID_MODEL_FROM_DATABASE=Airlink Wireless Programming Interface

usb:v16F0p0004*
 ID_MODEL_FROM_DATABASE=Accessory Programming Interface

usb:v16F5*
 ID_VENDOR_FROM_DATABASE=Futurelogic Inc.

usb:v1702*
 ID_VENDOR_FROM_DATABASE=FDI-MATELEC

usb:v1702p0002*
 ID_MODEL_FROM_DATABASE=Encodeur

usb:v1706*
 ID_VENDOR_FROM_DATABASE=BlueView Technologies, Inc.

usb:v1707*
 ID_VENDOR_FROM_DATABASE=ARTIMI

usb:v170B*
 ID_VENDOR_FROM_DATABASE=Swissonic

usb:v170Bp0011*
 ID_MODEL_FROM_DATABASE=MIDI-USB 1x1

usb:v170D*
 ID_VENDOR_FROM_DATABASE=Avnera

usb:v1711*
 ID_VENDOR_FROM_DATABASE=Leica Microsystems

usb:v1711p0101*
 ID_MODEL_FROM_DATABASE=DFC-365FX camera

usb:v1711p3020*
 ID_MODEL_FROM_DATABASE=IC80 HD Camera

usb:v1724*
 ID_VENDOR_FROM_DATABASE=Meyer Instruments (MIS)

usb:v1724p0115*
 ID_MODEL_FROM_DATABASE=PAXcam5

usb:v1725*
 ID_VENDOR_FROM_DATABASE=Vitesse Semiconductor

usb:v1726*
 ID_VENDOR_FROM_DATABASE=Axesstel, Inc.

usb:v1726p1000*
 ID_MODEL_FROM_DATABASE=wireless modem

usb:v1726p2000*
 ID_MODEL_FROM_DATABASE=wireless modem

usb:v1726p3000*
 ID_MODEL_FROM_DATABASE=wireless modem

usb:v172F*
 ID_VENDOR_FROM_DATABASE=Waltop International Corp.

usb:v172Fp0022*
 ID_MODEL_FROM_DATABASE=Tablet

usb:v172Fp0024*
 ID_MODEL_FROM_DATABASE=Tablet

usb:v172Fp0025*
 ID_MODEL_FROM_DATABASE=Tablet

usb:v172Fp0026*
 ID_MODEL_FROM_DATABASE=Tablet

usb:v172Fp0031*
 ID_MODEL_FROM_DATABASE=Slim Tablet 12.1"

usb:v172Fp0032*
 ID_MODEL_FROM_DATABASE=Slim Tablet 5.8"

usb:v172Fp0034*
 ID_MODEL_FROM_DATABASE=Slim Tablet 12.1"

usb:v172Fp0038*
 ID_MODEL_FROM_DATABASE=Genius G-Pen F509

usb:v172Fp0500*
 ID_MODEL_FROM_DATABASE=Media Tablet 14.1"

usb:v172Fp0501*
 ID_MODEL_FROM_DATABASE=Media Tablet 10.6"

usb:v172Fp0502*
 ID_MODEL_FROM_DATABASE=Sirius Battery Free Tablet

usb:v1733*
 ID_VENDOR_FROM_DATABASE=Cellink Technology Co., Ltd

usb:v1733p0101*
 ID_MODEL_FROM_DATABASE=RF Wireless Optical Mouse OP-701

usb:v1736*
 ID_VENDOR_FROM_DATABASE=CANON IMAGING SYSTEM TECHNOLOGIES INC.

usb:v1737*
 ID_VENDOR_FROM_DATABASE=802.11g Adapter [Linksys WUSB54GC v3]

usb:v1737p0039*
 ID_MODEL_FROM_DATABASE=USB1000 Gigabit Notebook Adapter

usb:v1737p0070*
 ID_MODEL_FROM_DATABASE=WUSB100 v1 RangePlus Wireless Network Adapter [Ralink RT2870]

usb:v1737p0071*
 ID_MODEL_FROM_DATABASE=WUSB600N v1 Dual-Band Wireless-N Network Adapter [Ralink RT2870]

usb:v1737p0073*
 ID_MODEL_FROM_DATABASE=WUSB54GC v2 802.11g Adapter [Realtek RTL8187B]

usb:v1737p0075*
 ID_MODEL_FROM_DATABASE=WUSB54GSC v2 802.11g Adapter [Broadcom 4326U]

usb:v1737p0077*
 ID_MODEL_FROM_DATABASE=WUSB54GC v3 802.11g Adapter [Ralink RT2070L]

usb:v1737p0078*
 ID_MODEL_FROM_DATABASE=WUSB100 v2 RangePlus Wireless Network Adapter [Ralink RT3070]

usb:v1737p0079*
 ID_MODEL_FROM_DATABASE=WUSB600N v2 Dual-Band Wireless-N Network Adapter [Ralink RT3572]

usb:v173A*
 ID_VENDOR_FROM_DATABASE=Roche

usb:v173Ap2198*
 ID_MODEL_FROM_DATABASE=Accu-Chek Mobile

usb:v173Ap21CA*
 ID_MODEL_FROM_DATABASE=ACCU-CHEK Mobile Model U1

usb:v173D*
 ID_VENDOR_FROM_DATABASE=QSENN

usb:v173Dp0002*
 ID_MODEL_FROM_DATABASE=GP-K7000 keyboard

usb:v1740*
 ID_VENDOR_FROM_DATABASE=Senao

usb:v1740p0100*
 ID_MODEL_FROM_DATABASE=EUB1200AC AC1200 DB Wireless Adapter [Realtek RTL8812AU]

usb:v1740p0600*
 ID_MODEL_FROM_DATABASE=EUB600v1 802.11abgn Wireless Adapter [Ralink RT3572]

usb:v1740p0605*
 ID_MODEL_FROM_DATABASE=LevelOne WUA-0605 N_Max Wireless USB Adapter

usb:v1740p0615*
 ID_MODEL_FROM_DATABASE=LevelOne WUA-0615 N_Max Wireless USB Adapter

usb:v1740p1000*
 ID_MODEL_FROM_DATABASE=NUB-350 802.11g Wireless Adapter [Intersil ISL3887]

usb:v1740p2000*
 ID_MODEL_FROM_DATABASE=NUB-8301 802.11bg

usb:v1740p3701*
 ID_MODEL_FROM_DATABASE=EUB-3701 EXT 802.11g Wireless Adapter [Ralink RT2571W]

usb:v1740p9603*
 ID_MODEL_FROM_DATABASE=RTL8188S WLAN Adapter

usb:v1740p9701*
 ID_MODEL_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter

usb:v1740p9702*
 ID_MODEL_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter

usb:v1740p9703*
 ID_MODEL_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter

usb:v1740p9705*
 ID_MODEL_FROM_DATABASE=EnGenius 802.11n Wireless USB Adapter

usb:v1740p9706*
 ID_MODEL_FROM_DATABASE=EUB9706 802.11n Wireless Adapter [Ralink RT3072]

usb:v1740p9801*
 ID_MODEL_FROM_DATABASE=EUB9801 802.11abgn Wireless Adapter [Ralink RT3572]

usb:v1743*
 ID_VENDOR_FROM_DATABASE=General Atomics

usb:v1748*
 ID_VENDOR_FROM_DATABASE=MQP Electronics

usb:v1748p0101*
 ID_MODEL_FROM_DATABASE=Packet-Master USB12

usb:v174C*
 ID_VENDOR_FROM_DATABASE=ASMedia Technology Inc.

usb:v174Cp07D1*
 ID_MODEL_FROM_DATABASE=Transcend ESD400 Portable SSD (USB 3.0)

usb:v174Cp1151*
 ID_MODEL_FROM_DATABASE=ASM1151W

usb:v174Cp1153*
 ID_MODEL_FROM_DATABASE=ASM1153 SATA 3Gb/s bridge

usb:v174Cp2074*
 ID_MODEL_FROM_DATABASE=ASM1074 High-Speed hub

usb:v174Cp3074*
 ID_MODEL_FROM_DATABASE=ASM1074 SuperSpeed hub

usb:v174Cp5106*
 ID_MODEL_FROM_DATABASE=ASM1051 SATA 3Gb/s bridge

usb:v174Cp5136*
 ID_MODEL_FROM_DATABASE=ASM1053 SATA 3Gb/s bridge

usb:v174Cp51D6*
 ID_MODEL_FROM_DATABASE=ASM1051W SATA 3Gb/s bridge

usb:v174Cp55AA*
 ID_MODEL_FROM_DATABASE=ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge

usb:v174F*
 ID_VENDOR_FROM_DATABASE=Syntek

usb:v174Fp1105*
 ID_MODEL_FROM_DATABASE=SM-MS/Pro-MMC-XD Card Reader

usb:v174Fp110B*
 ID_MODEL_FROM_DATABASE=HP Webcam

usb:v174Fp1122*
 ID_MODEL_FROM_DATABASE=HP Webcam

usb:v174Fp1169*
 ID_MODEL_FROM_DATABASE=Lenovo EasyCamera

usb:v174Fp1403*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v174Fp1404*
 ID_MODEL_FROM_DATABASE=USB Camera device, 1.3 MPixel Web Cam

usb:v174Fp1758*
 ID_MODEL_FROM_DATABASE=XYZ printing cameraR2

usb:v174Fp1759*
 ID_MODEL_FROM_DATABASE=XYZ printing cameraL2

usb:v174Fp5212*
 ID_MODEL_FROM_DATABASE=USB 2.0 UVC PC Camera

usb:v174Fp5A11*
 ID_MODEL_FROM_DATABASE=PC Camera

usb:v174Fp5A31*
 ID_MODEL_FROM_DATABASE=Sonix USB 2.0 Camera

usb:v174Fp5A35*
 ID_MODEL_FROM_DATABASE=Sonix 1.3MPixel USB 2.0 Camera

usb:v174Fp6A31*
 ID_MODEL_FROM_DATABASE=Web Cam - Asus A8J, F3S, F5R, VX2S, V1S

usb:v174Fp6A33*
 ID_MODEL_FROM_DATABASE=Web Cam - Asus F3SA, F9J, F9S

usb:v174Fp6A51*
 ID_MODEL_FROM_DATABASE=2.0MPixel Web Cam - Asus Z96J, Z96S, S96S

usb:v174Fp6A54*
 ID_MODEL_FROM_DATABASE=Web Cam

usb:v174Fp6D51*
 ID_MODEL_FROM_DATABASE=2.0Mpixel Web Cam - Eurocom D900C

usb:v174Fp8A12*
 ID_MODEL_FROM_DATABASE=Syntek 0.3MPixel USB 2.0 UVC PC Camera

usb:v174Fp8A33*
 ID_MODEL_FROM_DATABASE=Syntek USB 2.0 UVC PC Camera

usb:v174FpA311*
 ID_MODEL_FROM_DATABASE=1.3MPixel Web Cam - Asus A3A, A6J, A6K, A6M, A6R, A6T, A6V, A7T, A7sv, A7U

usb:v174FpA312*
 ID_MODEL_FROM_DATABASE=1.3MPixel Web Cam

usb:v174FpA821*
 ID_MODEL_FROM_DATABASE=Web Cam - Packard Bell BU45, PB Easynote MX66-208W

usb:v174FpAA11*
 ID_MODEL_FROM_DATABASE=Web Cam

usb:v1753*
 ID_VENDOR_FROM_DATABASE=GERTEC Telecomunicacoes Ltda.

usb:v1753pC901*
 ID_MODEL_FROM_DATABASE=PPC900 Pinpad Terminal

usb:v1756*
 ID_VENDOR_FROM_DATABASE=ENENSYS Technologies

usb:v1756p0006*
 ID_MODEL_FROM_DATABASE=DiviPitch

usb:v1759*
 ID_VENDOR_FROM_DATABASE=LucidPort Technology, Inc.

usb:v1761*
 ID_VENDOR_FROM_DATABASE=ASUSTek Computer, Inc. (wrong ID)

usb:v1761p0B05*
 ID_MODEL_FROM_DATABASE=802.11n Network Adapter (wrong ID - swapped vendor and device)

usb:v1770*
 ID_VENDOR_FROM_DATABASE=MSI

usb:v1770pFF00*
 ID_MODEL_FROM_DATABASE=steel series rgb keyboard

usb:v1772*
 ID_VENDOR_FROM_DATABASE=System Level Solutions, Inc.

usb:v1776*
 ID_VENDOR_FROM_DATABASE=Arowana

usb:v1776p501C*
 ID_MODEL_FROM_DATABASE=300K CMOS Camera

usb:v1777*
 ID_VENDOR_FROM_DATABASE=Microscan Systems, Inc.

usb:v1777p0003*
 ID_MODEL_FROM_DATABASE=MicroHAWK ID-20

usb:v177F*
 ID_VENDOR_FROM_DATABASE=Sweex

usb:v177Fp0004*
 ID_MODEL_FROM_DATABASE=MM004V5 Photo Key Chain (Digital Photo Frame) 1.5"

usb:v177Fp0153*
 ID_MODEL_FROM_DATABASE=LW153 802.11n Adapter [ralink rt3070]

usb:v177Fp0154*
 ID_MODEL_FROM_DATABASE=LW154 802.11bgn (1x1:1) Wireless Adapter [Realtek RTL8188SU]

usb:v177Fp0313*
 ID_MODEL_FROM_DATABASE=LW313 802.11n Adapter [ralink rt2770 + rt2720]

usb:v1781*
 ID_VENDOR_FROM_DATABASE=Multiple Vendors

usb:v1781p07DF*
 ID_MODEL_FROM_DATABASE=Axium AX-800DAV Amplifier

usb:v1781p07E1*
 ID_MODEL_FROM_DATABASE=Axium AX-KPC Keypad

usb:v1781p07E2*
 ID_MODEL_FROM_DATABASE=Axium AX-KPD Keypad

usb:v1781p07E3*
 ID_MODEL_FROM_DATABASE=Axium AX-400DA Amplifier

usb:v1781p083E*
 ID_MODEL_FROM_DATABASE=MetaGeek Wi-Spy

usb:v1781p083F*
 ID_MODEL_FROM_DATABASE=MetaGeek Wi-Spy 2.4x

usb:v1781p0938*
 ID_MODEL_FROM_DATABASE=Iguanaworks USB IR Transceiver

usb:v1781p0941*
 ID_MODEL_FROM_DATABASE=qNimble Quark

usb:v1781p0A96*
 ID_MODEL_FROM_DATABASE=raphnet.net usb_game12

usb:v1781p0A97*
 ID_MODEL_FROM_DATABASE=raphnet.net SNES mouse adapter

usb:v1781p0A98*
 ID_MODEL_FROM_DATABASE=raphnet.net USBTenki

usb:v1781p0A99*
 ID_MODEL_FROM_DATABASE=raphnet.net NES

usb:v1781p0A9A*
 ID_MODEL_FROM_DATABASE=raphnet.net Gamecube/N64 controller

usb:v1781p0A9B*
 ID_MODEL_FROM_DATABASE=raphnet.net DB9Joy

usb:v1781p0A9C*
 ID_MODEL_FROM_DATABASE=raphnet.net Intellivision

usb:v1781p0A9D*
 ID_MODEL_FROM_DATABASE=raphnet.net 4nes4snes

usb:v1781p0A9E*
 ID_MODEL_FROM_DATABASE=raphnet.net Megadrive multitap

usb:v1781p0A9F*
 ID_MODEL_FROM_DATABASE=raphnet.net MultiDB9joy

usb:v1781p0BAD*
 ID_MODEL_FROM_DATABASE=Mantracourt Load Cell

usb:v1781p0C30*
 ID_MODEL_FROM_DATABASE=Telldus TellStick

usb:v1781p0C31*
 ID_MODEL_FROM_DATABASE=Telldus TellStick Duo

usb:v1781p0C9F*
 ID_MODEL_FROM_DATABASE=USBtiny

usb:v1781p1EEF*
 ID_MODEL_FROM_DATABASE=OpenAPC SecuKey

usb:v1781p1EF0*
 ID_MODEL_FROM_DATABASE=E1701 Modular Controller Card

usb:v1781p1EF1*
 ID_MODEL_FROM_DATABASE=E1701 Modular Controller Card

usb:v1781p1EF2*
 ID_MODEL_FROM_DATABASE=E1803 Compact Controller Card

usb:v1782*
 ID_VENDOR_FROM_DATABASE=Spreadtrum Communications Inc.

usb:v1782p3D00*
 ID_MODEL_FROM_DATABASE=F200n mobile phone

usb:v1784*
 ID_VENDOR_FROM_DATABASE=TopSeed Technology Corp.

usb:v1784p0001*
 ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver

usb:v1784p0004*
 ID_MODEL_FROM_DATABASE=RF Combo Device

usb:v1784p0006*
 ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver

usb:v1784p0007*
 ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver

usb:v1784p0008*
 ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver

usb:v1784p000A*
 ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver

usb:v1784p0011*
 ID_MODEL_FROM_DATABASE=eHome Infrared Transceiver

usb:v1787*
 ID_VENDOR_FROM_DATABASE=ATI AIB

usb:v1788*
 ID_VENDOR_FROM_DATABASE=ShenZhen Litkconn Technology Co., Ltd.

usb:v178E*
 ID_VENDOR_FROM_DATABASE=ASUSTek Computer, Inc. (wrong ID)

usb:v178Ep0B05*
 ID_MODEL_FROM_DATABASE=CrossLink cable 2GB (wrong ID - swapped vendor and device)

usb:v1796*
 ID_VENDOR_FROM_DATABASE=Printrex, Inc.

usb:v1797*
 ID_VENDOR_FROM_DATABASE=JALCO CO., LTD.

usb:v1799*
 ID_VENDOR_FROM_DATABASE=Thales Norway A/S

usb:v1799p7051*
 ID_MODEL_FROM_DATABASE=Belkin F5D7051 802.11g Adapter v1000 [Broadcom 4320]

usb:v1799p8051*
 ID_MODEL_FROM_DATABASE=Belkin F5D8051 v2 802.11bgn Wireless Adapter [Marvell 88W8362]

usb:v179D*
 ID_VENDOR_FROM_DATABASE=Ricavision International, Inc.

usb:v179Dp0010*
 ID_MODEL_FROM_DATABASE=Internal Infrared Transceiver

usb:v17A0*
 ID_VENDOR_FROM_DATABASE=Samson Technologies Corp.

usb:v17A0p0001*
 ID_MODEL_FROM_DATABASE=C01U condenser microphone

usb:v17A0p0002*
 ID_MODEL_FROM_DATABASE=Q1U dynamic microphone

usb:v17A0p0100*
 ID_MODEL_FROM_DATABASE=C03U multi-pattern microphone

usb:v17A0p0101*
 ID_MODEL_FROM_DATABASE=UB1 boundary microphone

usb:v17A0p0120*
 ID_MODEL_FROM_DATABASE=Meteorite condenser microphone

usb:v17A0p0130*
 ID_MODEL_FROM_DATABASE=Go Mic Direct

usb:v17A0p0132*
 ID_MODEL_FROM_DATABASE=Go Mic Mobile wireless receiver

usb:v17A0p0200*
 ID_MODEL_FROM_DATABASE=StudioDock monitors (internal hub)

usb:v17A0p0201*
 ID_MODEL_FROM_DATABASE=StudioDock monitors (audio)

usb:v17A0p0210*
 ID_MODEL_FROM_DATABASE=StudioGT monitors

usb:v17A0p0211*
 ID_MODEL_FROM_DATABASE=StudioGT monitors [CM6400]

usb:v17A0p0240*
 ID_MODEL_FROM_DATABASE=Go Mic Connect

usb:v17A0p0241*
 ID_MODEL_FROM_DATABASE=G-Track Pro microphone

usb:v17A0p0301*
 ID_MODEL_FROM_DATABASE=Q2U handheld microphone with XLR

usb:v17A0p0302*
 ID_MODEL_FROM_DATABASE=GoMic compact condenser microphone

usb:v17A0p0303*
 ID_MODEL_FROM_DATABASE=C01U Pro condenser microphone

usb:v17A0p0304*
 ID_MODEL_FROM_DATABASE=Q2U handheld mic with XLR

usb:v17A0p0305*
 ID_MODEL_FROM_DATABASE=GoMic compact condenser mic

usb:v17A0p0310*
 ID_MODEL_FROM_DATABASE=Meteor condenser microphone

usb:v17A0p0311*
 ID_MODEL_FROM_DATABASE=Satellite condenser microphone

usb:v17A0p1616*
 ID_MODEL_FROM_DATABASE=RXD1 wireless receiver

usb:v17A0pB241*
 ID_MODEL_FROM_DATABASE=G-Track Pro firmware update

usb:v17A0pB311*
 ID_MODEL_FROM_DATABASE=Satellite firmware update

usb:v17A4*
 ID_VENDOR_FROM_DATABASE=Concept2

usb:v17A4p0001*
 ID_MODEL_FROM_DATABASE=Performance Monitor 3

usb:v17A4p0002*
 ID_MODEL_FROM_DATABASE=Performance Monitor 4

usb:v17A5*
 ID_VENDOR_FROM_DATABASE=Advanced Connection Technology Inc.

usb:v17A7*
 ID_VENDOR_FROM_DATABASE=MICOMSOFT CO., LTD.

usb:v17A8*
 ID_VENDOR_FROM_DATABASE=Kamstrup A/S

usb:v17A8p0001*
 ID_MODEL_FROM_DATABASE=Optical Eye/3-wire

usb:v17A8p0005*
 ID_MODEL_FROM_DATABASE=M-Bus Master MultiPort 250D

usb:v17A8p0010*
 ID_MODEL_FROM_DATABASE=444MHz Radio Mesh Frontend

usb:v17A8p0011*
 ID_MODEL_FROM_DATABASE=444MHz RF sniffer

usb:v17A8p0012*
 ID_MODEL_FROM_DATABASE=870MHz Radio Mesh Frontend

usb:v17A8p0013*
 ID_MODEL_FROM_DATABASE=870MHz RF sniffer

usb:v17B3*
 ID_VENDOR_FROM_DATABASE=Grey Innovation

usb:v17B3p0004*
 ID_MODEL_FROM_DATABASE=Linux-USB Midi Gadget

usb:v17B5*
 ID_VENDOR_FROM_DATABASE=Lunatone

usb:v17B5p0010*
 ID_MODEL_FROM_DATABASE=MFT Sensor

usb:v17BA*
 ID_VENDOR_FROM_DATABASE=SAURIS GmbH

usb:v17BAp0001*
 ID_MODEL_FROM_DATABASE=SAU510-USB [no firmware]

usb:v17BAp0510*
 ID_MODEL_FROM_DATABASE=SAU510-USB and SAU510-USB plus JTAG Emulators

usb:v17BAp0511*
 ID_MODEL_FROM_DATABASE=SAU510-USB Iso Plus JTAG Emulator

usb:v17BAp0520*
 ID_MODEL_FROM_DATABASE=SAU510-USB Nano JTAG Emulator

usb:v17BAp1511*
 ID_MODEL_FROM_DATABASE=Onboard Emulator on SAUModule development kit

usb:v17C3*
 ID_VENDOR_FROM_DATABASE=Singim International Corp.

usb:v17CC*
 ID_VENDOR_FROM_DATABASE=Native Instruments

usb:v17CCp041C*
 ID_MODEL_FROM_DATABASE=Audio 2 DJ

usb:v17CCp041D*
 ID_MODEL_FROM_DATABASE=Traktor Audio 2

usb:v17CCp0808*
 ID_MODEL_FROM_DATABASE=Maschine Controller

usb:v17CCp0815*
 ID_MODEL_FROM_DATABASE=Audio Kontrol 1

usb:v17CCp0839*
 ID_MODEL_FROM_DATABASE=Audio 4 DJ

usb:v17CCp0D8D*
 ID_MODEL_FROM_DATABASE=Guitarrig Mobile

usb:v17CCp1001*
 ID_MODEL_FROM_DATABASE=Komplete Audio 6

usb:v17CCp1110*
 ID_MODEL_FROM_DATABASE=Maschine Mikro

usb:v17CCp1915*
 ID_MODEL_FROM_DATABASE=Session I/O

usb:v17CCp1940*
 ID_MODEL_FROM_DATABASE=RigKontrol3

usb:v17CCp1969*
 ID_MODEL_FROM_DATABASE=RigKontrol2

usb:v17CCp1978*
 ID_MODEL_FROM_DATABASE=Audio 8 DJ

usb:v17CCp2280*
 ID_MODEL_FROM_DATABASE=Medion MDPNA1500 in card reader mode

usb:v17CCp2305*
 ID_MODEL_FROM_DATABASE=Traktor Kontrol X1

usb:v17CCp4711*
 ID_MODEL_FROM_DATABASE=Kore Controller

usb:v17CCp4712*
 ID_MODEL_FROM_DATABASE=Kore Controller 2

usb:v17CCpBAFF*
 ID_MODEL_FROM_DATABASE=Traktor Kontrol S4

usb:v17CF*
 ID_VENDOR_FROM_DATABASE=Hip Hing Cable & Plug Mfy. Ltd.

usb:v17D0*
 ID_VENDOR_FROM_DATABASE=Sanford L.P.

usb:v17D3*
 ID_VENDOR_FROM_DATABASE=Korea Techtron Co., Ltd.

usb:v17E9*
 ID_VENDOR_FROM_DATABASE=DisplayLink

usb:v17E9p0051*
 ID_MODEL_FROM_DATABASE=USB VGA Adaptor

usb:v17E9p0198*
 ID_MODEL_FROM_DATABASE=DisplayLink

usb:v17E9p019E*
 ID_MODEL_FROM_DATABASE=Overfly FY-1016A

usb:v17E9p028F*
 ID_MODEL_FROM_DATABASE=HIS Multi-View II

usb:v17E9p030B*
 ID_MODEL_FROM_DATABASE=HP T100

usb:v17E9p0377*
 ID_MODEL_FROM_DATABASE=Plugable UD-160-A (M)

usb:v17E9p0378*
 ID_MODEL_FROM_DATABASE=Plugable UGA-2K-A

usb:v17E9p0379*
 ID_MODEL_FROM_DATABASE=Plugable UGA-125

usb:v17E9p037A*
 ID_MODEL_FROM_DATABASE=Plugable UGA-165

usb:v17E9p037B*
 ID_MODEL_FROM_DATABASE=Plugable USB-VGA-165

usb:v17E9p037C*
 ID_MODEL_FROM_DATABASE=Plugable DC-125

usb:v17E9p037D*
 ID_MODEL_FROM_DATABASE=Plugable USB2-HDMI-165

usb:v17E9p410A*
 ID_MODEL_FROM_DATABASE=HDMI Adapter

usb:v17E9p430A*
 ID_MODEL_FROM_DATABASE=HP Port Replicator (Composite Device)

usb:v17E9p430F*
 ID_MODEL_FROM_DATABASE=Kensington Dock (Composite Device)

usb:v17E9p4312*
 ID_MODEL_FROM_DATABASE=S2340T

usb:v17E9p436E*
 ID_MODEL_FROM_DATABASE=Dell D3100 Docking Station

usb:v17E9pFF10*
 ID_MODEL_FROM_DATABASE=I1659FWUX {AOC Powered Monitor]

usb:v17EB*
 ID_VENDOR_FROM_DATABASE=Cornice, Inc.

usb:v17EF*
 ID_VENDOR_FROM_DATABASE=Lenovo

usb:v17EFp1000*
 ID_MODEL_FROM_DATABASE=ThinkPad X6 UltraBase

usb:v17EFp1003*
 ID_MODEL_FROM_DATABASE=Integrated Smart Card Reader

usb:v17EFp1004*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v17EFp1005*
 ID_MODEL_FROM_DATABASE=ThinkPad X200 Ultrabase (42X4963 )

usb:v17EFp1008*
 ID_MODEL_FROM_DATABASE=Hub

usb:v17EFp100A*
 ID_MODEL_FROM_DATABASE=ThinkPad Mini Dock Plus Series 3

usb:v17EFp100F*
 ID_MODEL_FROM_DATABASE=ThinkPad Ultra Dock Hub

usb:v17EFp1010*
 ID_MODEL_FROM_DATABASE=ThinkPad Ultra Dock Hub

usb:v17EFp1020*
 ID_MODEL_FROM_DATABASE=ThinkPad Dock Hub

usb:v17EFp1021*
 ID_MODEL_FROM_DATABASE=ThinkPad Dock Hub [Cypress HX2VL]

usb:v17EFp3049*
 ID_MODEL_FROM_DATABASE=ThinkPad OneLink integrated audio

usb:v17EFp304B*
 ID_MODEL_FROM_DATABASE=AX88179 Gigabit Ethernet [ThinkPad OneLink GigaLAN]

usb:v17EFp304F*
 ID_MODEL_FROM_DATABASE=RTL8153 Gigabit Ethernet [ThinkPad OneLink Pro Dock]

usb:v17EFp3060*
 ID_MODEL_FROM_DATABASE=ThinkPad Dock

usb:v17EFp3062*
 ID_MODEL_FROM_DATABASE=ThinkPad Dock Ethernet [Realtek RTL8153B]

usb:v17EFp3063*
 ID_MODEL_FROM_DATABASE=ThinkPad Dock Audio

usb:v17EFp3066*
 ID_MODEL_FROM_DATABASE=ThinkPad Thunderbolt 3 Dock MCU

usb:v17EFp3069*
 ID_MODEL_FROM_DATABASE=ThinkPad TBT3 LAN

usb:v17EFp306A*
 ID_MODEL_FROM_DATABASE=ThinkPad Thunderbolt 3 Dock Audio

usb:v17EFp3815*
 ID_MODEL_FROM_DATABASE=ChipsBnk 2GB USB Stick

usb:v17EFp4802*
 ID_MODEL_FROM_DATABASE=Vc0323+MI1310_SOC Camera

usb:v17EFp4807*
 ID_MODEL_FROM_DATABASE=UVC Camera

usb:v17EFp480C*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v17EFp480D*
 ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]

usb:v17EFp480E*
 ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]

usb:v17EFp480F*
 ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]

usb:v17EFp4810*
 ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]

usb:v17EFp4811*
 ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]

usb:v17EFp4812*
 ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]

usb:v17EFp4813*
 ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]

usb:v17EFp4814*
 ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]

usb:v17EFp4815*
 ID_MODEL_FROM_DATABASE=Integrated Webcam [R5U877]

usb:v17EFp4816*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v17EFp481C*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v17EFp481D*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v17EFp6004*
 ID_MODEL_FROM_DATABASE=ISD-V4 Tablet Pen

usb:v17EFp6007*
 ID_MODEL_FROM_DATABASE=Smartcard Keyboard

usb:v17EFp6009*
 ID_MODEL_FROM_DATABASE=ThinkPad Keyboard with TrackPoint

usb:v17EFp600E*
 ID_MODEL_FROM_DATABASE=Optical Mouse

usb:v17EFp6014*
 ID_MODEL_FROM_DATABASE=Mini Wireless Keyboard N5901

usb:v17EFp6019*
 ID_MODEL_FROM_DATABASE=M-U0025-O Mouse

usb:v17EFp6022*
 ID_MODEL_FROM_DATABASE=Ultraslim Plus Wireless Keyboard and Mouse

usb:v17EFp6025*
 ID_MODEL_FROM_DATABASE=ThinkPad Travel Mouse

usb:v17EFp602D*
 ID_MODEL_FROM_DATABASE=Black Silk Keyboard

usb:v17EFp6032*
 ID_MODEL_FROM_DATABASE=Wireless Dongle for Keyboard and Mouse

usb:v17EFp6044*
 ID_MODEL_FROM_DATABASE=ThinkPad Laser Mouse

usb:v17EFp6047*
 ID_MODEL_FROM_DATABASE=ThinkPad Compact Keyboard with TrackPoint

usb:v17EFp604B*
 ID_MODEL_FROM_DATABASE=Precision Wireless Mouse

usb:v17EFp608D*
 ID_MODEL_FROM_DATABASE=Optical Mouse

usb:v17EFp609B*
 ID_MODEL_FROM_DATABASE=Professional Wireless Keyboard and Mouse Combo

usb:v17EFp609C*
 ID_MODEL_FROM_DATABASE=Professional Wireless Keyboard

usb:v17EFp7203*
 ID_MODEL_FROM_DATABASE=Ethernet adapter [U2L 100P-Y1]

usb:v17EFp7205*
 ID_MODEL_FROM_DATABASE=Thinkpad LAN

usb:v17EFp7217*
 ID_MODEL_FROM_DATABASE=VGA adapter

usb:v17EFp7423*
 ID_MODEL_FROM_DATABASE=IdeaPad A1 Tablet

usb:v17EFp7435*
 ID_MODEL_FROM_DATABASE=A789 (Mass Storage mode, with debug)

usb:v17EFp743A*
 ID_MODEL_FROM_DATABASE=A789 (Mass Storage mode)

usb:v17EFp7497*
 ID_MODEL_FROM_DATABASE=A789 (MTP mode)

usb:v17EFp7498*
 ID_MODEL_FROM_DATABASE=A789 (MTP mode, with debug)

usb:v17EFp749A*
 ID_MODEL_FROM_DATABASE=A789 (PTP mode)

usb:v17EFp749B*
 ID_MODEL_FROM_DATABASE=A789 (PTP mode, with debug)

usb:v17EFp7604*
 ID_MODEL_FROM_DATABASE=A760 (Mass Storage mode)

usb:v17EFp7605*
 ID_MODEL_FROM_DATABASE=A760 (Mass Storage mode, with debug)

usb:v17EFp760A*
 ID_MODEL_FROM_DATABASE=A760 (MTP mode)

usb:v17EFp760B*
 ID_MODEL_FROM_DATABASE=A760 (MTP mode, with debug)

usb:v17EFp760C*
 ID_MODEL_FROM_DATABASE=A760 (PTP mode)

usb:v17EFp760D*
 ID_MODEL_FROM_DATABASE=A760 (PTP mode, with debug)

usb:v17EFp76FC*
 ID_MODEL_FROM_DATABASE=B8000-H (Yoga Tablet 10) (mass storage)

usb:v17EFp76FD*
 ID_MODEL_FROM_DATABASE=B8000-H (Yoga Tablet 10) (debug , mass storage)

usb:v17EFp76FE*
 ID_MODEL_FROM_DATABASE=B8000-H (Yoga Tablet 10) (MTP)

usb:v17EFp76FF*
 ID_MODEL_FROM_DATABASE=B8000-H (Yoga Tablet 10) (debug , MTP)

usb:v17EFp7702*
 ID_MODEL_FROM_DATABASE=B8000-H (Yoga Tablet 10) (PTP)

usb:v17EFp7703*
 ID_MODEL_FROM_DATABASE=B8000-H (Yoga Tablet 10) (debug , PTP)

usb:v17EFp7704*
 ID_MODEL_FROM_DATABASE=B8000-H (Yoga Tablet 10) (USB tether)

usb:v17EFp7705*
 ID_MODEL_FROM_DATABASE=B8000-H (Yoga Tablet 10) (debug , USB tether)

usb:v17EFp7706*
 ID_MODEL_FROM_DATABASE=B8000-H (Yoga Tablet 10) (zerocd)

usb:v17EFp7707*
 ID_MODEL_FROM_DATABASE=B8000-H (Yoga Tablet 10) (debug , zerocd)

usb:v17EFp785F*
 ID_MODEL_FROM_DATABASE=TAB 2 A7-10 Tablet

usb:v17EFpB000*
 ID_MODEL_FROM_DATABASE=Virtual Keyboard and Mouse

usb:v17EFpB001*
 ID_MODEL_FROM_DATABASE=Ethernet

usb:v17EFpB003*
 ID_MODEL_FROM_DATABASE=Virtual Keyboard and Mouse / Mass Storage

usb:v17EFpF003*
 ID_MODEL_FROM_DATABASE=MEDION LIFETAB X10605 MTP mode

usb:v17F4*
 ID_VENDOR_FROM_DATABASE=WaveSense

usb:v17F4pAAAA*
 ID_MODEL_FROM_DATABASE=Jazz Blood Glucose Meter

usb:v17F5*
 ID_VENDOR_FROM_DATABASE=K.K. Rocky

usb:v17F6*
 ID_VENDOR_FROM_DATABASE=Unicomp, Inc.

usb:v17F6p0709*
 ID_MODEL_FROM_DATABASE=Model M Keyboard

usb:v17F6p0822*
 ID_MODEL_FROM_DATABASE=Ruffian 6 Keyboard v3 [Model M]

usb:v1809*
 ID_VENDOR_FROM_DATABASE=Advantech

usb:v1809p4604*
 ID_MODEL_FROM_DATABASE=USB-4604

usb:v1809p4761*
 ID_MODEL_FROM_DATABASE=USB-4761 Portable Data Acquisition Module

usb:v1822*
 ID_VENDOR_FROM_DATABASE=Twinhan

usb:v1822p3201*
 ID_MODEL_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device cold

usb:v1822p3202*
 ID_MODEL_FROM_DATABASE=VisionDTV USB-Ter/HAMA USB DVB-T device warm

usb:v1831*
 ID_VENDOR_FROM_DATABASE=Gwo Jinn Industries Co., Ltd.

usb:v1832*
 ID_VENDOR_FROM_DATABASE=Huizhou Shenghua Industrial Co., Ltd.

usb:v183D*
 ID_VENDOR_FROM_DATABASE=VIVOphone

usb:v183Dp0010*
 ID_MODEL_FROM_DATABASE=VoiceKey

usb:v1843*
 ID_VENDOR_FROM_DATABASE=Vaisala

usb:v1849*
 ID_VENDOR_FROM_DATABASE=ASRock Incorporation

usb:v184F*
 ID_VENDOR_FROM_DATABASE=K2L GmbH

usb:v184Fp0012*
 ID_MODEL_FROM_DATABASE=MOCCA compact

usb:v1852*
 ID_VENDOR_FROM_DATABASE=GYROCOM C&C Co., LTD

usb:v1852p7022*
 ID_MODEL_FROM_DATABASE=Fiio E10

usb:v1852p7921*
 ID_MODEL_FROM_DATABASE=Audiotrak ProDigy CUBE

usb:v1852p7922*
 ID_MODEL_FROM_DATABASE=Audiotrak DR.DAC2 DX [GYROCOM C&C]

usb:v1854*
 ID_VENDOR_FROM_DATABASE=Memory Devices Ltd.

usb:v185B*
 ID_VENDOR_FROM_DATABASE=Compro

usb:v185Bp3020*
 ID_MODEL_FROM_DATABASE=K100 Infrared Receiver

usb:v185Bp3082*
 ID_MODEL_FROM_DATABASE=K100 Infrared Receiver v2

usb:v185BpD000*
 ID_MODEL_FROM_DATABASE=Compro Videomate DVB-U2000 - DVB-T USB cold

usb:v185BpD001*
 ID_MODEL_FROM_DATABASE=Compro Videomate DVB-U2000 - DVB-T USB warm

usb:v1861*
 ID_VENDOR_FROM_DATABASE=Tech Technology Industrial Company

usb:v1862*
 ID_VENDOR_FROM_DATABASE=Teridian Semiconductor Corp.

usb:v1870*
 ID_VENDOR_FROM_DATABASE=Nexio Co., Ltd

usb:v1870p0001*
 ID_MODEL_FROM_DATABASE=iNexio Touchscreen controller

usb:v1871*
 ID_VENDOR_FROM_DATABASE=Aveo Technology Corp.

usb:v1871p0101*
 ID_MODEL_FROM_DATABASE=UVC camera (Bresser microscope)

usb:v1871p0141*
 ID_MODEL_FROM_DATABASE=Camera

usb:v1871p0D01*
 ID_MODEL_FROM_DATABASE=USB2.0 Camera

usb:v1873*
 ID_VENDOR_FROM_DATABASE=Navilock

usb:v1873pEE93*
 ID_MODEL_FROM_DATABASE=EasyLogger

usb:v187C*
 ID_VENDOR_FROM_DATABASE=Alienware Corporation

usb:v187Cp0511*
 ID_MODEL_FROM_DATABASE=AlienFX Mobile lighting

usb:v187Cp0513*
 ID_MODEL_FROM_DATABASE=Gaming Desktop [Aurora R4]

usb:v187Cp0550*
 ID_MODEL_FROM_DATABASE=LED controller

usb:v187Cp0600*
 ID_MODEL_FROM_DATABASE=Dual Compatible Game Pad

usb:v187F*
 ID_VENDOR_FROM_DATABASE=Siano Mobile Silicon

usb:v187Fp0010*
 ID_MODEL_FROM_DATABASE=Stallar Board

usb:v187Fp0100*
 ID_MODEL_FROM_DATABASE=Stallar Board

usb:v187Fp0200*
 ID_MODEL_FROM_DATABASE=Nova A

usb:v187Fp0201*
 ID_MODEL_FROM_DATABASE=Nova B

usb:v187Fp0202*
 ID_MODEL_FROM_DATABASE=Nice

usb:v187Fp0300*
 ID_MODEL_FROM_DATABASE=Vega

usb:v187Fp0301*
 ID_MODEL_FROM_DATABASE=VeNice

usb:v1892*
 ID_VENDOR_FROM_DATABASE=Vast Technologies, Inc.

usb:v1894*
 ID_VENDOR_FROM_DATABASE=Topseed

usb:v1894p5632*
 ID_MODEL_FROM_DATABASE=Atek Tote Remote

usb:v1894p5641*
 ID_MODEL_FROM_DATABASE=TSAM-004 Presentation Remote

usb:v1897*
 ID_VENDOR_FROM_DATABASE=Evertop Wire Cable Co.

usb:v189F*
 ID_VENDOR_FROM_DATABASE=3Shape A/S

usb:v189Fp0002*
 ID_MODEL_FROM_DATABASE=Legato2 3D Scanner

usb:v18A4*
 ID_VENDOR_FROM_DATABASE=CSSN

usb:v18A4p0001*
 ID_MODEL_FROM_DATABASE=Snapshell IDR

usb:v18A5*
 ID_VENDOR_FROM_DATABASE=Verbatim, Ltd

usb:v18A5p0214*
 ID_MODEL_FROM_DATABASE=Portable Hard Drive

usb:v18A5p0216*
 ID_MODEL_FROM_DATABASE=External Hard Drive

usb:v18A5p0218*
 ID_MODEL_FROM_DATABASE=External Hard Drive

usb:v18A5p0224*
 ID_MODEL_FROM_DATABASE=Store 'n' Go Micro Plus

usb:v18A5p0227*
 ID_MODEL_FROM_DATABASE=Pocket Hard Drive

usb:v18A5p022B*
 ID_MODEL_FROM_DATABASE=Portable Hard Drive (Store'n'Go)

usb:v18A5p0237*
 ID_MODEL_FROM_DATABASE=Portable Harddrive

usb:v18A5p0243*
 ID_MODEL_FROM_DATABASE=Flash Drive (Store'n'Go)

usb:v18A5p0245*
 ID_MODEL_FROM_DATABASE=Store'n'Stay

usb:v18A5p0302*
 ID_MODEL_FROM_DATABASE=Flash Drive

usb:v18A5p0304*
 ID_MODEL_FROM_DATABASE=Store 'n' Go

usb:v18A5p0408*
 ID_MODEL_FROM_DATABASE=Store 'n' Go

usb:v18A5p4123*
 ID_MODEL_FROM_DATABASE=Store N Go

usb:v18B1*
 ID_VENDOR_FROM_DATABASE=Petalynx

usb:v18B1p0037*
 ID_MODEL_FROM_DATABASE=Maxter Remote Control

usb:v18B4*
 ID_VENDOR_FROM_DATABASE=e3C Technologies

usb:v18B4p1001*
 ID_MODEL_FROM_DATABASE=DUTV007

usb:v18B4p1002*
 ID_MODEL_FROM_DATABASE=EC168 (v5) based USB DVB-T receiver

usb:v18B4p1689*
 ID_MODEL_FROM_DATABASE=DUTV009

usb:v18B4pFFFA*
 ID_MODEL_FROM_DATABASE=EC168 (v2) based USB DVB-T receiver

usb:v18B4pFFFB*
 ID_MODEL_FROM_DATABASE=EC168 (v3) based USB DVB-T receiver

usb:v18B6*
 ID_VENDOR_FROM_DATABASE=Mikkon Technology Limited

usb:v18B7*
 ID_VENDOR_FROM_DATABASE=Zotek Electronic Co., Ltd.

usb:v18C5*
 ID_VENDOR_FROM_DATABASE=AMIT Technology, Inc.

usb:v18C5p0002*
 ID_MODEL_FROM_DATABASE=CG-WLUSB2GO

usb:v18C5p0008*
 ID_MODEL_FROM_DATABASE=CG-WLUSB2GNR Corega Wireless USB Adapter

usb:v18C5p0012*
 ID_MODEL_FROM_DATABASE=CG-WLUSB10 Corega Wireless USB Adapter

usb:v18CD*
 ID_VENDOR_FROM_DATABASE=Ecamm

usb:v18CDpCAFE*
 ID_MODEL_FROM_DATABASE=Pico iMage

usb:v18D1*
 ID_VENDOR_FROM_DATABASE=Google Inc.

usb:v18D1p0001*
 ID_MODEL_FROM_DATABASE=Onda V972 (storage access)

usb:v18D1p0003*
 ID_MODEL_FROM_DATABASE=Android-powered device using AllWinner Technology SoC

usb:v18D1p0006*
 ID_MODEL_FROM_DATABASE=Onda V972 MTP

usb:v18D1p0008*
 ID_MODEL_FROM_DATABASE=Onda V972 PTP (camera)

usb:v18D1p0D02*
 ID_MODEL_FROM_DATABASE=Celkon A88

usb:v18D1p2D00*
 ID_MODEL_FROM_DATABASE=Android Open Accessory device (accessory)

usb:v18D1p2D01*
 ID_MODEL_FROM_DATABASE=Android Open Accessory device (accessory + ADB)

usb:v18D1p2D02*
 ID_MODEL_FROM_DATABASE=Android Open Accessory device (audio)

usb:v18D1p2D03*
 ID_MODEL_FROM_DATABASE=Android Open Accessory device (audio + ADB)

usb:v18D1p2D04*
 ID_MODEL_FROM_DATABASE=Android Open Accessory device (accessory + audio)

usb:v18D1p2D05*
 ID_MODEL_FROM_DATABASE=Android Open Accessory device (accessory + audio + ADB)

usb:v18D1p4E11*
 ID_MODEL_FROM_DATABASE=Nexus One

usb:v18D1p4E12*
 ID_MODEL_FROM_DATABASE=Nexus One (debug)

usb:v18D1p4E13*
 ID_MODEL_FROM_DATABASE=Nexus One (tether)

usb:v18D1p4E20*
 ID_MODEL_FROM_DATABASE=Nexus S (fastboot)

usb:v18D1p4E21*
 ID_MODEL_FROM_DATABASE=Nexus S

usb:v18D1p4E22*
 ID_MODEL_FROM_DATABASE=Nexus S (debug)

usb:v18D1p4E24*
 ID_MODEL_FROM_DATABASE=Nexus S (tether)

usb:v18D1p4E30*
 ID_MODEL_FROM_DATABASE=Galaxy Nexus (fastboot)

usb:v18D1p4E40*
 ID_MODEL_FROM_DATABASE=Nexus 7 (fastboot)

usb:v18D1p4E41*
 ID_MODEL_FROM_DATABASE=Nexus 7 (MTP)

usb:v18D1p4E42*
 ID_MODEL_FROM_DATABASE=Nexus 7 (debug)

usb:v18D1p4E43*
 ID_MODEL_FROM_DATABASE=Nexus 7 (PTP)

usb:v18D1p4E44*
 ID_MODEL_FROM_DATABASE=Nexus 7 2012 (PTP)

usb:v18D1p4EE0*
 ID_MODEL_FROM_DATABASE=Nexus/Pixel Device (fastboot)

usb:v18D1p4EE1*
 ID_MODEL_FROM_DATABASE=Nexus/Pixel Device (MTP)

usb:v18D1p4EE2*
 ID_MODEL_FROM_DATABASE=Nexus/Pixel Device (MTP + debug)

usb:v18D1p4EE3*
 ID_MODEL_FROM_DATABASE=Nexus/Pixel Device (tether)

usb:v18D1p4EE4*
 ID_MODEL_FROM_DATABASE=Nexus/Pixel Device (tether+ debug)

usb:v18D1p4EE5*
 ID_MODEL_FROM_DATABASE=Nexus/Pixel Device (PTP)

usb:v18D1p4EE6*
 ID_MODEL_FROM_DATABASE=Nexus/Pixel Device (PTP + debug)

usb:v18D1p4EE7*
 ID_MODEL_FROM_DATABASE=Nexus/Pixel Device (charging + debug)

usb:v18D1p4EE8*
 ID_MODEL_FROM_DATABASE=Nexus/Pixel Device (MIDI)

usb:v18D1p4EE9*
 ID_MODEL_FROM_DATABASE=Nexus/Pixel Device (MIDI + debug)

usb:v18D1p5033*
 ID_MODEL_FROM_DATABASE=Pixel earbuds

usb:v18D1p7102*
 ID_MODEL_FROM_DATABASE=Toshiba Thrive tablet

usb:v18D1pB004*
 ID_MODEL_FROM_DATABASE=Pandigital / B&N Novel 9" tablet

usb:v18D1pD001*
 ID_MODEL_FROM_DATABASE=Nexus 4 (fastboot)

usb:v18D1pD002*
 ID_MODEL_FROM_DATABASE=Nexus 4 (debug)

usb:v18D1pD00D*
 ID_MODEL_FROM_DATABASE=Xiaomi Mi/Redmi 2 (fastboot)

usb:v18D1pD109*
 ID_MODEL_FROM_DATABASE=LG G2x MTP

usb:v18D1pD10A*
 ID_MODEL_FROM_DATABASE=LG G2x MTP (debug)

usb:v18D5*
 ID_VENDOR_FROM_DATABASE=Starline International Group Limited

usb:v18D9*
 ID_VENDOR_FROM_DATABASE=Kaba

usb:v18D9p01A0*
 ID_MODEL_FROM_DATABASE=B-Net 91 07

usb:v18DC*
 ID_VENDOR_FROM_DATABASE=LKC Technologies, Inc.

usb:v18DD*
 ID_VENDOR_FROM_DATABASE=Planon System Solutions Inc.

usb:v18DDp1000*
 ID_MODEL_FROM_DATABASE=DocuPen RC800

usb:v18E3*
 ID_VENDOR_FROM_DATABASE=Fitipower Integrated Technology Inc

usb:v18E3p7102*
 ID_MODEL_FROM_DATABASE=Multi Card Reader (Internal)

usb:v18E3p9101*
 ID_MODEL_FROM_DATABASE=All-in-1 Card Reader

usb:v18E3p9102*
 ID_MODEL_FROM_DATABASE=Multi Card Reader

usb:v18E3p9512*
 ID_MODEL_FROM_DATABASE=Webcam

usb:v18E8*
 ID_VENDOR_FROM_DATABASE=Qcom

usb:v18E8p6144*
 ID_MODEL_FROM_DATABASE=LR802UA 802.11b Wireless Adapter [ALi M4301AU]

usb:v18E8p6196*
 ID_MODEL_FROM_DATABASE=RT2573

usb:v18E8p6229*
 ID_MODEL_FROM_DATABASE=RT2573

usb:v18E8p6232*
 ID_MODEL_FROM_DATABASE=Wireless 802.11g 54Mbps Network Adapter [RTL8187]

usb:v18EA*
 ID_VENDOR_FROM_DATABASE=Matrox Graphics, Inc.

usb:v18EAp0002*
 ID_MODEL_FROM_DATABASE=DualHead2Go [Analog Edition]

usb:v18EAp0004*
 ID_MODEL_FROM_DATABASE=TripleHead2Go [Digital Edition]

usb:v18EC*
 ID_VENDOR_FROM_DATABASE=Arkmicro Technologies Inc.

usb:v18ECp3118*
 ID_MODEL_FROM_DATABASE=USB to IrDA adapter [ARK3116T]

usb:v18ECp3188*
 ID_MODEL_FROM_DATABASE=ARK3188 UVC Webcam

usb:v18ECp3299*
 ID_MODEL_FROM_DATABASE=Webcam Carrefour

usb:v18ECp3366*
 ID_MODEL_FROM_DATABASE=Bresser Biolux NV

usb:v18ECp5850*
 ID_MODEL_FROM_DATABASE=CVBS / S-Video Capture Device [UVC]

usb:v18EF*
 ID_VENDOR_FROM_DATABASE=ELV Elektronik AG

usb:v18EFpE014*
 ID_MODEL_FROM_DATABASE=FS20PCE

usb:v18EFpE015*
 ID_MODEL_FROM_DATABASE=FS20PCS

usb:v18EFpE01A*
 ID_MODEL_FROM_DATABASE=Bedien-Anzeige-Terminal

usb:v18F8*
 ID_VENDOR_FROM_DATABASE=[Maxxter]

usb:v18F8p0F97*
 ID_MODEL_FROM_DATABASE=Optical Gaming Mouse [Xtrem]

usb:v18F8p0F99*
 ID_MODEL_FROM_DATABASE=Optical gaming mouse

usb:v18F8p1142*
 ID_MODEL_FROM_DATABASE=Optical gaming mouse

usb:v18F8p1486*
 ID_MODEL_FROM_DATABASE=X5s ZEUS Macro Pro Gaming Mouse

usb:v18FB*
 ID_VENDOR_FROM_DATABASE=Scriptel Corporation

usb:v18FBp01C0*
 ID_MODEL_FROM_DATABASE=ST1501-STN

usb:v18FBp01C1*
 ID_MODEL_FROM_DATABASE=ST1526-STN

usb:v18FBp01C2*
 ID_MODEL_FROM_DATABASE=ST1501-PYJ

usb:v18FBp01C3*
 ID_MODEL_FROM_DATABASE=ST1501B-PYJ

usb:v18FBp01C4*
 ID_MODEL_FROM_DATABASE=ST1501-PUN

usb:v18FBp01C5*
 ID_MODEL_FROM_DATABASE=ST1401-STN

usb:v18FBp01C7*
 ID_MODEL_FROM_DATABASE=ST1526-PYJ

usb:v18FBp01C8*
 ID_MODEL_FROM_DATABASE=ST1501-ECA

usb:v18FBp01C9*
 ID_MODEL_FROM_DATABASE=ST1476-STN

usb:v18FBp01CB*
 ID_MODEL_FROM_DATABASE=ST1571-STN

usb:v18FBp0200*
 ID_MODEL_FROM_DATABASE=ST1500

usb:v18FBp0201*
 ID_MODEL_FROM_DATABASE=ST1550

usb:v18FBp0202*
 ID_MODEL_FROM_DATABASE=ST1525

usb:v18FBp0204*
 ID_MODEL_FROM_DATABASE=ST1400

usb:v18FBp0206*
 ID_MODEL_FROM_DATABASE=ST1475

usb:v18FBp0207*
 ID_MODEL_FROM_DATABASE=ST1570

usb:v18FD*
 ID_VENDOR_FROM_DATABASE=FineArch Inc.

usb:v1901*
 ID_VENDOR_FROM_DATABASE=GE Healthcare

usb:v1901p0015*
 ID_MODEL_FROM_DATABASE=Nemo Tracker

usb:v1908*
 ID_VENDOR_FROM_DATABASE=GEMBIRD

usb:v1908p0102*
 ID_MODEL_FROM_DATABASE=Digital Photo Frame

usb:v1908p0226*
 ID_MODEL_FROM_DATABASE=MicroSD Card Reader/Writer

usb:v1908p1315*
 ID_MODEL_FROM_DATABASE=Digital Photo Frame

usb:v1908p1320*
 ID_MODEL_FROM_DATABASE=DM8261 Flashdisc

usb:v1908p2070*
 ID_MODEL_FROM_DATABASE=Honk HK-5002 USB Speaker

usb:v1908p2220*
 ID_MODEL_FROM_DATABASE=Buildwin Media-Player

usb:v1908p2311*
 ID_MODEL_FROM_DATABASE=Generic UVC 1.00 camera [AppoTech AX2311]

usb:v190D*
 ID_VENDOR_FROM_DATABASE=Motorola GSG

usb:v1914*
 ID_VENDOR_FROM_DATABASE=Alco Digital Devices Limited

usb:v1915*
 ID_VENDOR_FROM_DATABASE=Nordic Semiconductor ASA

usb:v1915p000C*
 ID_MODEL_FROM_DATABASE=Wireless Desktop nRF24L01 CX-1766

usb:v1915p0101*
 ID_MODEL_FROM_DATABASE=HP Prime Wireless Kit [FOK65AA] (Flash mode)

usb:v1915p2233*
 ID_MODEL_FROM_DATABASE=Linksys WUSB11 v2.8 802.11b Adapter [Atmel AT76C505]

usb:v1915p2234*
 ID_MODEL_FROM_DATABASE=Linksys WUSB54G v1 OEM 802.11g Adapter [Intersil ISL3886]

usb:v1915p2235*
 ID_MODEL_FROM_DATABASE=Linksys WUSB54GP v1 OEM 802.11g Adapter [Intersil ISL3886]

usb:v1915p2236*
 ID_MODEL_FROM_DATABASE=Linksys WUSB11 v3.0 802.11b Adapter [Intersil PRISM 3]

usb:v1915p7777*
 ID_MODEL_FROM_DATABASE=Bitcraze Crazyradio (PA) dongle

usb:v191C*
 ID_VENDOR_FROM_DATABASE=Innovative Technology LTD

usb:v191Cp4104*
 ID_MODEL_FROM_DATABASE=Banknote validator NV-150

usb:v1923*
 ID_VENDOR_FROM_DATABASE=FitLinxx

usb:v1923p0002*
 ID_MODEL_FROM_DATABASE=Personal SyncPoint

usb:v1926*
 ID_VENDOR_FROM_DATABASE=NextWindow

usb:v1926p0003*
 ID_MODEL_FROM_DATABASE=1900 HID Touchscreen

usb:v1926p0006*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0064*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0065*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0066*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0067*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0068*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0069*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0071*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0072*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0073*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0074*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0075*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0076*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0077*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0078*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0079*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p007A*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p007E*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p007F*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0080*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0081*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0082*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0083*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0084*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0085*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0086*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0087*
 ID_MODEL_FROM_DATABASE=1950 HID Touchscreen

usb:v1926p0DBF*
 ID_MODEL_FROM_DATABASE=HID Touchscreen

usb:v1926p0DC2*
 ID_MODEL_FROM_DATABASE=HID Touchscreen

usb:v1928*
 ID_VENDOR_FROM_DATABASE=Proceq SA

usb:v1928p0400*
 ID_MODEL_FROM_DATABASE=Equotip Piccolo

usb:v192F*
 ID_VENDOR_FROM_DATABASE=Avago Technologies, Pte.

usb:v192Fp0000*
 ID_MODEL_FROM_DATABASE=Mouse

usb:v192Fp0416*
 ID_MODEL_FROM_DATABASE=ADNS-5700 Optical Mouse Controller (3-button)

usb:v192Fp0616*
 ID_MODEL_FROM_DATABASE=ADNS-5700 Optical Mouse Controller (5-button)

usb:v192Fp0916*
 ID_MODEL_FROM_DATABASE=ADNS-2710 Optical Mouse Controller

usb:v1930*
 ID_VENDOR_FROM_DATABASE=Shenzhen Xianhe Technology Co., Ltd.

usb:v1931*
 ID_VENDOR_FROM_DATABASE=Ningbo Broad Telecommunication Co., Ltd.

usb:v1934*
 ID_VENDOR_FROM_DATABASE=Feature Integration Technology Inc. (Fintek)

usb:v1934p0602*
 ID_MODEL_FROM_DATABASE=F71610 or F71612 Consumer Infrared Receiver/Transceiver

usb:v1934p0702*
 ID_MODEL_FROM_DATABASE=Integrated Consumer Infrared Receiver/Transceiver

usb:v1934p5168*
 ID_MODEL_FROM_DATABASE=F71610A or F71612A Consumer Infrared Receiver/Transceiver

usb:v1935*
 ID_VENDOR_FROM_DATABASE=Elektron Music Machines

usb:v1935p000D*
 ID_MODEL_FROM_DATABASE=Elektron Digitakt

usb:v1938*
 ID_VENDOR_FROM_DATABASE=Meinberg Funkuhren GmbH & Co. KG

usb:v1938p0501*
 ID_MODEL_FROM_DATABASE=TCR51USB IRIG Time Code Reader

usb:v1938p0502*
 ID_MODEL_FROM_DATABASE=TCR600USB IRIG Time Code Reader

usb:v1941*
 ID_VENDOR_FROM_DATABASE=Dream Link

usb:v1941p8021*
 ID_MODEL_FROM_DATABASE=WH1080 Weather Station / USB Missile Launcher

usb:v1943*
 ID_VENDOR_FROM_DATABASE=Sensoray Co., Inc.

usb:v1943p2250*
 ID_MODEL_FROM_DATABASE=Model 2250 MPEG and JPEG Capture Card

usb:v1943p2253*
 ID_MODEL_FROM_DATABASE=Model 2253 Audio/Video Codec Card

usb:v1943p2255*
 ID_MODEL_FROM_DATABASE=Model 2255 4 Channel Capture Card

usb:v1943p2257*
 ID_MODEL_FROM_DATABASE=Model 2257 4 Channel Capture Card

usb:v1943p2263*
 ID_MODEL_FROM_DATABASE=Model 2263 UVC HD Audio/Video Codec Card

usb:v1943pA250*
 ID_MODEL_FROM_DATABASE=Model 2250 MPEG and JPEG Capture Card (cold)

usb:v1943pA253*
 ID_MODEL_FROM_DATABASE=Model 2253 Audio/Video Codec Card (cold)

usb:v1949*
 ID_VENDOR_FROM_DATABASE=Lab126, Inc.

usb:v1949p0002*
 ID_MODEL_FROM_DATABASE=Amazon Kindle

usb:v1949p0004*
 ID_MODEL_FROM_DATABASE=Amazon Kindle 3/4/Paperwhite

usb:v1949p0006*
 ID_MODEL_FROM_DATABASE=Amazon Kindle Fire

usb:v1949p0008*
 ID_MODEL_FROM_DATABASE=Amazon Kindle Fire HD 8.9"

usb:v1949p000A*
 ID_MODEL_FROM_DATABASE=Amazon Kindle Fire 2nd generation (2012)

usb:v1949p0331*
 ID_MODEL_FROM_DATABASE=Kindle Fire HD 8 (2018)

usb:v1949p0417*
 ID_MODEL_FROM_DATABASE=Amazon Zukey; clone of Yubikey 4 OTP+U2F

usb:v1949p0800*
 ID_MODEL_FROM_DATABASE=Fire Phone

usb:v194F*
 ID_VENDOR_FROM_DATABASE=PreSonus Audio Electronics, Inc.

usb:v194Fp0101*
 ID_MODEL_FROM_DATABASE=AudioBox 22 VSL

usb:v194Fp0102*
 ID_MODEL_FROM_DATABASE=AudioBox 44 VSL

usb:v194Fp0103*
 ID_MODEL_FROM_DATABASE=AudioBox 1818 VSL

usb:v194Fp0201*
 ID_MODEL_FROM_DATABASE=FaderPort

usb:v194Fp0301*
 ID_MODEL_FROM_DATABASE=AudioBox

usb:v1951*
 ID_VENDOR_FROM_DATABASE=Hyperstone AG

usb:v1953*
 ID_VENDOR_FROM_DATABASE=Ironkey Inc.

usb:v1953p0202*
 ID_MODEL_FROM_DATABASE=S200 2GB Rev. 1

usb:v1954*
 ID_VENDOR_FROM_DATABASE=Radiient Technologies

usb:v195D*
 ID_VENDOR_FROM_DATABASE=Itron Technology iONE

usb:v195Dp2030*
 ID_MODEL_FROM_DATABASE=Func KB-460 Gaming Keyboard

usb:v195Dp7002*
 ID_MODEL_FROM_DATABASE=Libra-Q11 IR remote

usb:v195Dp7006*
 ID_MODEL_FROM_DATABASE=Libra-Q26 / 1.0 Remote

usb:v195Dp7777*
 ID_MODEL_FROM_DATABASE=Scorpius wireless keyboard

usb:v195Dp7779*
 ID_MODEL_FROM_DATABASE=Scorpius-P20MT

usb:v1963*
 ID_VENDOR_FROM_DATABASE=IK Multimedia

usb:v1963p0005*
 ID_MODEL_FROM_DATABASE=iRig KEYS

usb:v1963p0046*
 ID_MODEL_FROM_DATABASE=UNO Synth

usb:v1965*
 ID_VENDOR_FROM_DATABASE=Uniden Corporation

usb:v1965p0016*
 ID_MODEL_FROM_DATABASE=HomePatrol-1

usb:v1965p0018*
 ID_MODEL_FROM_DATABASE=UBC125XLT

usb:v1965p001A*
 ID_MODEL_FROM_DATABASE=BCD436HP Scanner

usb:v1967*
 ID_VENDOR_FROM_DATABASE=CASIO HITACHI Mobile Communications Co., Ltd.

usb:v196B*
 ID_VENDOR_FROM_DATABASE=Wispro Technology Inc.

usb:v1970*
 ID_VENDOR_FROM_DATABASE=Dane-Elec Corp. USA

usb:v1970p0000*
 ID_MODEL_FROM_DATABASE=Z Mate 16GB

usb:v1973*
 ID_VENDOR_FROM_DATABASE=Spectralink Corporation

usb:v1973p0002*
 ID_MODEL_FROM_DATABASE=Pivot recovery

usb:v1973p0003*
 ID_MODEL_FROM_DATABASE=Pivot Media Transfer Protocol

usb:v1973p0004*
 ID_MODEL_FROM_DATABASE=Pivot Media Transfer Protocol

usb:v1975*
 ID_VENDOR_FROM_DATABASE=Dongguan Guneetal Wire & Cable Co., Ltd.

usb:v1976*
 ID_VENDOR_FROM_DATABASE=Chipsbrand Microelectronics (HK) Co., Ltd.

usb:v1976p1307*
 ID_MODEL_FROM_DATABASE=microSD Card Reader

usb:v1976p6025*
 ID_MODEL_FROM_DATABASE=CBM2090 Flash Drive

usb:v1977*
 ID_VENDOR_FROM_DATABASE=T-Logic

usb:v1977p0111*
 ID_MODEL_FROM_DATABASE=TL203 MP3 Player and Voice Recorder

usb:v197D*
 ID_VENDOR_FROM_DATABASE=Leuze electronic

usb:v197Dp0222*
 ID_MODEL_FROM_DATABASE=BCL 508i

usb:v1980*
 ID_VENDOR_FROM_DATABASE=Storage Appliance Corporation

usb:v1980p0808*
 ID_MODEL_FROM_DATABASE=Clickfree C2 Slimline (527SE)

usb:v1989*
 ID_VENDOR_FROM_DATABASE=Nuconn Technology Corp.

usb:v198F*
 ID_VENDOR_FROM_DATABASE=Beceem Communications Inc.

usb:v198Fp0210*
 ID_MODEL_FROM_DATABASE=BCS200 WiMAX Adapter

usb:v198Fp0220*
 ID_MODEL_FROM_DATABASE=BCSM250 WiMAX Adapter

usb:v1990*
 ID_VENDOR_FROM_DATABASE=Acron Precision Industrial Co., Ltd.

usb:v1995*
 ID_VENDOR_FROM_DATABASE=Trillium Technology Pty. Ltd.

usb:v1995p3202*
 ID_MODEL_FROM_DATABASE=REC-ADPT-USB (recorder)

usb:v1995p3203*
 ID_MODEL_FROM_DATABASE=REC-A-ADPT-USB (recorder)

usb:v1996*
 ID_VENDOR_FROM_DATABASE=PixeLINK

usb:v1996p3010*
 ID_MODEL_FROM_DATABASE=Camera Release 4

usb:v1996p3011*
 ID_MODEL_FROM_DATABASE=OEM Camera

usb:v1996p3012*
 ID_MODEL_FROM_DATABASE=e-ImageData Corp. ScanPro

usb:v1997*
 ID_VENDOR_FROM_DATABASE=Shenzhen Riitek Technology Co., Ltd

usb:v1997p0409*
 ID_MODEL_FROM_DATABASE=wireless mini keyboard with touchpad

usb:v1997p2433*
 ID_MODEL_FROM_DATABASE=wireless mini keyboard with touchpad

usb:v199B*
 ID_VENDOR_FROM_DATABASE=MicroStrain, Inc.

usb:v199Bp3065*
 ID_MODEL_FROM_DATABASE=3DM-GX3-25 Orientation Sensor

usb:v199E*
 ID_VENDOR_FROM_DATABASE=The Imaging Source Europe GmbH

usb:v199Ep8101*
 ID_MODEL_FROM_DATABASE=DFx 21BU04 Camera

usb:v199Ep8457*
 ID_MODEL_FROM_DATABASE=DFK AFU130-L53 camera

usb:v199F*
 ID_VENDOR_FROM_DATABASE=Benica Corporation

usb:v19A5*
 ID_VENDOR_FROM_DATABASE=HARRIS Corp.

usb:v19A5p0004*
 ID_MODEL_FROM_DATABASE=Remote NDIS Network Device

usb:v19A5p0012*
 ID_MODEL_FROM_DATABASE=RF-7800S Secure Personal Radio

usb:v19A5p0401*
 ID_MODEL_FROM_DATABASE=Mass Storage Device

usb:v19A5p0402*
 ID_MODEL_FROM_DATABASE=Falcon III RF-7800V family RNDIS

usb:v19A8*
 ID_VENDOR_FROM_DATABASE=Biforst Technology Inc.

usb:v19AB*
 ID_VENDOR_FROM_DATABASE=Bodelin

usb:v19ABp1000*
 ID_MODEL_FROM_DATABASE=ProScope HR

usb:v19AF*
 ID_VENDOR_FROM_DATABASE=S Life

usb:v19AFp6611*
 ID_MODEL_FROM_DATABASE=Celestia VoIP Phone

usb:v19B2*
 ID_VENDOR_FROM_DATABASE=Batronix

usb:v19B2p0010*
 ID_MODEL_FROM_DATABASE=BX32 Batupo

usb:v19B2p0011*
 ID_MODEL_FROM_DATABASE=BX32P Barlino

usb:v19B2p0012*
 ID_MODEL_FROM_DATABASE=BX40 Bagero

usb:v19B2p0013*
 ID_MODEL_FROM_DATABASE=BX48 Batego

usb:v19B4*
 ID_VENDOR_FROM_DATABASE=Celestron

usb:v19B4p0002*
 ID_MODEL_FROM_DATABASE=SkyScout Personal Planetarium

usb:v19B4p0101*
 ID_MODEL_FROM_DATABASE=Handheld Digital Microscope 44302

usb:v19B5*
 ID_VENDOR_FROM_DATABASE=B & W Group

usb:v19B6*
 ID_VENDOR_FROM_DATABASE=Infotech Logistic, LLC

usb:v19B9*
 ID_VENDOR_FROM_DATABASE=Data Robotics

usb:v19B9p4B10*
 ID_MODEL_FROM_DATABASE=Drobo

usb:v19B9p8D20*
 ID_MODEL_FROM_DATABASE=Drobo Elite

usb:v19C2*
 ID_VENDOR_FROM_DATABASE=Futuba

usb:v19C2p6A11*
 ID_MODEL_FROM_DATABASE=MDM166A Fluorescent Display

usb:v19CA*
 ID_VENDOR_FROM_DATABASE=Mindtribe

usb:v19CAp0001*
 ID_MODEL_FROM_DATABASE=Sandio 3D HID Mouse

usb:v19CF*
 ID_VENDOR_FROM_DATABASE=Parrot SA

usb:v19CFp0001*
 ID_MODEL_FROM_DATABASE=MiniKit Slim handsfree car kit in firmware update mode

usb:v19D1*
 ID_VENDOR_FROM_DATABASE=BYD

usb:v19D2*
 ID_VENDOR_FROM_DATABASE=ZTE WCDMA Technologies MSM

usb:v19D2p0001*
 ID_MODEL_FROM_DATABASE=CDMA Wireless Modem

usb:v19D2p0002*
 ID_MODEL_FROM_DATABASE=MF632/ONDA ET502HS/MT505UP

usb:v19D2p0007*
 ID_MODEL_FROM_DATABASE=TU25 WiMAX Adapter [Beceem BCS200]

usb:v19D2p0017*
 ID_MODEL_FROM_DATABASE=MF669

usb:v19D2p0031*
 ID_MODEL_FROM_DATABASE=MF110/MF627/MF636

usb:v19D2p0037*
 ID_MODEL_FROM_DATABASE=ONDA MC503HSA

usb:v19D2p0039*
 ID_MODEL_FROM_DATABASE=MF100

usb:v19D2p0063*
 ID_MODEL_FROM_DATABASE=K3565-Z HSDPA

usb:v19D2p0064*
 ID_MODEL_FROM_DATABASE=MF627 AU

usb:v19D2p0083*
 ID_MODEL_FROM_DATABASE=MF190

usb:v19D2p0103*
 ID_MODEL_FROM_DATABASE=MF112

usb:v19D2p0104*
 ID_MODEL_FROM_DATABASE=K4505-Z

usb:v19D2p0117*
 ID_MODEL_FROM_DATABASE=MF667

usb:v19D2p0146*
 ID_MODEL_FROM_DATABASE=MF 195E (HSPA+ Modem)

usb:v19D2p0167*
 ID_MODEL_FROM_DATABASE=MF820 4G LTE

usb:v19D2p0172*
 ID_MODEL_FROM_DATABASE=AX226 WIMAX MODEM (After Modeswitch)

usb:v19D2p0325*
 ID_MODEL_FROM_DATABASE=LTE4G O2 ZTE MF821D LTE/UMTS/GSM Modem/Networkcard

usb:v19D2p0326*
 ID_MODEL_FROM_DATABASE=LTE4G O2 ZTE MF821D LTE/UMTS/GSM Modem/Networkcard

usb:v19D2p0501*
 ID_MODEL_FROM_DATABASE=Lever Cell Phone Model Z936L

usb:v19D2p1001*
 ID_MODEL_FROM_DATABASE=K3805-Z vodafone WCDMA/GSM Modem - storage mode (made by ZTE)

usb:v19D2p1002*
 ID_MODEL_FROM_DATABASE=K3805-Z vodafone WCDMA/GSM Modem/Networkcard (made by ZTE)

usb:v19D2p1008*
 ID_MODEL_FROM_DATABASE=K3570-Z

usb:v19D2p1010*
 ID_MODEL_FROM_DATABASE=K3571-Z

usb:v19D2p1017*
 ID_MODEL_FROM_DATABASE=K5006-Z vodafone LTE/UMTS/GSM Modem/Networkcard

usb:v19D2p1018*
 ID_MODEL_FROM_DATABASE=K5006-Z vodafone LTE/UMTS/GSM Modem/Networkcard

usb:v19D2p1203*
 ID_MODEL_FROM_DATABASE=MF691 [ T-Mobile webConnect Rocket 2.0]

usb:v19D2p1217*
 ID_MODEL_FROM_DATABASE=MF652

usb:v19D2p1218*
 ID_MODEL_FROM_DATABASE=MF652

usb:v19D2p1270*
 ID_MODEL_FROM_DATABASE=MF667

usb:v19D2p2000*
 ID_MODEL_FROM_DATABASE=MF627/MF628/MF628+/MF636+ HSDPA/HSUPA

usb:v19D2pFFF2*
 ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)

usb:v19D2pFFF3*
 ID_MODEL_FROM_DATABASE=Gobi Wireless Modem

usb:v19DB*
 ID_VENDOR_FROM_DATABASE=KFI Printers

usb:v19DBp02F1*
 ID_MODEL_FROM_DATABASE=NAUT324C

usb:v19E1*
 ID_VENDOR_FROM_DATABASE=WeiDuan Electronic Accessory (S.Z.) Co., Ltd.

usb:v19E8*
 ID_VENDOR_FROM_DATABASE=Industrial Technology Research Institute

usb:v19EF*
 ID_VENDOR_FROM_DATABASE=Pak Heng Technology (Shenzhen) Co., Ltd.

usb:v19F7*
 ID_VENDOR_FROM_DATABASE=RODE Microphones

usb:v19F7p0001*
 ID_MODEL_FROM_DATABASE=Podcaster

usb:v19FA*
 ID_VENDOR_FROM_DATABASE=Gampaq Co.Ltd

usb:v19FAp0607*
 ID_MODEL_FROM_DATABASE=GAME CONTROLLER

usb:v19FAp0703*
 ID_MODEL_FROM_DATABASE=Steering Wheel

usb:v19FD*
 ID_VENDOR_FROM_DATABASE=MTI Instruments Inc.

usb:v19FF*
 ID_VENDOR_FROM_DATABASE=Dynex

usb:v19FFp0102*
 ID_MODEL_FROM_DATABASE=1.3MP Webcam

usb:v19FFp0201*
 ID_MODEL_FROM_DATABASE=Rocketfish Wireless 2.4G Laser Mouse

usb:v19FFp0220*
 ID_MODEL_FROM_DATABASE=RF-HDWEBLT RocketFish HD WebCam

usb:v19FFp0238*
 ID_MODEL_FROM_DATABASE=DX-WRM1401 Mouse

usb:v19FFp0239*
 ID_MODEL_FROM_DATABASE=Bluetooth 4.0 Adapter [Broadcom, 1.12, BCM20702A0]

usb:v1A08*
 ID_VENDOR_FROM_DATABASE=Bellwood International, Inc.

usb:v1A0A*
 ID_VENDOR_FROM_DATABASE=USB-IF non-workshop

usb:v1A0ApBADD*
 ID_MODEL_FROM_DATABASE=USB OTG Compliance test device

usb:v1A12*
 ID_VENDOR_FROM_DATABASE=KES Co., Ltd.

usb:v1A1D*
 ID_VENDOR_FROM_DATABASE=Veho

usb:v1A1Dp0407*
 ID_MODEL_FROM_DATABASE=Mimi WiFi speakers

usb:v1A25*
 ID_VENDOR_FROM_DATABASE=Amphenol East Asia Ltd.

usb:v1A2A*
 ID_VENDOR_FROM_DATABASE=Seagate Branded Solutions

usb:v1A2C*
 ID_VENDOR_FROM_DATABASE=China Resource Semico Co., Ltd

usb:v1A2Cp0021*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v1A2Cp0024*
 ID_MODEL_FROM_DATABASE=Multimedia Keyboard

usb:v1A2Cp2124*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v1A2Cp2D23*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v1A2Cp427C*
 ID_MODEL_FROM_DATABASE=Backlit Keyboard [Cougar Vantar]

usb:v1A32*
 ID_VENDOR_FROM_DATABASE=Quanta Microsystems, Inc.

usb:v1A32p0304*
 ID_MODEL_FROM_DATABASE=802.11n Wireless LAN Card

usb:v1A34*
 ID_VENDOR_FROM_DATABASE=ACRUX

usb:v1A34p0802*
 ID_MODEL_FROM_DATABASE=Gamepad

usb:v1A36*
 ID_VENDOR_FROM_DATABASE=Biwin Technology Ltd.

usb:v1A40*
 ID_VENDOR_FROM_DATABASE=Terminus Technology Inc.

usb:v1A40p0101*
 ID_MODEL_FROM_DATABASE=Hub

usb:v1A40p0201*
 ID_MODEL_FROM_DATABASE=FE 2.1 7-port Hub

usb:v1A41*
 ID_VENDOR_FROM_DATABASE=Action Electronics Co., Ltd.

usb:v1A44*
 ID_VENDOR_FROM_DATABASE=VASCO Data Security International

usb:v1A44p0001*
 ID_MODEL_FROM_DATABASE=Digipass 905 SmartCard Reader

usb:v1A4A*
 ID_VENDOR_FROM_DATABASE=Silicon Image

usb:v1A4B*
 ID_VENDOR_FROM_DATABASE=SafeBoot International B.V.

usb:v1A5A*
 ID_VENDOR_FROM_DATABASE=Tandberg Data

usb:v1A61*
 ID_VENDOR_FROM_DATABASE=Abbott Diabetes Care

usb:v1A61p3410*
 ID_MODEL_FROM_DATABASE=CoPilot System Cable

usb:v1A61p3650*
 ID_MODEL_FROM_DATABASE=FreeStyle Libre

usb:v1A61p3850*
 ID_MODEL_FROM_DATABASE=FreeStyle Optium/Precision Neo

usb:v1A61p3950*
 ID_MODEL_FROM_DATABASE=FreeStyle Libre 2

usb:v1A64*
 ID_VENDOR_FROM_DATABASE=Mastervolt

usb:v1A64p0000*
 ID_MODEL_FROM_DATABASE=MasterBus Link

usb:v1A6A*
 ID_VENDOR_FROM_DATABASE=Spansion Inc.

usb:v1A6D*
 ID_VENDOR_FROM_DATABASE=SamYoung Electronics Co., Ltd

usb:v1A6E*
 ID_VENDOR_FROM_DATABASE=Global Unichip Corp.

usb:v1A6F*
 ID_VENDOR_FROM_DATABASE=Sagem Orga GmbH

usb:v1A72*
 ID_VENDOR_FROM_DATABASE=Physik Instrumente

usb:v1A72p1008*
 ID_MODEL_FROM_DATABASE=E-861 PiezoWalk NEXACT Controller

usb:v1A79*
 ID_VENDOR_FROM_DATABASE=Bayer Health Care LLC

usb:v1A79p6002*
 ID_MODEL_FROM_DATABASE=Contour

usb:v1A79p6210*
 ID_MODEL_FROM_DATABASE=Contour Next Link 2.4 glucometer

usb:v1A79p6300*
 ID_MODEL_FROM_DATABASE=Contour next link

usb:v1A79p7410*
 ID_MODEL_FROM_DATABASE=Contour Next

usb:v1A79p7800*
 ID_MODEL_FROM_DATABASE=Contour Plus One

usb:v1A7B*
 ID_VENDOR_FROM_DATABASE=Lumberg Connect  GmbH & Co. KG

usb:v1A7C*
 ID_VENDOR_FROM_DATABASE=Evoluent

usb:v1A7Cp0068*
 ID_MODEL_FROM_DATABASE=VerticalMouse 3

usb:v1A7Cp0168*
 ID_MODEL_FROM_DATABASE=VerticalMouse 3 Wireless

usb:v1A7Cp0191*
 ID_MODEL_FROM_DATABASE=VerticalMouse 4

usb:v1A7Cp0195*
 ID_MODEL_FROM_DATABASE=VerticalMouse C Wireless

usb:v1A7E*
 ID_VENDOR_FROM_DATABASE=Meltec Systementwicklung

usb:v1A7Ep1001*
 ID_MODEL_FROM_DATABASE=UFT75, UT150, UT60

usb:v1A7Ep1003*
 ID_MODEL_FROM_DATABASE=Thermostick

usb:v1A81*
 ID_VENDOR_FROM_DATABASE=Holtek Semiconductor, Inc.

usb:v1A81p1004*
 ID_MODEL_FROM_DATABASE=Wireless Dongle 2.4 GHZ HT82D40REW

usb:v1A81p1701*
 ID_MODEL_FROM_DATABASE=Wireless dongle

usb:v1A81p2004*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v1A81p2203*
 ID_MODEL_FROM_DATABASE=Laser Gaming mouse

usb:v1A81p2204*
 ID_MODEL_FROM_DATABASE=Optical Mouse

usb:v1A81p2205*
 ID_MODEL_FROM_DATABASE=Laser Mouse

usb:v1A81p4001*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v1A86*
 ID_VENDOR_FROM_DATABASE=QinHeng Electronics

usb:v1A86p5512*
 ID_MODEL_FROM_DATABASE=CH341 in EPP/MEM/I2C mode, EPP/I2C adapter

usb:v1A86p5523*
 ID_MODEL_FROM_DATABASE=CH341 in serial mode, usb to serial port converter

usb:v1A86p5584*
 ID_MODEL_FROM_DATABASE=CH341 in parallel mode, usb to printer port converter

usb:v1A86p7522*
 ID_MODEL_FROM_DATABASE=CH340 serial converter

usb:v1A86p7523*
 ID_MODEL_FROM_DATABASE=CH340 serial converter

usb:v1A86p752D*
 ID_MODEL_FROM_DATABASE=CH345 MIDI adapter

usb:v1A86p7584*
 ID_MODEL_FROM_DATABASE=CH340S

usb:v1A86pE008*
 ID_MODEL_FROM_DATABASE=HID-based serial adapter

usb:v1A89*
 ID_VENDOR_FROM_DATABASE=Dynalith Systems Co., Ltd.

usb:v1A8B*
 ID_VENDOR_FROM_DATABASE=SGS Taiwan Ltd.

usb:v1A8D*
 ID_VENDOR_FROM_DATABASE=BandRich, Inc.

usb:v1A8Dp1002*
 ID_MODEL_FROM_DATABASE=BandLuxe 3.5G HSDPA Adapter

usb:v1A8Dp1009*
 ID_MODEL_FROM_DATABASE=BandLuxe 3.5G HSPA Adapter

usb:v1A8Dp100D*
 ID_MODEL_FROM_DATABASE=4G LTE adapter

usb:v1A98*
 ID_VENDOR_FROM_DATABASE=Leica Camera AG

usb:v1AA4*
 ID_VENDOR_FROM_DATABASE=Data Drive Thru, Inc.

usb:v1AA5*
 ID_VENDOR_FROM_DATABASE=UBeacon Technologies, Inc.

usb:v1AA6*
 ID_VENDOR_FROM_DATABASE=eFortune Technology Corp.

usb:v1AAB*
 ID_VENDOR_FROM_DATABASE=Silvercreations Software AG

usb:v1AABp7736*
 ID_MODEL_FROM_DATABASE=sceye (Gen 2)

usb:v1AABp7737*
 ID_MODEL_FROM_DATABASE=sceye (Gen 3)

usb:v1AABp7738*
 ID_MODEL_FROM_DATABASE=sceye (Gen 4, 3 Mpix)

usb:v1AABp7750*
 ID_MODEL_FROM_DATABASE=sceyeS (Gen 5, 5 MPix)

usb:v1AAD*
 ID_VENDOR_FROM_DATABASE=KeeTouch

usb:v1AADp0001*
 ID_MODEL_FROM_DATABASE=Touchscreen

usb:v1AB1*
 ID_VENDOR_FROM_DATABASE=Rigol Technologies

usb:v1AB1p04B0*
 ID_MODEL_FROM_DATABASE=DS6000 SERIES

usb:v1AB1p04BE*
 ID_MODEL_FROM_DATABASE=DS4000 SERIES

usb:v1AB1p04CE*
 ID_MODEL_FROM_DATABASE=DS1xx4Z/MSO1xxZ series

usb:v1AB1p0588*
 ID_MODEL_FROM_DATABASE=DS1000 SERIES

usb:v1AB2*
 ID_VENDOR_FROM_DATABASE=Allied Vision

usb:v1AB2p0001*
 ID_MODEL_FROM_DATABASE=Vision device

usb:v1ACB*
 ID_VENDOR_FROM_DATABASE=Salcomp Plc

usb:v1ACC*
 ID_VENDOR_FROM_DATABASE=Midiplus Co, Ltd.

usb:v1ACCp0103*
 ID_MODEL_FROM_DATABASE=AudioLink plus 4x4 2.9.28

usb:v1AD1*
 ID_VENDOR_FROM_DATABASE=Desay Wire Co., Ltd.

usb:v1AD4*
 ID_VENDOR_FROM_DATABASE=APS

usb:v1AD4p0002*
 ID_MODEL_FROM_DATABASE=KM290-HRS

usb:v1ADB*
 ID_VENDOR_FROM_DATABASE=Schweitzer Engineering Laboratories, Inc

usb:v1ADBp0001*
 ID_MODEL_FROM_DATABASE=C662 Serial Cable

usb:v1ADBp0003*
 ID_MODEL_FROM_DATABASE=CDC Ethernet Gadget

usb:v1AE4*
 ID_VENDOR_FROM_DATABASE=ic-design Reinhard Gottinger GmbH

usb:v1AE7*
 ID_VENDOR_FROM_DATABASE=X-TENSIONS

usb:v1AE7p0381*
 ID_MODEL_FROM_DATABASE=VS-DVB-T 380U (af9015 based)

usb:v1AE7p0525*
 ID_MODEL_FROM_DATABASE=X-Tensions ISDN TA XC-525 [HFC-S USB]

usb:v1AE7p2001*
 ID_MODEL_FROM_DATABASE=SpeedLink Snappy Mic webcam (SL-6825-SBK)

usb:v1AE7p9003*
 ID_MODEL_FROM_DATABASE=SpeedLink Vicious And Devine Laplace webcam, white (VD-1504-SWT)

usb:v1AE7p9004*
 ID_MODEL_FROM_DATABASE=SpeedLink Vicious And Devine Laplace webcam, black (VD-1504-SBK)

usb:v1AED*
 ID_VENDOR_FROM_DATABASE=High Top Precision Electronic Co., Ltd.

usb:v1AEF*
 ID_VENDOR_FROM_DATABASE=Conntech Electronic (Suzhou) Corporation

usb:v1AF1*
 ID_VENDOR_FROM_DATABASE=Connect One Ltd.

usb:v1AF3*
 ID_VENDOR_FROM_DATABASE=Kingsis Technology Corporation

usb:v1AF3p0001*
 ID_MODEL_FROM_DATABASE=ZOWIE Gaming mouse

usb:v1AFE*
 ID_VENDOR_FROM_DATABASE=A. Eberle GmbH & Co. KG

usb:v1AFEp0001*
 ID_MODEL_FROM_DATABASE=PQ Box 100

usb:v1B04*
 ID_VENDOR_FROM_DATABASE=Meilhaus Electronic GmbH

usb:v1B04p0630*
 ID_MODEL_FROM_DATABASE=ME-630

usb:v1B04p0940*
 ID_MODEL_FROM_DATABASE=ME-94

usb:v1B04p0950*
 ID_MODEL_FROM_DATABASE=ME-95

usb:v1B04p0960*
 ID_MODEL_FROM_DATABASE=ME-96

usb:v1B04p1000*
 ID_MODEL_FROM_DATABASE=ME-1000

usb:v1B04p100A*
 ID_MODEL_FROM_DATABASE=ME-1000

usb:v1B04p100B*
 ID_MODEL_FROM_DATABASE=ME-1000

usb:v1B04p1400*
 ID_MODEL_FROM_DATABASE=ME-1400

usb:v1B04p140A*
 ID_MODEL_FROM_DATABASE=ME-1400A

usb:v1B04p140B*
 ID_MODEL_FROM_DATABASE=ME-1400B

usb:v1B04p140C*
 ID_MODEL_FROM_DATABASE=ME-1400C

usb:v1B04p140D*
 ID_MODEL_FROM_DATABASE=ME-1400D

usb:v1B04p140E*
 ID_MODEL_FROM_DATABASE=ME-1400E

usb:v1B04p14EA*
 ID_MODEL_FROM_DATABASE=ME-1400EA

usb:v1B04p14EB*
 ID_MODEL_FROM_DATABASE=ME-1400EB

usb:v1B04p1604*
 ID_MODEL_FROM_DATABASE=ME-1600/4U

usb:v1B04p1608*
 ID_MODEL_FROM_DATABASE=ME-1600/8U

usb:v1B04p160C*
 ID_MODEL_FROM_DATABASE=ME-1600/12U

usb:v1B04p160F*
 ID_MODEL_FROM_DATABASE=ME-1600/16U

usb:v1B04p168F*
 ID_MODEL_FROM_DATABASE=ME-1600/16U8I

usb:v1B04p4610*
 ID_MODEL_FROM_DATABASE=ME-4610

usb:v1B04p4650*
 ID_MODEL_FROM_DATABASE=ME-4650

usb:v1B04p4660*
 ID_MODEL_FROM_DATABASE=ME-4660

usb:v1B04p4661*
 ID_MODEL_FROM_DATABASE=ME-4660I

usb:v1B04p4662*
 ID_MODEL_FROM_DATABASE=ME-4660

usb:v1B04p4663*
 ID_MODEL_FROM_DATABASE=ME-4660I

usb:v1B04p4670*
 ID_MODEL_FROM_DATABASE=ME-4670

usb:v1B04p4671*
 ID_MODEL_FROM_DATABASE=ME-4670I

usb:v1B04p4672*
 ID_MODEL_FROM_DATABASE=ME-4670S

usb:v1B04p4673*
 ID_MODEL_FROM_DATABASE=ME-4670IS

usb:v1B04p4680*
 ID_MODEL_FROM_DATABASE=ME-4680

usb:v1B04p4681*
 ID_MODEL_FROM_DATABASE=ME-4680I

usb:v1B04p4682*
 ID_MODEL_FROM_DATABASE=ME-4680S

usb:v1B04p4683*
 ID_MODEL_FROM_DATABASE=ME-4680IS

usb:v1B04p6004*
 ID_MODEL_FROM_DATABASE=ME-6000/4

usb:v1B04p6008*
 ID_MODEL_FROM_DATABASE=ME-6000/8

usb:v1B04p600F*
 ID_MODEL_FROM_DATABASE=ME-6000/16

usb:v1B04p6014*
 ID_MODEL_FROM_DATABASE=ME-6000I/4

usb:v1B04p6018*
 ID_MODEL_FROM_DATABASE=ME-6000I/8

usb:v1B04p601F*
 ID_MODEL_FROM_DATABASE=ME-6000I/16

usb:v1B04p6034*
 ID_MODEL_FROM_DATABASE=ME-6000ISLE/4

usb:v1B04p6038*
 ID_MODEL_FROM_DATABASE=ME-6000ISLE/8

usb:v1B04p603F*
 ID_MODEL_FROM_DATABASE=ME-6000ISLE/16

usb:v1B04p6044*
 ID_MODEL_FROM_DATABASE=ME-6000/4/DIO

usb:v1B04p6048*
 ID_MODEL_FROM_DATABASE=ME-6000/8/DIO

usb:v1B04p604F*
 ID_MODEL_FROM_DATABASE=ME-6000/16/DIO

usb:v1B04p6054*
 ID_MODEL_FROM_DATABASE=ME-6000I/4/DIO

usb:v1B04p6058*
 ID_MODEL_FROM_DATABASE=ME-6000I/8/DIO

usb:v1B04p605F*
 ID_MODEL_FROM_DATABASE=ME-6000I/16/DIO

usb:v1B04p6074*
 ID_MODEL_FROM_DATABASE=ME-6000ISLE/4/DIO

usb:v1B04p6078*
 ID_MODEL_FROM_DATABASE=ME-6000ISLE/8/DIO

usb:v1B04p607F*
 ID_MODEL_FROM_DATABASE=ME-6000ISLE/16/DIO

usb:v1B04p6104*
 ID_MODEL_FROM_DATABASE=ME-6100/4

usb:v1B04p6108*
 ID_MODEL_FROM_DATABASE=ME-6100/8

usb:v1B04p610F*
 ID_MODEL_FROM_DATABASE=ME-6100/16

usb:v1B04p6114*
 ID_MODEL_FROM_DATABASE=ME-6100I/4

usb:v1B04p6118*
 ID_MODEL_FROM_DATABASE=ME-6100I/8

usb:v1B04p611F*
 ID_MODEL_FROM_DATABASE=ME-6100I/16

usb:v1B04p6134*
 ID_MODEL_FROM_DATABASE=ME-6100ISLE/4

usb:v1B04p6138*
 ID_MODEL_FROM_DATABASE=ME-6100ISLE/8

usb:v1B04p613F*
 ID_MODEL_FROM_DATABASE=ME-6100ISLE/16

usb:v1B04p6144*
 ID_MODEL_FROM_DATABASE=ME-6100/4/DIO

usb:v1B04p6148*
 ID_MODEL_FROM_DATABASE=ME-6100/8/DIO

usb:v1B04p614F*
 ID_MODEL_FROM_DATABASE=ME-6100/16/DIO

usb:v1B04p6154*
 ID_MODEL_FROM_DATABASE=ME-6100I/4/DIO

usb:v1B04p6158*
 ID_MODEL_FROM_DATABASE=ME-6100I/8/DIO

usb:v1B04p615F*
 ID_MODEL_FROM_DATABASE=ME-6100I/16/DIO

usb:v1B04p6174*
 ID_MODEL_FROM_DATABASE=ME-6100ISLE/4/DIO

usb:v1B04p6178*
 ID_MODEL_FROM_DATABASE=ME-6100ISLE/8/DIO

usb:v1B04p617F*
 ID_MODEL_FROM_DATABASE=ME-6100ISLE/16/DIO

usb:v1B04p6259*
 ID_MODEL_FROM_DATABASE=ME-6200I/9/DIO

usb:v1B04p6359*
 ID_MODEL_FROM_DATABASE=ME-6300I/9/DIO

usb:v1B04p810A*
 ID_MODEL_FROM_DATABASE=ME-8100A

usb:v1B04p810B*
 ID_MODEL_FROM_DATABASE=ME-8100B

usb:v1B04p820A*
 ID_MODEL_FROM_DATABASE=ME-8200A

usb:v1B04p820B*
 ID_MODEL_FROM_DATABASE=ME-8200B

usb:v1B0E*
 ID_VENDOR_FROM_DATABASE=BLUTRONICS S.r.l.

usb:v1B0Ep1078*
 ID_MODEL_FROM_DATABASE=BLUDRIVE II CCID

usb:v1B0Ep1079*
 ID_MODEL_FROM_DATABASE=BLUDRIVE II CCID

usb:v1B0Ep1080*
 ID_MODEL_FROM_DATABASE=WRITECHIP II CCID

usb:v1B12*
 ID_VENDOR_FROM_DATABASE=Eventide

usb:v1B12p0011*
 ID_MODEL_FROM_DATABASE=ModFactor

usb:v1B1C*
 ID_VENDOR_FROM_DATABASE=Corsair

usb:v1B1Cp0890*
 ID_MODEL_FROM_DATABASE=Flash Padlock

usb:v1B1Cp0A00*
 ID_MODEL_FROM_DATABASE=SP2500 Speakers

usb:v1B1Cp0A60*
 ID_MODEL_FROM_DATABASE=Vengeance K60 Keyboard

usb:v1B1Cp0C04*
 ID_MODEL_FROM_DATABASE=Link Cooling Node

usb:v1B1Cp0C06*
 ID_MODEL_FROM_DATABASE=RM-Series C-Link Adapter

usb:v1B1Cp0C0A*
 ID_MODEL_FROM_DATABASE=Hydro Series H115i Liquid CPU Cooler

usb:v1B1Cp0C0B*
 ID_MODEL_FROM_DATABASE=Lighting Node Pro

usb:v1B1Cp0C0C*
 ID_MODEL_FROM_DATABASE=Lighting Node Loader

usb:v1B1Cp0C22*
 ID_MODEL_FROM_DATABASE=iCUE H150i RGB PRO XT Liquid CPU Cooler

usb:v1B1Cp1A01*
 ID_MODEL_FROM_DATABASE=Flash Voyager GT

usb:v1B1Cp1A03*
 ID_MODEL_FROM_DATABASE=Voyager 3.0

usb:v1B1Cp1A09*
 ID_MODEL_FROM_DATABASE=Voyager GT 3.0

usb:v1B1Cp1A0A*
 ID_MODEL_FROM_DATABASE=Survivor Stealth Flash Drive

usb:v1B1Cp1A0B*
 ID_MODEL_FROM_DATABASE=Flash Voyager LS

usb:v1B1Cp1A0E*
 ID_MODEL_FROM_DATABASE=Voyager GTX

usb:v1B1Cp1A14*
 ID_MODEL_FROM_DATABASE=Voyager Vega

usb:v1B1Cp1A15*
 ID_MODEL_FROM_DATABASE=Voyager Slider Flash Drive

usb:v1B1Cp1A90*
 ID_MODEL_FROM_DATABASE=Flash Voyager GT

usb:v1B1Cp1AB1*
 ID_MODEL_FROM_DATABASE=Voyager

usb:v1B1Cp1B04*
 ID_MODEL_FROM_DATABASE=Raptor K50 Keyboard

usb:v1B1Cp1B07*
 ID_MODEL_FROM_DATABASE=Vengeance K65 Gaming Keyboard

usb:v1B1Cp1B08*
 ID_MODEL_FROM_DATABASE=Vengeance K95 Keyboard

usb:v1B1Cp1B09*
 ID_MODEL_FROM_DATABASE=Vengeance K70R keyboard

usb:v1B1Cp1B11*
 ID_MODEL_FROM_DATABASE=K95 RGB Mechanical Gaming Keyboard

usb:v1B1Cp1B13*
 ID_MODEL_FROM_DATABASE=Vengeance K70RGB keyboard

usb:v1B1Cp1B20*
 ID_MODEL_FROM_DATABASE=STRAFE RGB Gaming Keyboard

usb:v1B1Cp1B2D*
 ID_MODEL_FROM_DATABASE=K95 RGB Platinum Keyboard [RGP0056]

usb:v1B1Cp1B2E*
 ID_MODEL_FROM_DATABASE=Corsair Corsair Gaming M65 Pro RGB Mouse

usb:v1B1Cp1B2F*
 ID_MODEL_FROM_DATABASE=Sabre RGB [CH-9303011-XX]

usb:v1B1Cp1B3D*
 ID_MODEL_FROM_DATABASE=Corsair Corsair Gaming K55 RGB Keyboard

usb:v1B1Cp1B5E*
 ID_MODEL_FROM_DATABASE=Harpoon Wireless Mouse

usb:v1B1Cp1B65*
 ID_MODEL_FROM_DATABASE=Harpoon Wireless Dongle

usb:v1B1Cp1C00*
 ID_MODEL_FROM_DATABASE=Controller for Corsair Link

usb:v1B1Cp1C02*
 ID_MODEL_FROM_DATABASE=AX1500i Power Supply

usb:v1B1Cp1C05*
 ID_MODEL_FROM_DATABASE=HX750i Power Supply

usb:v1B1Cp1C07*
 ID_MODEL_FROM_DATABASE=HX1000i Power Supply

usb:v1B1Cp1C08*
 ID_MODEL_FROM_DATABASE=HX1200i Power Supply

usb:v1B1Cp1C0B*
 ID_MODEL_FROM_DATABASE=RM750i Power Supply

usb:v1B1Cp1C0C*
 ID_MODEL_FROM_DATABASE=RM850i Power Supply

usb:v1B1Cp1C1A*
 ID_MODEL_FROM_DATABASE=Corsair CORSAIR Lighting Node CORE

usb:v1B1E*
 ID_VENDOR_FROM_DATABASE=General Imaging / General Electric

usb:v1B1Ep1003*
 ID_MODEL_FROM_DATABASE=A1250

usb:v1B1F*
 ID_VENDOR_FROM_DATABASE=eQ-3 Entwicklung GmbH

usb:v1B1FpC00F*
 ID_MODEL_FROM_DATABASE=HM-CFG-USB/HM-CFG-USB-2 [HomeMatic Configuration adapter]

usb:v1B1FpC020*
 ID_MODEL_FROM_DATABASE=HmIP-RFUSB

usb:v1B20*
 ID_VENDOR_FROM_DATABASE=MStar Semiconductor, Inc.

usb:v1B22*
 ID_VENDOR_FROM_DATABASE=WiLinx Corp.

usb:v1B24*
 ID_VENDOR_FROM_DATABASE=Telegent Systems, Inc.

usb:v1B24p4001*
 ID_MODEL_FROM_DATABASE=TLG2300 Hybrid TV Device

usb:v1B26*
 ID_VENDOR_FROM_DATABASE=Cellex Power Products, Inc.

usb:v1B27*
 ID_VENDOR_FROM_DATABASE=Current Electronics Inc.

usb:v1B28*
 ID_VENDOR_FROM_DATABASE=NAVIsis Inc.

usb:v1B32*
 ID_VENDOR_FROM_DATABASE=Ugobe Life Forms, Inc.

usb:v1B32p0064*
 ID_MODEL_FROM_DATABASE=Pleo robotic dinosaur

usb:v1B36*
 ID_VENDOR_FROM_DATABASE=ViXS Systems, Inc.

usb:v1B3B*
 ID_VENDOR_FROM_DATABASE=iPassion Technology Inc.

usb:v1B3Bp2933*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2935*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2936*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2937*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2938*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2939*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2950*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2951*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2952*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2953*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2955*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2956*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2957*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2958*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2959*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2960*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2961*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2962*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2963*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2965*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2966*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2967*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2968*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3Bp2969*
 ID_MODEL_FROM_DATABASE=PC Camera/Webcam controller

usb:v1B3F*
 ID_VENDOR_FROM_DATABASE=Generalplus Technology Inc.

usb:v1B3Fp0C52*
 ID_MODEL_FROM_DATABASE=808 Camera #9 (mass storage mode)

usb:v1B3Fp2002*
 ID_MODEL_FROM_DATABASE=808 Camera #9 (web-cam mode)

usb:v1B3Fp2003*
 ID_MODEL_FROM_DATABASE=GPD6000 [Digital MP3 Player]

usb:v1B47*
 ID_VENDOR_FROM_DATABASE=Energizer Holdings, Inc.

usb:v1B47p0001*
 ID_MODEL_FROM_DATABASE=CHUSB Duo Charger (NiMH AA/AAA USB smart charger)

usb:v1B48*
 ID_VENDOR_FROM_DATABASE=Plastron Precision Co., Ltd.

usb:v1B52*
 ID_VENDOR_FROM_DATABASE=ARH Inc.

usb:v1B52p2101*
 ID_MODEL_FROM_DATABASE=FXMC Neural Network Controller

usb:v1B52p2102*
 ID_MODEL_FROM_DATABASE=FXMC Neural Network Controller V2

usb:v1B52p2103*
 ID_MODEL_FROM_DATABASE=FXMC Neural Network Controller V3

usb:v1B52p4101*
 ID_MODEL_FROM_DATABASE=Passport Reader CLR device

usb:v1B52p4201*
 ID_MODEL_FROM_DATABASE=Passport Reader PRM device

usb:v1B52p4202*
 ID_MODEL_FROM_DATABASE=Passport Reader PRM extension device

usb:v1B52p4203*
 ID_MODEL_FROM_DATABASE=Passport Reader PRM DSP device

usb:v1B52p4204*
 ID_MODEL_FROM_DATABASE=Passport Reader PRMC device

usb:v1B52p4205*
 ID_MODEL_FROM_DATABASE=Passport Reader CSHR device

usb:v1B52p4206*
 ID_MODEL_FROM_DATABASE=Passport Reader PRMC V2 device

usb:v1B52p4301*
 ID_MODEL_FROM_DATABASE=Passport Reader MRZ device

usb:v1B52p4302*
 ID_MODEL_FROM_DATABASE=Passport Reader MRZ DSP device

usb:v1B52p4303*
 ID_MODEL_FROM_DATABASE=Passport Reader CSLR device

usb:v1B52p4401*
 ID_MODEL_FROM_DATABASE=Card Reader

usb:v1B52p4501*
 ID_MODEL_FROM_DATABASE=Passport Reader RFID device

usb:v1B52p4502*
 ID_MODEL_FROM_DATABASE=Passport Reader RFID AIG device

usb:v1B52p6101*
 ID_MODEL_FROM_DATABASE=Neural Network Controller

usb:v1B52p6202*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader device

usb:v1B52p6203*
 ID_MODEL_FROM_DATABASE=Fingerprint Scanner device

usb:v1B52p8101*
 ID_MODEL_FROM_DATABASE=Camera V1

usb:v1B52p8102*
 ID_MODEL_FROM_DATABASE=Recovery / Camera V2

usb:v1B52p8103*
 ID_MODEL_FROM_DATABASE=Camera V3

usb:v1B59*
 ID_VENDOR_FROM_DATABASE=K.S. Terminals Inc.

usb:v1B5A*
 ID_VENDOR_FROM_DATABASE=Chao Zhou Kai Yuan Electric Co., Ltd.

usb:v1B65*
 ID_VENDOR_FROM_DATABASE=The Hong Kong Standards and Testing Centre Ltd.

usb:v1B71*
 ID_VENDOR_FROM_DATABASE=Fushicai

usb:v1B71p0050*
 ID_MODEL_FROM_DATABASE=Encore ENUTV-4 Analog TV Tuner

usb:v1B71p3002*
 ID_MODEL_FROM_DATABASE=USBTV007 Video Grabber [EasyCAP]

usb:v1B72*
 ID_VENDOR_FROM_DATABASE=ATERGI TECHNOLOGY CO., LTD.

usb:v1B73*
 ID_VENDOR_FROM_DATABASE=Fresco Logic

usb:v1B73p1000*
 ID_MODEL_FROM_DATABASE=xHC1 Controller

usb:v1B75*
 ID_VENDOR_FROM_DATABASE=Ovislink Corp.

usb:v1B75p3072*
 ID_MODEL_FROM_DATABASE=AirLive WN-360USB adapter

usb:v1B75p8171*
 ID_MODEL_FROM_DATABASE=WN-370USB 802.11bgn Wireless Adapter [Realtek RTL8188SU]

usb:v1B75p8187*
 ID_MODEL_FROM_DATABASE=AirLive WL-1600USB 802.11g Adapter [Realtek RTL8187L]

usb:v1B75p9170*
 ID_MODEL_FROM_DATABASE=AirLive X.USB 802.11abgn [Atheros AR9170+AR9104]

usb:v1B75pA200*
 ID_MODEL_FROM_DATABASE=AirLive WN-200USB wireless 11b/g/n dongle

usb:v1B76*
 ID_VENDOR_FROM_DATABASE=Legend Silicon Corp.

usb:v1B80*
 ID_VENDOR_FROM_DATABASE=Afatech

usb:v1B80pC810*
 ID_MODEL_FROM_DATABASE=MC810 [af9015]

usb:v1B80pD393*
 ID_MODEL_FROM_DATABASE=DVB-T receiver [RTL2832U]

usb:v1B80pD396*
 ID_MODEL_FROM_DATABASE=UB396-T [RTL2832U]

usb:v1B80pD397*
 ID_MODEL_FROM_DATABASE=DVB-T receiver [RTL2832U]

usb:v1B80pD398*
 ID_MODEL_FROM_DATABASE=DVB-T receiver [RTL2832U]

usb:v1B80pD700*
 ID_MODEL_FROM_DATABASE=FM Radio SnapMusic Mobile 700 (FM700)

usb:v1B80pE297*
 ID_MODEL_FROM_DATABASE=Conceptronic DVB-T CTVDIGRCU V3.0

usb:v1B80pE302*
 ID_MODEL_FROM_DATABASE=CVBS / S-Video Capture Device [Pinnacle Dazzle / UB315-E]

usb:v1B80pE34C*
 ID_MODEL_FROM_DATABASE=UB435-Q ATSC TV Stick

usb:v1B80pE383*
 ID_MODEL_FROM_DATABASE=DVB-T UB383-T [af9015]

usb:v1B80pE385*
 ID_MODEL_FROM_DATABASE=DVB-T UB385-T [af9015]

usb:v1B80pE386*
 ID_MODEL_FROM_DATABASE=DVB-T UB385-T [af9015]

usb:v1B80pE399*
 ID_MODEL_FROM_DATABASE=DVB-T KWorld PlusTV 399U [af9015]

usb:v1B80pE39A*
 ID_MODEL_FROM_DATABASE=DVB-T395U [af9015]

usb:v1B80pE39B*
 ID_MODEL_FROM_DATABASE=DVB-T395U [af9015]

usb:v1B80pE401*
 ID_MODEL_FROM_DATABASE=Sveon STV22 DVB-T [af9015]

usb:v1B80pE409*
 ID_MODEL_FROM_DATABASE=IT9137FN Dual DVB-T [KWorld UB499-2T]

usb:v1B86*
 ID_VENDOR_FROM_DATABASE=Dongguan Guanshang Electronics Co., Ltd.

usb:v1B88*
 ID_VENDOR_FROM_DATABASE=ShenMing Electron (Dong Guan) Co., Ltd.

usb:v1B8C*
 ID_VENDOR_FROM_DATABASE=Altium Limited

usb:v1B8D*
 ID_VENDOR_FROM_DATABASE=e-MOVE Technology Co., Ltd.

usb:v1B8E*
 ID_VENDOR_FROM_DATABASE=Amlogic, Inc.

usb:v1B8F*
 ID_VENDOR_FROM_DATABASE=MA LABS, Inc.

usb:v1B96*
 ID_VENDOR_FROM_DATABASE=N-Trig

usb:v1B96p0001*
 ID_MODEL_FROM_DATABASE=Duosense Transparent Electromagnetic Digitizer

usb:v1B98*
 ID_VENDOR_FROM_DATABASE=YMax Communications Corp.

usb:v1B99*
 ID_VENDOR_FROM_DATABASE=Shenzhen Yuanchuan Electronic

usb:v1BA1*
 ID_VENDOR_FROM_DATABASE=JINQ CHERN ENTERPRISE CO., LTD.

usb:v1BA2*
 ID_VENDOR_FROM_DATABASE=Lite Metals & Plastic (Shenzhen) Co., Ltd.

usb:v1BA4*
 ID_VENDOR_FROM_DATABASE=Ember Corporation

usb:v1BA4p0001*
 ID_MODEL_FROM_DATABASE=InSight USB Link

usb:v1BA4p0002*
 ID_MODEL_FROM_DATABASE=EM358 Virtual COM Port

usb:v1BA6*
 ID_VENDOR_FROM_DATABASE=Abilis Systems

usb:v1BA8*
 ID_VENDOR_FROM_DATABASE=China Telecommunication Technology Labs

usb:v1BAD*
 ID_VENDOR_FROM_DATABASE=Harmonix Music

usb:v1BADp0002*
 ID_MODEL_FROM_DATABASE=Rock Band Guitar for Xbox 360

usb:v1BADp0003*
 ID_MODEL_FROM_DATABASE=Rock Band Drum Kit for Xbox 360

usb:v1BADp0130*
 ID_MODEL_FROM_DATABASE=Ion Drum Rocker for Xbox 360

usb:v1BADp028E*
 ID_MODEL_FROM_DATABASE=Controller

usb:v1BADp3330*
 ID_MODEL_FROM_DATABASE=Rock Band 3 Keyboard wii interface

usb:v1BADpF016*
 ID_MODEL_FROM_DATABASE=Controller

usb:v1BADpF018*
 ID_MODEL_FROM_DATABASE=Street Fighter IV SE FightStick for Xbox 360

usb:v1BADpF019*
 ID_MODEL_FROM_DATABASE=BrawlStick for Xbox 360

usb:v1BADpF021*
 ID_MODEL_FROM_DATABASE=Ghost Recon Future Soldier Gamepad for Xbox 360

usb:v1BADpF023*
 ID_MODEL_FROM_DATABASE=MLG Pro Circuit Controller for Xbox 360

usb:v1BADpF025*
 ID_MODEL_FROM_DATABASE=Call of Duty Controller for Xbox 360

usb:v1BADpF027*
 ID_MODEL_FROM_DATABASE=FPS Pro Controller for Xbox 360

usb:v1BADpF028*
 ID_MODEL_FROM_DATABASE=Street Fighter IV FightPad for Xbox 360

usb:v1BADpF02E*
 ID_MODEL_FROM_DATABASE=FightPad

usb:v1BADpF030*
 ID_MODEL_FROM_DATABASE=MC2 MicroCON Racing Wheel for Xbox 360

usb:v1BADpF036*
 ID_MODEL_FROM_DATABASE=MicroCON Gamepad Pro for Xbox 360

usb:v1BADpF038*
 ID_MODEL_FROM_DATABASE=Street Fighter IV FightStick TE for Xbox 360

usb:v1BADpF039*
 ID_MODEL_FROM_DATABASE=Marvel VS Capcom 2 Tournament Stick for Xbox 360

usb:v1BADpF03A*
 ID_MODEL_FROM_DATABASE=Street Fighter X Tekken FightStick Pro for Xbox 360

usb:v1BADpF03D*
 ID_MODEL_FROM_DATABASE=Street Fighter IV Arcade Stick TE for Xbox 360

usb:v1BADpF03E*
 ID_MODEL_FROM_DATABASE=MLG Arcade FightStick TE for Xbox 360

usb:v1BADpF03F*
 ID_MODEL_FROM_DATABASE=Soulcalibur FightStick for Xbox 360

usb:v1BADpF042*
 ID_MODEL_FROM_DATABASE=Arcade FightStick TE S+ for Xbox 360

usb:v1BADpF080*
 ID_MODEL_FROM_DATABASE=FightStick TE2 for Xbox 360

usb:v1BADpF501*
 ID_MODEL_FROM_DATABASE=Horipad EX2 Turbo for Xbox 360

usb:v1BADpF502*
 ID_MODEL_FROM_DATABASE=Real Arcade Pro.VX SA for Xbox 360

usb:v1BADpF503*
 ID_MODEL_FROM_DATABASE=Fighting Stick VX for Xbox 360

usb:v1BADpF504*
 ID_MODEL_FROM_DATABASE=Real Arcade Pro.EX

usb:v1BADpF505*
 ID_MODEL_FROM_DATABASE=Fighting Stick EX2B for Xbox 360

usb:v1BADpF506*
 ID_MODEL_FROM_DATABASE=Real Arcade Pro.EX Premium VLX for Xbox 360

usb:v1BADpF900*
 ID_MODEL_FROM_DATABASE=Controller

usb:v1BADpF901*
 ID_MODEL_FROM_DATABASE=GameStop Controller

usb:v1BADpF903*
 ID_MODEL_FROM_DATABASE=Tron Controller for Xbox 360

usb:v1BADpF904*
 ID_MODEL_FROM_DATABASE=PDP Versus Fighting Pad for Xbox 360

usb:v1BADpF906*
 ID_MODEL_FROM_DATABASE=Mortal Kombat FightStick for Xbox 360

usb:v1BADpF907*
 ID_MODEL_FROM_DATABASE=Afterglow Gamepad

usb:v1BADpFA01*
 ID_MODEL_FROM_DATABASE=Gamepad

usb:v1BADpFD00*
 ID_MODEL_FROM_DATABASE=Razer Onza Tournament Edition

usb:v1BADpFD01*
 ID_MODEL_FROM_DATABASE=Razer Onza Classic Edition

usb:v1BAE*
 ID_VENDOR_FROM_DATABASE=Vuzix Corporation

usb:v1BAEp0002*
 ID_MODEL_FROM_DATABASE=VR920 Immersive Eyewear

usb:v1BBB*
 ID_VENDOR_FROM_DATABASE=T & A Mobile Phones

usb:v1BBBp0003*
 ID_MODEL_FROM_DATABASE=Alcatel one touch 4030D modem connection

usb:v1BBBp0017*
 ID_MODEL_FROM_DATABASE=HSPA Data Card

usb:v1BBBp007A*
 ID_MODEL_FROM_DATABASE=Alcatel OneTouch (firmware upgrade mode)

usb:v1BBBp011E*
 ID_MODEL_FROM_DATABASE=Alcatel One Touch L100V / Telekom Speedstick LTE II

usb:v1BBBp0169*
 ID_MODEL_FROM_DATABASE=Alcatel ONE TOUCH Fierce

usb:v1BBBp0195*
 ID_MODEL_FROM_DATABASE=Alcatel OneTouch L850V / Telekom Speedstick LTE

usb:v1BBBpA00E*
 ID_MODEL_FROM_DATABASE=Vodafone Smart Tab 4G

usb:v1BBBpF000*
 ID_MODEL_FROM_DATABASE=Alcatel OneTouch (mass storage mode)

usb:v1BBBpF017*
 ID_MODEL_FROM_DATABASE=Alcatel One Touch L100V / Telekom Speedstick LTE II

usb:v1BBD*
 ID_VENDOR_FROM_DATABASE=Videology Imaging Solutions, Inc.

usb:v1BBDp0060*
 ID_MODEL_FROM_DATABASE=1.3MP Mono Camera

usb:v1BBDp0066*
 ID_MODEL_FROM_DATABASE=1.3MP Mono Camera

usb:v1BBDp0067*
 ID_MODEL_FROM_DATABASE=1.3MP Mono Camera

usb:v1BC0*
 ID_VENDOR_FROM_DATABASE=Beijing Senseshield Technology Co.,Ltd.

usb:v1BC0p0013*
 ID_MODEL_FROM_DATABASE=Elitee-e

usb:v1BC0p0014*
 ID_MODEL_FROM_DATABASE=Elite4

usb:v1BC0p0020*
 ID_MODEL_FROM_DATABASE=iToken

usb:v1BC0p0021*
 ID_MODEL_FROM_DATABASE=Mikey

usb:v1BC0p0051*
 ID_MODEL_FROM_DATABASE=Elite5

usb:v1BC0p0055*
 ID_MODEL_FROM_DATABASE=Elite5 v3.x

usb:v1BC0p485D*
 ID_MODEL_FROM_DATABASE=EliteIV

usb:v1BC4*
 ID_VENDOR_FROM_DATABASE=Ford Motor Co.

usb:v1BC5*
 ID_VENDOR_FROM_DATABASE=AVIXE Technology (China) Ltd.

usb:v1BC7*
 ID_VENDOR_FROM_DATABASE=Telit Wireless Solutions

usb:v1BC7p0020*
 ID_MODEL_FROM_DATABASE=HE863

usb:v1BC7p0021*
 ID_MODEL_FROM_DATABASE=HE910

usb:v1BC7p0022*
 ID_MODEL_FROM_DATABASE=GE910-QUAD

usb:v1BC7p0023*
 ID_MODEL_FROM_DATABASE=HE910-D ECM

usb:v1BC7p0032*
 ID_MODEL_FROM_DATABASE=LE910-EU V2

usb:v1BC7p1003*
 ID_MODEL_FROM_DATABASE=UC864-E

usb:v1BC7p1004*
 ID_MODEL_FROM_DATABASE=UC864-G

usb:v1BC7p1005*
 ID_MODEL_FROM_DATABASE=CC864-DUAL

usb:v1BC7p1006*
 ID_MODEL_FROM_DATABASE=CC864-SINGLE

usb:v1BC7p1010*
 ID_MODEL_FROM_DATABASE=DE910-DUAL

usb:v1BC7p1011*
 ID_MODEL_FROM_DATABASE=CE910-DUAL

usb:v1BC7p1012*
 ID_MODEL_FROM_DATABASE=UE910 V2

usb:v1BC7p1101*
 ID_MODEL_FROM_DATABASE=ME910C1

usb:v1BC7p110A*
 ID_MODEL_FROM_DATABASE=ME310

usb:v1BC7p1200*
 ID_MODEL_FROM_DATABASE=LE920 (old firmware)

usb:v1BC7p1201*
 ID_MODEL_FROM_DATABASE=LE910 / LE920

usb:v1BCE*
 ID_VENDOR_FROM_DATABASE=Contac Cable Industrial Limited

usb:v1BCF*
 ID_VENDOR_FROM_DATABASE=Sunplus Innovation Technology Inc.

usb:v1BCFp0005*
 ID_MODEL_FROM_DATABASE=Optical Mouse

usb:v1BCFp0007*
 ID_MODEL_FROM_DATABASE=Optical Mouse

usb:v1BCFp053A*
 ID_MODEL_FROM_DATABASE=Targa Silvercrest OMC807-C optische Funkmaus

usb:v1BCFp05C5*
 ID_MODEL_FROM_DATABASE=SPRF2413A [2.4GHz Wireless Keyboard/Mouse Receiver]

usb:v1BCFp05CF*
 ID_MODEL_FROM_DATABASE=Micro keyboard & mouse receiver

usb:v1BCFp08A0*
 ID_MODEL_FROM_DATABASE=Gaming mouse [Philips SPK9304]

usb:v1BCFp0C31*
 ID_MODEL_FROM_DATABASE=SPIF30x Serial-ATA bridge

usb:v1BCFp2281*
 ID_MODEL_FROM_DATABASE=SPCA2281 Web Camera

usb:v1BCFp2880*
 ID_MODEL_FROM_DATABASE=Dell HD Webcam

usb:v1BCFp2883*
 ID_MODEL_FROM_DATABASE=Asus Webcam

usb:v1BCFp2885*
 ID_MODEL_FROM_DATABASE=ASUS Webcam

usb:v1BCFp2888*
 ID_MODEL_FROM_DATABASE=HP Universal Camera

usb:v1BCFp2895*
 ID_MODEL_FROM_DATABASE=Dell Integrated Webcam

usb:v1BCFp28A2*
 ID_MODEL_FROM_DATABASE=Dell Integrated Webcam

usb:v1BCFp28A6*
 ID_MODEL_FROM_DATABASE=DELL XPS Integrated Webcam

usb:v1BCFp28AE*
 ID_MODEL_FROM_DATABASE=Laptop Integrated Webcam HD

usb:v1BCFp28BD*
 ID_MODEL_FROM_DATABASE=Dell Integrated HD Webcam

usb:v1BCFp2985*
 ID_MODEL_FROM_DATABASE=Laptop Integrated Webcam HD

usb:v1BCFp2B83*
 ID_MODEL_FROM_DATABASE=Laptop Integrated Webcam FHD

usb:v1BCFp2B91*
 ID_MODEL_FROM_DATABASE=Dell E5570 integrated webcam

usb:v1BCFp2B97*
 ID_MODEL_FROM_DATABASE=Laptop Integrated Webcam FHD

usb:v1BCFp2C6E*
 ID_MODEL_FROM_DATABASE=Laptop Integrated WebCam HD

usb:v1BD0*
 ID_VENDOR_FROM_DATABASE=Hangzhou Riyue Electronic Co., Ltd.

usb:v1BD5*
 ID_VENDOR_FROM_DATABASE=BG Systems, Inc.

usb:v1BDA*
 ID_VENDOR_FROM_DATABASE=University Of Southampton

usb:v1BDAp0010*
 ID_MODEL_FROM_DATABASE=Power Board v4 Rev B

usb:v1BDAp0011*
 ID_MODEL_FROM_DATABASE=Student Robotics SBv4B

usb:v1BDE*
 ID_VENDOR_FROM_DATABASE=P-TWO INDUSTRIES, INC.

usb:v1BEF*
 ID_VENDOR_FROM_DATABASE=Shenzhen Tongyuan Network-Communication Cables Co., Ltd

usb:v1BF0*
 ID_VENDOR_FROM_DATABASE=RealVision Inc.

usb:v1BF5*
 ID_VENDOR_FROM_DATABASE=Extranet Systems Inc.

usb:v1BF6*
 ID_VENDOR_FROM_DATABASE=Orient Semiconductor Electronics, Ltd.

usb:v1BFD*
 ID_VENDOR_FROM_DATABASE=TouchPack

usb:v1BFDp1268*
 ID_MODEL_FROM_DATABASE=Touch Screen

usb:v1BFDp1368*
 ID_MODEL_FROM_DATABASE=Touch Screen

usb:v1BFDp1568*
 ID_MODEL_FROM_DATABASE=Capacitive Touch Screen

usb:v1BFDp1668*
 ID_MODEL_FROM_DATABASE=IR Touch Screen

usb:v1BFDp1688*
 ID_MODEL_FROM_DATABASE=Resistive Touch Screen

usb:v1BFDp2968*
 ID_MODEL_FROM_DATABASE=Touch Screen

usb:v1BFDp5968*
 ID_MODEL_FROM_DATABASE=Touch Screen

usb:v1BFDp6968*
 ID_MODEL_FROM_DATABASE=Touch Screen

usb:v1C02*
 ID_VENDOR_FROM_DATABASE=Kreton Corporation

usb:v1C04*
 ID_VENDOR_FROM_DATABASE=QNAP System Inc.

usb:v1C04p2074*
 ID_MODEL_FROM_DATABASE=ASM1074 High-Speed hub

usb:v1C04p3074*
 ID_MODEL_FROM_DATABASE=ASM1074 SuperSpeed hub

usb:v1C05*
 ID_VENDOR_FROM_DATABASE=Shenxhen Stager Electric

usb:v1C05pEA75*
 ID_MODEL_FROM_DATABASE=G540 Programmer

usb:v1C0C*
 ID_VENDOR_FROM_DATABASE=Ionics EMS, Inc.

usb:v1C0Cp0102*
 ID_MODEL_FROM_DATABASE=Plug Computer

usb:v1C0D*
 ID_VENDOR_FROM_DATABASE=Relm Wireless

usb:v1C10*
 ID_VENDOR_FROM_DATABASE=Lanterra Industrial Co., Ltd.

usb:v1C11*
 ID_VENDOR_FROM_DATABASE=Input Club Inc.

usb:v1C11pB04D*
 ID_MODEL_FROM_DATABASE=ErgoDox Infinity

usb:v1C13*
 ID_VENDOR_FROM_DATABASE=ALECTRONIC LIMITED

usb:v1C1A*
 ID_VENDOR_FROM_DATABASE=Datel Electronics Ltd.

usb:v1C1Ap0100*
 ID_MODEL_FROM_DATABASE=Action Replay DS "3DS/DSi/DS/Lite Compatible"

usb:v1C1B*
 ID_VENDOR_FROM_DATABASE=Volkswagen of America, Inc.

usb:v1C1F*
 ID_VENDOR_FROM_DATABASE=Goldvish S.A.

usb:v1C20*
 ID_VENDOR_FROM_DATABASE=Fuji Electric Device Technology Co., Ltd.

usb:v1C21*
 ID_VENDOR_FROM_DATABASE=ADDMM LLC

usb:v1C22*
 ID_VENDOR_FROM_DATABASE=ZHONGSHAN CHIANG YU ELECTRIC CO., LTD.

usb:v1C26*
 ID_VENDOR_FROM_DATABASE=Shanghai Haiying Electronics Co., Ltd.

usb:v1C27*
 ID_VENDOR_FROM_DATABASE=HuiYang D & S Cable Co., Ltd.

usb:v1C28*
 ID_VENDOR_FROM_DATABASE=PMD Technologies

usb:v1C28pC003*
 ID_MODEL_FROM_DATABASE=CamCube

usb:v1C28pC004*
 ID_MODEL_FROM_DATABASE=CamBoard

usb:v1C28pC005*
 ID_MODEL_FROM_DATABASE=ConceptCam

usb:v1C28pC006*
 ID_MODEL_FROM_DATABASE=CamBoard 22

usb:v1C28pC007*
 ID_MODEL_FROM_DATABASE=CamBoard nano

usb:v1C28pC008*
 ID_MODEL_FROM_DATABASE=CamBoard mod

usb:v1C28pC009*
 ID_MODEL_FROM_DATABASE=CamBoard plus

usb:v1C28pC00A*
 ID_MODEL_FROM_DATABASE=DigiCam

usb:v1C28pC00D*
 ID_MODEL_FROM_DATABASE=CamBoard pico LDD

usb:v1C28pC00F*
 ID_MODEL_FROM_DATABASE=CamBoard pico

usb:v1C29*
 ID_VENDOR_FROM_DATABASE=Elster GmbH

usb:v1C29p0001*
 ID_MODEL_FROM_DATABASE=ExMFE5 Simulator

usb:v1C29p10FC*
 ID_MODEL_FROM_DATABASE=enCore device

usb:v1C31*
 ID_VENDOR_FROM_DATABASE=LS Cable Ltd.

usb:v1C34*
 ID_VENDOR_FROM_DATABASE=SpringCard

usb:v1C34p7241*
 ID_MODEL_FROM_DATABASE=Prox'N'Roll RFID Scanner

usb:v1C37*
 ID_VENDOR_FROM_DATABASE=Authorizer Technologies, Inc.

usb:v1C37p6190*
 ID_MODEL_FROM_DATABASE=U2F Fido-compliant cryptotoken

usb:v1C3D*
 ID_VENDOR_FROM_DATABASE=NONIN MEDICAL INC.

usb:v1C3E*
 ID_VENDOR_FROM_DATABASE=Wep Peripherals

usb:v1C40*
 ID_VENDOR_FROM_DATABASE=EZPrototypes

usb:v1C40p0533*
 ID_MODEL_FROM_DATABASE=TiltStick

usb:v1C40p0534*
 ID_MODEL_FROM_DATABASE=i2c-tiny-usb interface

usb:v1C40p0535*
 ID_MODEL_FROM_DATABASE=glcd2usb interface

usb:v1C40p0536*
 ID_MODEL_FROM_DATABASE=Swiss ColorPAL

usb:v1C40p0537*
 ID_MODEL_FROM_DATABASE=MIST Board

usb:v1C49*
 ID_VENDOR_FROM_DATABASE=Cherng Weei Technology Corp.

usb:v1C4B*
 ID_VENDOR_FROM_DATABASE=Geratherm Medical AG

usb:v1C4Bp026F*
 ID_MODEL_FROM_DATABASE=Spirostik

usb:v1C4F*
 ID_VENDOR_FROM_DATABASE=SiGma Micro

usb:v1C4Fp0002*
 ID_MODEL_FROM_DATABASE=Keyboard TRACER Gamma Ivory

usb:v1C4Fp0003*
 ID_MODEL_FROM_DATABASE=HID controller

usb:v1C4Fp000E*
 ID_MODEL_FROM_DATABASE=Genius KB-120 Keyboard

usb:v1C4Fp0026*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v1C4Fp0032*
 ID_MODEL_FROM_DATABASE=Optical Mouse with Scroll Wheel

usb:v1C4Fp0034*
 ID_MODEL_FROM_DATABASE=XM102K Optical Wheel Mouse

usb:v1C4Fp0063*
 ID_MODEL_FROM_DATABASE=Touchpad (integrated in detachable keyboard of Chuwi SurBook)

usb:v1C4Fp0065*
 ID_MODEL_FROM_DATABASE=Optical Wheel Mouse [Rapoo N1130]

usb:v1C4Fp3000*
 ID_MODEL_FROM_DATABASE=Micro USB Web Camera

usb:v1C4Fp3002*
 ID_MODEL_FROM_DATABASE=WebCam SiGma Micro

usb:v1C57*
 ID_VENDOR_FROM_DATABASE=Zalman Tech Co., Ltd.

usb:v1C57p1E45*
 ID_MODEL_FROM_DATABASE=FPSGUN FG1000 Mouse

usb:v1C6B*
 ID_VENDOR_FROM_DATABASE=Philips & Lite-ON Digital Solutions Corporation

usb:v1C6BpA220*
 ID_MODEL_FROM_DATABASE=DVD Writer Slimtype eSAU108

usb:v1C6BpA222*
 ID_MODEL_FROM_DATABASE=DVD Writer Slimtype eTAU108

usb:v1C6BpA223*
 ID_MODEL_FROM_DATABASE=DVD Writer Slimtype eUAU108

usb:v1C6C*
 ID_VENDOR_FROM_DATABASE=Skydigital Inc.

usb:v1C71*
 ID_VENDOR_FROM_DATABASE=Humanware Inc

usb:v1C71pC004*
 ID_MODEL_FROM_DATABASE=Braille Note Apex (braille terminal mode)

usb:v1C73*
 ID_VENDOR_FROM_DATABASE=AMT

usb:v1C73p861F*
 ID_MODEL_FROM_DATABASE=Anysee E30 USB 2.0 DVB-T Receiver

usb:v1C75*
 ID_VENDOR_FROM_DATABASE=Arturia

usb:v1C75p0288*
 ID_MODEL_FROM_DATABASE=KeyStep

usb:v1C77*
 ID_VENDOR_FROM_DATABASE=Kaetat Industrial Co., Ltd.

usb:v1C78*
 ID_VENDOR_FROM_DATABASE=Datascope Corp.

usb:v1C79*
 ID_VENDOR_FROM_DATABASE=Unigen Corporation

usb:v1C7A*
 ID_VENDOR_FROM_DATABASE=LighTuning Technology Inc.

usb:v1C7Ap0577*
 ID_MODEL_FROM_DATABASE=Fingerprint Sensor

usb:v1C7Ap0603*
 ID_MODEL_FROM_DATABASE=ES603 Swipe Fingerprint Sensor

usb:v1C7Ap0801*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v1C7B*
 ID_VENDOR_FROM_DATABASE=LUXSHARE PRECISION INDUSTRY (SHENZHEN) CO., LTD.

usb:v1C82*
 ID_VENDOR_FROM_DATABASE=Atracsys

usb:v1C82p0200*
 ID_MODEL_FROM_DATABASE=spryTrac

usb:v1C83*
 ID_VENDOR_FROM_DATABASE=Schomaecker GmbH

usb:v1C83p0001*
 ID_MODEL_FROM_DATABASE=RS150 V2

usb:v1C83p0002*
 ID_MODEL_FROM_DATABASE=RFID card reader

usb:v1C83p0003*
 ID_MODEL_FROM_DATABASE=Communicator

usb:v1C83p0005*
 ID_MODEL_FROM_DATABASE=Mobile RFID Reader

usb:v1C87*
 ID_VENDOR_FROM_DATABASE=2N TELEKOMUNIKACE a.s.

usb:v1C88*
 ID_VENDOR_FROM_DATABASE=Somagic, Inc.

usb:v1C88p0007*
 ID_MODEL_FROM_DATABASE=SMI Grabber (EasyCAP DC60+ clone) (no firmware) [SMI-2021CBE]

usb:v1C88p003C*
 ID_MODEL_FROM_DATABASE=SMI Grabber (EasyCAP DC60+ clone) [SMI-2021CBE]

usb:v1C89*
 ID_VENDOR_FROM_DATABASE=HONGKONG WEIDIDA ELECTRON LIMITED

usb:v1C8E*
 ID_VENDOR_FROM_DATABASE=ASTRON INTERNATIONAL CORP.

usb:v1C98*
 ID_VENDOR_FROM_DATABASE=ALPINE ELECTRONICS, INC.

usb:v1C9E*
 ID_VENDOR_FROM_DATABASE=OMEGA TECHNOLOGY

usb:v1C9Ep6061*
 ID_MODEL_FROM_DATABASE=WL-72B 3.5G MODEM

usb:v1CA0*
 ID_VENDOR_FROM_DATABASE=ACCARIO Inc.

usb:v1CA1*
 ID_VENDOR_FROM_DATABASE=Symwave

usb:v1CA1p18AB*
 ID_MODEL_FROM_DATABASE=SATA bridge

usb:v1CAC*
 ID_VENDOR_FROM_DATABASE=Kinstone

usb:v1CACpA332*
 ID_MODEL_FROM_DATABASE=C8 Webcam

usb:v1CACpB288*
 ID_MODEL_FROM_DATABASE=C18 Webcam

usb:v1CB3*
 ID_VENDOR_FROM_DATABASE=Aces Electronic Co., Ltd.

usb:v1CB4*
 ID_VENDOR_FROM_DATABASE=OPEX CORPORATION

usb:v1CB6*
 ID_VENDOR_FROM_DATABASE=IdeaCom Technology Inc.

usb:v1CB6p6681*
 ID_MODEL_FROM_DATABASE=IDC6681

usb:v1CBE*
 ID_VENDOR_FROM_DATABASE=Luminary Micro Inc.

usb:v1CBEp0002*
 ID_MODEL_FROM_DATABASE=CDC serial port [TivaWare]

usb:v1CBEp00FD*
 ID_MODEL_FROM_DATABASE=In-Circuit Debug Interface

usb:v1CBEp00FF*
 ID_MODEL_FROM_DATABASE=Stellaris ROM DFU Bootloader

usb:v1CBEp0166*
 ID_MODEL_FROM_DATABASE=CANAL USB2CAN

usb:v1CBEp0240*
 ID_MODEL_FROM_DATABASE=McGill Robotics TM4C Microcontroller

usb:v1CBF*
 ID_VENDOR_FROM_DATABASE=FORTAT SKYMARK INDUSTRIAL COMPANY

usb:v1CC0*
 ID_VENDOR_FROM_DATABASE=PlantSense

usb:v1CCA*
 ID_VENDOR_FROM_DATABASE=NextWave Broadband Inc.

usb:v1CCD*
 ID_VENDOR_FROM_DATABASE=Bodatong Technology (Shenzhen) Co., Ltd.

usb:v1CD4*
 ID_VENDOR_FROM_DATABASE=adp corporation

usb:v1CD5*
 ID_VENDOR_FROM_DATABASE=Firecomms Ltd.

usb:v1CD6*
 ID_VENDOR_FROM_DATABASE=Antonio Precise Products Manufactory Ltd.

usb:v1CDE*
 ID_VENDOR_FROM_DATABASE=Telecommunications Technology Association (TTA)

usb:v1CDF*
 ID_VENDOR_FROM_DATABASE=WonTen Technology Co., Ltd.

usb:v1CE0*
 ID_VENDOR_FROM_DATABASE=EDIMAX TECHNOLOGY CO., LTD.

usb:v1CE1*
 ID_VENDOR_FROM_DATABASE=Amphenol KAE

usb:v1CF1*
 ID_VENDOR_FROM_DATABASE=Dresden Elektronik

usb:v1CF1p0001*
 ID_MODEL_FROM_DATABASE=Sensor Terminal Board

usb:v1CF1p0004*
 ID_MODEL_FROM_DATABASE=Wireless Handheld Terminal

usb:v1CF1p0017*
 ID_MODEL_FROM_DATABASE=deRFusbSniffer 2.4 GHz

usb:v1CF1p0018*
 ID_MODEL_FROM_DATABASE=deRFusb24E001

usb:v1CF1p0019*
 ID_MODEL_FROM_DATABASE=deRFusb14E001

usb:v1CF1p001A*
 ID_MODEL_FROM_DATABASE=deRFusb23E00

usb:v1CF1p001B*
 ID_MODEL_FROM_DATABASE=deRFusb13E00

usb:v1CF1p001C*
 ID_MODEL_FROM_DATABASE=deRFnode

usb:v1CF1p001D*
 ID_MODEL_FROM_DATABASE=deRFnode / gateway

usb:v1CF1p0022*
 ID_MODEL_FROM_DATABASE=deUSB level shifter

usb:v1CF1p0023*
 ID_MODEL_FROM_DATABASE=deRFusbSniffer Sub-GHz

usb:v1CF1p0025*
 ID_MODEL_FROM_DATABASE=deRFusb23E06

usb:v1CF1p0027*
 ID_MODEL_FROM_DATABASE=deRFusb13E06

usb:v1CF1p0030*
 ID_MODEL_FROM_DATABASE=ZigBee gateway [ConBee II]

usb:v1CFC*
 ID_VENDOR_FROM_DATABASE=ANDES TECHNOLOGY CORPORATION

usb:v1CFD*
 ID_VENDOR_FROM_DATABASE=Flextronics Digital Design Japan, LTD.

usb:v1D03*
 ID_VENDOR_FROM_DATABASE=iCON

usb:v1D03p0028*
 ID_MODEL_FROM_DATABASE=iCreativ MIDI Controller

usb:v1D07*
 ID_VENDOR_FROM_DATABASE=Solid-Motion

usb:v1D08*
 ID_VENDOR_FROM_DATABASE=NINGBO HENTEK DRAGON ELECTRONICS CO., LTD.

usb:v1D09*
 ID_VENDOR_FROM_DATABASE=TechFaith Wireless Technology Limited

usb:v1D09p1026*
 ID_MODEL_FROM_DATABASE=HSUPA Modem FLYING-LARK46-VER0.07 [Flying Angel]

usb:v1D0A*
 ID_VENDOR_FROM_DATABASE=Johnson Controls, Inc. The Automotive Business Unit

usb:v1D0B*
 ID_VENDOR_FROM_DATABASE=HAN HUA CABLE & WIRE TECHNOLOGY (J.X.) CO., LTD.

usb:v1D0D*
 ID_VENDOR_FROM_DATABASE=TDKMedia

usb:v1D0Dp0214*
 ID_MODEL_FROM_DATABASE=Trans-It Drive

usb:v1D0F*
 ID_VENDOR_FROM_DATABASE=Sonix Technology Co., Ltd.

usb:v1D14*
 ID_VENDOR_FROM_DATABASE=ALPHA-SAT TECHNOLOGY LIMITED

usb:v1D17*
 ID_VENDOR_FROM_DATABASE=C-Thru Music Ltd.

usb:v1D17p0001*
 ID_MODEL_FROM_DATABASE=AXiS-49 Harmonic Table MIDI Keyboard

usb:v1D19*
 ID_VENDOR_FROM_DATABASE=Dexatek Technology Ltd.

usb:v1D19p1101*
 ID_MODEL_FROM_DATABASE=DK DVB-T Dongle

usb:v1D19p1102*
 ID_MODEL_FROM_DATABASE=DK mini DVB-T Dongle

usb:v1D19p1103*
 ID_MODEL_FROM_DATABASE=DK 5217 DVB-T Dongle

usb:v1D19p1104*
 ID_MODEL_FROM_DATABASE=MSI DigiVox Micro HD

usb:v1D19p6105*
 ID_MODEL_FROM_DATABASE=Video grabber

usb:v1D19p610A*
 ID_MODEL_FROM_DATABASE=Video grabber

usb:v1D19p8202*
 ID_MODEL_FROM_DATABASE=DK DVBC/T DONGLE

usb:v1D1F*
 ID_VENDOR_FROM_DATABASE=Diostech Co., Ltd.

usb:v1D20*
 ID_VENDOR_FROM_DATABASE=SAMTACK INC.

usb:v1D27*
 ID_VENDOR_FROM_DATABASE=ASUS

usb:v1D27p0601*
 ID_MODEL_FROM_DATABASE=Xtion

usb:v1D34*
 ID_VENDOR_FROM_DATABASE=Dream Cheeky

usb:v1D34p0001*
 ID_MODEL_FROM_DATABASE=Fidget

usb:v1D34p0002*
 ID_MODEL_FROM_DATABASE=Fidget (Basketball)

usb:v1D34p0003*
 ID_MODEL_FROM_DATABASE=Fidget (Golf Ball)

usb:v1D34p0004*
 ID_MODEL_FROM_DATABASE=Webmail Notifier

usb:v1D34p0008*
 ID_MODEL_FROM_DATABASE=button

usb:v1D34p000A*
 ID_MODEL_FROM_DATABASE=Mailbox Friends Alert

usb:v1D34p000D*
 ID_MODEL_FROM_DATABASE=Big Red Button

usb:v1D34p0013*
 ID_MODEL_FROM_DATABASE=LED Message Board

usb:v1D34p0020*
 ID_MODEL_FROM_DATABASE=Stress Ball

usb:v1D45*
 ID_VENDOR_FROM_DATABASE=Touch

usb:v1D45p1D45*
 ID_MODEL_FROM_DATABASE=Foxlink Optical touch sensor

usb:v1D45p459D*
 ID_MODEL_FROM_DATABASE=BenQ F5

usb:v1D45p465C*
 ID_MODEL_FROM_DATABASE=Harrier Mini by EE

usb:v1D4D*
 ID_VENDOR_FROM_DATABASE=PEGATRON CORPORATION

usb:v1D4Dp0002*
 ID_MODEL_FROM_DATABASE=Ralink RT2770/2720 802.11b/g/n Wireless LAN Mini-USB Device

usb:v1D4Dp000C*
 ID_MODEL_FROM_DATABASE=Ralink RT3070 802.11b/g/n Wireless Lan USB Device

usb:v1D4Dp000E*
 ID_MODEL_FROM_DATABASE=Ralink RT3070 802.11b/g/n Wireless Lan USB Device

usb:v1D50*
 ID_VENDOR_FROM_DATABASE=OpenMoko, Inc.

usb:v1D50p1DB5*
 ID_MODEL_FROM_DATABASE=IDBG (DFU)

usb:v1D50p1DB6*
 ID_MODEL_FROM_DATABASE=IDBG

usb:v1D50p5117*
 ID_MODEL_FROM_DATABASE=Neo1973/FreeRunner kernel usbnet (g_ether, CDC Ethernet) mode

usb:v1D50p5118*
 ID_MODEL_FROM_DATABASE=Neo1973/FreeRunner Debug board (V2+)

usb:v1D50p5119*
 ID_MODEL_FROM_DATABASE=Neo1973/FreeRunner u-boot cdc_acm serial port

usb:v1D50p511A*
 ID_MODEL_FROM_DATABASE=HXD8 u-boot usbtty CDC ACM Mode

usb:v1D50p511B*
 ID_MODEL_FROM_DATABASE=SMDK2440 u-boot usbtty CDC ACM mode

usb:v1D50p511C*
 ID_MODEL_FROM_DATABASE=SMDK2443 u-boot usbtty CDC ACM mode

usb:v1D50p511D*
 ID_MODEL_FROM_DATABASE=QT2410 u-boot usbtty CDC ACM mode

usb:v1D50p5120*
 ID_MODEL_FROM_DATABASE=Neo1973/FreeRunner u-boot usbtty generic serial

usb:v1D50p5121*
 ID_MODEL_FROM_DATABASE=Neo1973/FreeRunner kernel mass storage (g_storage) mode

usb:v1D50p5122*
 ID_MODEL_FROM_DATABASE=Neo1973/FreeRunner kernel cdc_ether USB network

usb:v1D50p5123*
 ID_MODEL_FROM_DATABASE=Neo1973/FreeRunner internal USB CSR4 module

usb:v1D50p5124*
 ID_MODEL_FROM_DATABASE=Neo1973/FreeRunner Bluetooth Device ID service

usb:v1D50p5300*
 ID_MODEL_FROM_DATABASE=Rockbox

usb:v1D50p530E*
 ID_MODEL_FROM_DATABASE=iriver H10 20GB (Rockbox)

usb:v1D50p530F*
 ID_MODEL_FROM_DATABASE=iriver H10 5/6GB (Rockbox)

usb:v1D50p5314*
 ID_MODEL_FROM_DATABASE=Apple iPod Color/Photo (Rockbox)

usb:v1D50p5315*
 ID_MODEL_FROM_DATABASE=Apple iPod Nano 1g (Rockbox)

usb:v1D50p5316*
 ID_MODEL_FROM_DATABASE=Apple iPod Video (Rockbox)

usb:v1D50p5318*
 ID_MODEL_FROM_DATABASE=Apple iPod 4g Grayscale (Rockbox)

usb:v1D50p5319*
 ID_MODEL_FROM_DATABASE=Apple iPod Mini 1g (Rockbox)

usb:v1D50p531A*
 ID_MODEL_FROM_DATABASE=Apple iPod Mini 2g (Rockbox)

usb:v1D50p531C*
 ID_MODEL_FROM_DATABASE=Apple iPod Nano 2g (Rockbox)

usb:v1D50p531D*
 ID_MODEL_FROM_DATABASE=Apple iPod Classic/6G (Rockbox)

usb:v1D50p5321*
 ID_MODEL_FROM_DATABASE=Cowon D2 (Rockbox)

usb:v1D50p5329*
 ID_MODEL_FROM_DATABASE=Toshiba Gigabeat S (Rockbox)

usb:v1D50p5332*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa e200 series (Rockbox)

usb:v1D50p5334*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa c200 series (Rockbox)

usb:v1D50p5337*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa Clip (Rockbox)

usb:v1D50p5338*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa e200v2 series (Rockbox)

usb:v1D50p5339*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa m200 v4 series (Rockbox)

usb:v1D50p533A*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa Fuze (Rockbox)

usb:v1D50p533B*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa c200v2 series (Rockbox)

usb:v1D50p533C*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa Clipv2 (Rockbox)

usb:v1D50p533E*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa Clip+ (Rockbox)

usb:v1D50p533F*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa Fuze v2 (Rockbox)

usb:v1D50p5340*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa Fuze+ (Rockbox)

usb:v1D50p5341*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa Zip (Rockbox)

usb:v1D50p5342*
 ID_MODEL_FROM_DATABASE=Sandisk Sansa Connect (Rockbox)

usb:v1D50p5346*
 ID_MODEL_FROM_DATABASE=Olympus M:Robe 500i (Rockbox)

usb:v1D50p5347*
 ID_MODEL_FROM_DATABASE=Olympus m:robe MR-100 (Rockbox)

usb:v1D50p5359*
 ID_MODEL_FROM_DATABASE=Creative Zen X-Fi Style (Rockbox)

usb:v1D50p535D*
 ID_MODEL_FROM_DATABASE=Creative Zen X-Fi2 (Rockbox)

usb:v1D50p535E*
 ID_MODEL_FROM_DATABASE=Creative Zen X-Fi3 (Rockbox)

usb:v1D50p5360*
 ID_MODEL_FROM_DATABASE=Creative Zen X-Fi (Rockbox)

usb:v1D50p5361*
 ID_MODEL_FROM_DATABASE=Creative ZEN Mozaic (Rockbox)

usb:v1D50p5362*
 ID_MODEL_FROM_DATABASE=Creative Zen (Rockbox)

usb:v1D50p5364*
 ID_MODEL_FROM_DATABASE=Philips GoGear SA9200 (Rockbox)

usb:v1D50p5365*
 ID_MODEL_FROM_DATABASE=Philips GoGear HDD16x0 (Rockbox)

usb:v1D50p5366*
 ID_MODEL_FROM_DATABASE=Philips GoGear HDD63x0 (Rockbox)

usb:v1D50p5378*
 ID_MODEL_FROM_DATABASE=Onda VX747 (Rockbox)

usb:v1D50p5379*
 ID_MODEL_FROM_DATABASE=Onda VX767 (Rockbox)

usb:v1D50p537B*
 ID_MODEL_FROM_DATABASE=Onda VX777 (Rockbox)

usb:v1D50p538C*
 ID_MODEL_FROM_DATABASE=Samsung YH-820 (Rockbox)

usb:v1D50p538D*
 ID_MODEL_FROM_DATABASE=Samsung YH-920 (Rockbox)

usb:v1D50p538E*
 ID_MODEL_FROM_DATABASE=Samsung YH-925 (Rockbox)

usb:v1D50p53A0*
 ID_MODEL_FROM_DATABASE=Packard Bell Vibe 500 (Rockbox)

usb:v1D50p53B4*
 ID_MODEL_FROM_DATABASE=Rockchip 27xx generic (Rockbox)

usb:v1D50p53BE*
 ID_MODEL_FROM_DATABASE=HiFiMAN HM-60x (Rockbox)

usb:v1D50p53BF*
 ID_MODEL_FROM_DATABASE=HiFiMAN HM-801 (Rockbox)

usb:v1D50p53D2*
 ID_MODEL_FROM_DATABASE=HiFi E.T. MA9 (Rockbox)

usb:v1D50p53D3*
 ID_MODEL_FROM_DATABASE=HiFi E.T. MA9C (Rockbox)

usb:v1D50p53D4*
 ID_MODEL_FROM_DATABASE=HiFi E.T. MA8 (Rockbox)

usb:v1D50p53D5*
 ID_MODEL_FROM_DATABASE=HiFi E.T. MA8C (Rockbox)

usb:v1D50p53DC*
 ID_MODEL_FROM_DATABASE=Sony NWZ-E370/E380 series (Rockbox)

usb:v1D50p53DD*
 ID_MODEL_FROM_DATABASE=Sony NWZ-E360 series (Rockbox)

usb:v1D50p53E6*
 ID_MODEL_FROM_DATABASE=IHIFI 760 (Rockbox)

usb:v1D50p53E7*
 ID_MODEL_FROM_DATABASE=IHIFI 960 (Rockbox)

usb:v1D50p53FF*
 ID_MODEL_FROM_DATABASE=Generic Rockbox device

usb:v1D50p6000*
 ID_MODEL_FROM_DATABASE=Ubertooth Zero

usb:v1D50p6001*
 ID_MODEL_FROM_DATABASE=Ubertooth Zero (DFU)

usb:v1D50p6002*
 ID_MODEL_FROM_DATABASE=Ubertooth One

usb:v1D50p6003*
 ID_MODEL_FROM_DATABASE=Ubertooth One (DFU)

usb:v1D50p6004*
 ID_MODEL_FROM_DATABASE=LeoLipo

usb:v1D50p6005*
 ID_MODEL_FROM_DATABASE=LED Flower S

usb:v1D50p6006*
 ID_MODEL_FROM_DATABASE=LED Cube

usb:v1D50p6007*
 ID_MODEL_FROM_DATABASE=LED Flower

usb:v1D50p6008*
 ID_MODEL_FROM_DATABASE=Kisbee 802.15.4 transceiver

usb:v1D50p6009*
 ID_MODEL_FROM_DATABASE=Adjacent Reality Tracker

usb:v1D50p600A*
 ID_MODEL_FROM_DATABASE=AVR Programmer

usb:v1D50p600B*
 ID_MODEL_FROM_DATABASE=Hypna Go Go

usb:v1D50p600C*
 ID_MODEL_FROM_DATABASE=CatNip LPC1343 development board

usb:v1D50p600D*
 ID_MODEL_FROM_DATABASE=Enhanced RoboBrrd Brain board

usb:v1D50p600E*
 ID_MODEL_FROM_DATABASE=OpenRISC Ordb2a-ep4ce22 development board

usb:v1D50p600F*
 ID_MODEL_FROM_DATABASE=Paparazzi Lisa/M (DFU)

usb:v1D50p6010*
 ID_MODEL_FROM_DATABASE=OpenPipe: OSHW Bagpipes MIDI controller

usb:v1D50p6011*
 ID_MODEL_FROM_DATABASE=LeoLipo (DFU)

usb:v1D50p6012*
 ID_MODEL_FROM_DATABASE=Universal C64 Cartridge

usb:v1D50p6013*
 ID_MODEL_FROM_DATABASE=DiscFerret magnetic disc analyser (bootloader)

usb:v1D50p6014*
 ID_MODEL_FROM_DATABASE=DiscFerret magnetic disc analyser

usb:v1D50p6015*
 ID_MODEL_FROM_DATABASE=Smoothieboard

usb:v1D50p6016*
 ID_MODEL_FROM_DATABASE=phInterface

usb:v1D50p6017*
 ID_MODEL_FROM_DATABASE=Black Magic Debug Probe (DFU)

usb:v1D50p6018*
 ID_MODEL_FROM_DATABASE=Black Magic Debug Probe (Application)

usb:v1D50p6019*
 ID_MODEL_FROM_DATABASE=4pi 5 axis motion controller

usb:v1D50p601A*
 ID_MODEL_FROM_DATABASE=Paparazzi Lisa/M

usb:v1D50p601B*
 ID_MODEL_FROM_DATABASE=IST-2 chronograph for bullet speeds

usb:v1D50p601C*
 ID_MODEL_FROM_DATABASE=EPOSMote II

usb:v1D50p601D*
 ID_MODEL_FROM_DATABASE=UDS18B20 temperature sensor

usb:v1D50p601E*
 ID_MODEL_FROM_DATABASE=5x5 STM32 prototyping board

usb:v1D50p601F*
 ID_MODEL_FROM_DATABASE=uNSF

usb:v1D50p6020*
 ID_MODEL_FROM_DATABASE=Toad3

usb:v1D50p6021*
 ID_MODEL_FROM_DATABASE=AlphaSphere

usb:v1D50p6022*
 ID_MODEL_FROM_DATABASE=LightPack

usb:v1D50p6023*
 ID_MODEL_FROM_DATABASE=Pixelkit

usb:v1D50p6024*
 ID_MODEL_FROM_DATABASE=Illucia

usb:v1D50p6025*
 ID_MODEL_FROM_DATABASE=Keyglove (HID)

usb:v1D50p6026*
 ID_MODEL_FROM_DATABASE=Keyglove (Serial)

usb:v1D50p6027*
 ID_MODEL_FROM_DATABASE=Key64 Keyboard

usb:v1D50p6028*
 ID_MODEL_FROM_DATABASE=Teensy 2.0 Development Board [ErgoDox Keyboard]

usb:v1D50p6029*
 ID_MODEL_FROM_DATABASE=Marlin 2.0 (Serial)

usb:v1D50p602A*
 ID_MODEL_FROM_DATABASE=Marlin 2.0 (Mass Storage)

usb:v1D50p602B*
 ID_MODEL_FROM_DATABASE=FPGALink

usb:v1D50p602C*
 ID_MODEL_FROM_DATABASE=5nes5snes (5x8)

usb:v1D50p602D*
 ID_MODEL_FROM_DATABASE=5nes5snes (4x12)

usb:v1D50p602E*
 ID_MODEL_FROM_DATABASE=Flexibity

usb:v1D50p602F*
 ID_MODEL_FROM_DATABASE=K-copter

usb:v1D50p6030*
 ID_MODEL_FROM_DATABASE=USB-oscope

usb:v1D50p6031*
 ID_MODEL_FROM_DATABASE=Handmade GSM GPS tracker

usb:v1D50p6032*
 ID_MODEL_FROM_DATABASE=ncrmnt.org uISP

usb:v1D50p6033*
 ID_MODEL_FROM_DATABASE=frobiac / adnw keyboard

usb:v1D50p6034*
 ID_MODEL_FROM_DATABASE=Tiflomag Ergo 2

usb:v1D50p6035*
 ID_MODEL_FROM_DATABASE=FreeLaserTag Gun

usb:v1D50p6036*
 ID_MODEL_FROM_DATABASE=FreeLaserTag Big Brother

usb:v1D50p6037*
 ID_MODEL_FROM_DATABASE=FreeLaserTag Node

usb:v1D50p6038*
 ID_MODEL_FROM_DATABASE=Monaka

usb:v1D50p6039*
 ID_MODEL_FROM_DATABASE=eXtreme Feedback Device

usb:v1D50p603A*
 ID_MODEL_FROM_DATABASE=TiLDA

usb:v1D50p603B*
 ID_MODEL_FROM_DATABASE=Raspiface

usb:v1D50p603C*
 ID_MODEL_FROM_DATABASE=Paparazzi (bootloader)

usb:v1D50p603D*
 ID_MODEL_FROM_DATABASE=Paparazzi (Serial)

usb:v1D50p603E*
 ID_MODEL_FROM_DATABASE=Paparazzi (Mass Storage)

usb:v1D50p603F*
 ID_MODEL_FROM_DATABASE=airGuitar

usb:v1D50p6040*
 ID_MODEL_FROM_DATABASE=moco

usb:v1D50p6041*
 ID_MODEL_FROM_DATABASE=AlphaSphere (bootloader)

usb:v1D50p6042*
 ID_MODEL_FROM_DATABASE=Dspace robot controller

usb:v1D50p6043*
 ID_MODEL_FROM_DATABASE=pc-power

usb:v1D50p6044*
 ID_MODEL_FROM_DATABASE=open-usb-can (DFU)

usb:v1D50p6045*
 ID_MODEL_FROM_DATABASE=open-usb-can

usb:v1D50p6046*
 ID_MODEL_FROM_DATABASE=mimus-weigand

usb:v1D50p6047*
 ID_MODEL_FROM_DATABASE=RfCat Chronos Dongle

usb:v1D50p6048*
 ID_MODEL_FROM_DATABASE=RfCat Dons Dongle

usb:v1D50p6049*
 ID_MODEL_FROM_DATABASE=RfCat Chronos bootloader

usb:v1D50p604A*
 ID_MODEL_FROM_DATABASE=RfCat Dons bootloader

usb:v1D50p604B*
 ID_MODEL_FROM_DATABASE=HackRF Jawbreaker Software-Defined Radio

usb:v1D50p604C*
 ID_MODEL_FROM_DATABASE=Makibox A6

usb:v1D50p604D*
 ID_MODEL_FROM_DATABASE=Paella Pulse height analyzer

usb:v1D50p604E*
 ID_MODEL_FROM_DATABASE=Miniscope v2b

usb:v1D50p604F*
 ID_MODEL_FROM_DATABASE=Miniscope v2c

usb:v1D50p6050*
 ID_MODEL_FROM_DATABASE=GoodFET

usb:v1D50p6051*
 ID_MODEL_FROM_DATABASE=pinocc.io

usb:v1D50p6052*
 ID_MODEL_FROM_DATABASE=APB Team Robotic Development Board

usb:v1D50p6053*
 ID_MODEL_FROM_DATABASE=Darkgame Controller

usb:v1D50p6054*
 ID_MODEL_FROM_DATABASE=Satlab/AAUSAT3 BlueBox

usb:v1D50p6055*
 ID_MODEL_FROM_DATABASE=RADiuS ER900TRS-02 transceiver with SMA Connector

usb:v1D50p6056*
 ID_MODEL_FROM_DATABASE=The Glitch

usb:v1D50p6057*
 ID_MODEL_FROM_DATABASE=OpenPipe MIDI Shield

usb:v1D50p6058*
 ID_MODEL_FROM_DATABASE=Novena OTG port

usb:v1D50p6059*
 ID_MODEL_FROM_DATABASE=xser serial

usb:v1D50p605A*
 ID_MODEL_FROM_DATABASE=Daisho test

usb:v1D50p605B*
 ID_MODEL_FROM_DATABASE=RfCat YARD Stick One

usb:v1D50p605C*
 ID_MODEL_FROM_DATABASE=YARD Stick One bootloader

usb:v1D50p605D*
 ID_MODEL_FROM_DATABASE=Funky Sensor v2

usb:v1D50p605E*
 ID_MODEL_FROM_DATABASE=Blinkiverse Analog LED Fader

usb:v1D50p605F*
 ID_MODEL_FROM_DATABASE=Small DIP package Cypress FX2

usb:v1D50p6060*
 ID_MODEL_FROM_DATABASE=Data logger using the Cypress FX2

usb:v1D50p6061*
 ID_MODEL_FROM_DATABASE=Power Manager

usb:v1D50p6062*
 ID_MODEL_FROM_DATABASE=WhiteRabbit console and Wishbone bridge

usb:v1D50p6063*
 ID_MODEL_FROM_DATABASE=CPC FPGA

usb:v1D50p6064*
 ID_MODEL_FROM_DATABASE=CPC FPGA (DFU)

usb:v1D50p6065*
 ID_MODEL_FROM_DATABASE=CPC FPGA (Serial)

usb:v1D50p6066*
 ID_MODEL_FROM_DATABASE=Nuand BladeRF

usb:v1D50p6067*
 ID_MODEL_FROM_DATABASE=Orbotron 9000 (Serial)

usb:v1D50p6068*
 ID_MODEL_FROM_DATABASE=Orbotron 9000 (HID)

usb:v1D50p6069*
 ID_MODEL_FROM_DATABASE=xser (DFU)

usb:v1D50p606A*
 ID_MODEL_FROM_DATABASE=xser (legacy)

usb:v1D50p606B*
 ID_MODEL_FROM_DATABASE=S08-245, urJtag compatible firmware for S08JS

usb:v1D50p606C*
 ID_MODEL_FROM_DATABASE=Blinkytape full-color light tape

usb:v1D50p606D*
 ID_MODEL_FROM_DATABASE=TinyG open source motion controller

usb:v1D50p606E*
 ID_MODEL_FROM_DATABASE=Reefangel Evolution 1.0

usb:v1D50p606F*
 ID_MODEL_FROM_DATABASE=Geschwister Schneider CAN adapter

usb:v1D50p6070*
 ID_MODEL_FROM_DATABASE=Open Pinball Project

usb:v1D50p6071*
 ID_MODEL_FROM_DATABASE=The Glitch HID

usb:v1D50p6072*
 ID_MODEL_FROM_DATABASE=The Glitch Disk

usb:v1D50p6073*
 ID_MODEL_FROM_DATABASE=The Glitch Serial

usb:v1D50p6074*
 ID_MODEL_FROM_DATABASE=The Glitch MIDI

usb:v1D50p6075*
 ID_MODEL_FROM_DATABASE=The Glitch RawHID

usb:v1D50p6076*
 ID_MODEL_FROM_DATABASE=Vultureprog BIOS chip programmer

usb:v1D50p6077*
 ID_MODEL_FROM_DATABASE=PaintDuino

usb:v1D50p6078*
 ID_MODEL_FROM_DATABASE=DTplug

usb:v1D50p6079*
 ID_MODEL_FROM_DATABASE=Mood Light

usb:v1D50p607A*
 ID_MODEL_FROM_DATABASE=Fadecandy

usb:v1D50p607B*
 ID_MODEL_FROM_DATABASE=RCDongle for IR remote control

usb:v1D50p607C*
 ID_MODEL_FROM_DATABASE=OpenVizsla USB sniffer/analyzer

usb:v1D50p607D*
 ID_MODEL_FROM_DATABASE=Spark Core Arduino-compatible board with WiFi

usb:v1D50p607E*
 ID_MODEL_FROM_DATABASE=OSHUG Wuthering multi-tool

usb:v1D50p607F*
 ID_MODEL_FROM_DATABASE=Spark Core Arduino-compatible board with WiFi (bootloader)

usb:v1D50p6080*
 ID_MODEL_FROM_DATABASE=arcin arcade controller

usb:v1D50p6081*
 ID_MODEL_FROM_DATABASE=BladeRF (bootloader)

usb:v1D50p6082*
 ID_MODEL_FROM_DATABASE=Facecandy (DFU)

usb:v1D50p6083*
 ID_MODEL_FROM_DATABASE=LightUp (bootloader)

usb:v1D50p6084*
 ID_MODEL_FROM_DATABASE=arcin arcade controller (DFU)

usb:v1D50p6085*
 ID_MODEL_FROM_DATABASE=IRKit for controlloing home electronics from iOS devices

usb:v1D50p6086*
 ID_MODEL_FROM_DATABASE=OneRNG entropy device

usb:v1D50p6087*
 ID_MODEL_FROM_DATABASE=Blinkytape (alternate endpoint config)

usb:v1D50p6088*
 ID_MODEL_FROM_DATABASE=picp PIC16F145x based PIC16F145x programmer

usb:v1D50p6089*
 ID_MODEL_FROM_DATABASE=Great Scott Gadgets HackRF One SDR

usb:v1D50p608A*
 ID_MODEL_FROM_DATABASE=BLEduino

usb:v1D50p608B*
 ID_MODEL_FROM_DATABASE=Loctronix ASR-2300 SDR/motion sensing module

usb:v1D50p608C*
 ID_MODEL_FROM_DATABASE=Fx2lafw

usb:v1D50p608D*
 ID_MODEL_FROM_DATABASE=Fx2lafw

usb:v1D50p608E*
 ID_MODEL_FROM_DATABASE=Fx2lafw

usb:v1D50p608F*
 ID_MODEL_FROM_DATABASE=Fx2lafw

usb:v1D50p6090*
 ID_MODEL_FROM_DATABASE=Fx2lafw

usb:v1D50p6091*
 ID_MODEL_FROM_DATABASE=Fx2lafw

usb:v1D50p6092*
 ID_MODEL_FROM_DATABASE=Fx2lafw

usb:v1D50p6093*
 ID_MODEL_FROM_DATABASE=Fx2lafw

usb:v1D50p6094*
 ID_MODEL_FROM_DATABASE=Fx2lafw

usb:v1D50p6095*
 ID_MODEL_FROM_DATABASE=Fx2lafw

usb:v1D50p6096*
 ID_MODEL_FROM_DATABASE=LightUp (sketch)

usb:v1D50p6097*
 ID_MODEL_FROM_DATABASE=Tessel JavaScript enabled Microcontroller with built-in WiFi

usb:v1D50p6098*
 ID_MODEL_FROM_DATABASE=RFIDler

usb:v1D50p6099*
 ID_MODEL_FROM_DATABASE=RASDR Radio Astronomy SDR Rx Interface

usb:v1D50p609A*
 ID_MODEL_FROM_DATABASE=RASDR Radio Astronomy SDR Tx Interface

usb:v1D50p609B*
 ID_MODEL_FROM_DATABASE=RASDR Radio Astronomy SDR (bootloader)

usb:v1D50p609C*
 ID_MODEL_FROM_DATABASE=antiAFK keyboard

usb:v1D50p609D*
 ID_MODEL_FROM_DATABASE=PIC16F145x bootloader

usb:v1D50p609E*
 ID_MODEL_FROM_DATABASE=Clyde Lamp by Fabule (bootloader)

usb:v1D50p609F*
 ID_MODEL_FROM_DATABASE=Clyde Lamp by Fabule (sketch)

usb:v1D50p60A0*
 ID_MODEL_FROM_DATABASE=Smoothiepanel robotic control interface

usb:v1D50p60A1*
 ID_MODEL_FROM_DATABASE=Airspy

usb:v1D50p60A2*
 ID_MODEL_FROM_DATABASE=barebox (DFU)

usb:v1D50p60A3*
 ID_MODEL_FROM_DATABASE=keyboard (bootloader)

usb:v1D50p60A4*
 ID_MODEL_FROM_DATABASE=Papilio Duo (AVR)

usb:v1D50p60A5*
 ID_MODEL_FROM_DATABASE=Papilio Duo (FPGA)

usb:v1D50p60A6*
 ID_MODEL_FROM_DATABASE=HydraBus/HydraNFC (bootloader)

usb:v1D50p60A7*
 ID_MODEL_FROM_DATABASE=HydraBus/HydraNFC

usb:v1D50p60A8*
 ID_MODEL_FROM_DATABASE=reserved

usb:v1D50p60A9*
 ID_MODEL_FROM_DATABASE=Blinky Light Controller (DFU)

usb:v1D50p60AA*
 ID_MODEL_FROM_DATABASE=Blinky Light Controller

usb:v1D50p60AB*
 ID_MODEL_FROM_DATABASE=AllPixel

usb:v1D50p60AC*
 ID_MODEL_FROM_DATABASE=OpenBLT generic microcontroller (bootloader)

usb:v1D50p60AD*
 ID_MODEL_FROM_DATABASE=Clasic Gamepad Adapter (NES)

usb:v1D50p60AE*
 ID_MODEL_FROM_DATABASE=Clasic Gamepad Adapter (N64)

usb:v1D50p60AF*
 ID_MODEL_FROM_DATABASE=Clasic Gamepad Adapter (DB9)

usb:v1D50p60B0*
 ID_MODEL_FROM_DATABASE=Waterott Arduino based Clock (caterina bootloader)

usb:v1D50p60B1*
 ID_MODEL_FROM_DATABASE=Drinkbot (processing)

usb:v1D50p60B2*
 ID_MODEL_FROM_DATABASE=Drinkbot (OTG-tablet support)

usb:v1D50p60B3*
 ID_MODEL_FROM_DATABASE=calc.pw password generator device (standard)

usb:v1D50p60B4*
 ID_MODEL_FROM_DATABASE=calc.pw password generator device (enhanced)

usb:v1D50p60B5*
 ID_MODEL_FROM_DATABASE=TimVideos' HDMI2USB (FX2) - Unconfigured device

usb:v1D50p60B6*
 ID_MODEL_FROM_DATABASE=TimVideos' HDMI2USB (FX2) - Firmware load/upgrade

usb:v1D50p60B7*
 ID_MODEL_FROM_DATABASE=TimVideos' HDMI2USB (FX2) - HDMI/DVI Capture Device

usb:v1D50p60B8*
 ID_MODEL_FROM_DATABASE=TimVideos' HDMI2USB (Soft+UTMI) - Unconfigured device

usb:v1D50p60B9*
 ID_MODEL_FROM_DATABASE=TimVideos' HDMI2USB (Soft+UTMI) - Firmware upgrade

usb:v1D50p60BA*
 ID_MODEL_FROM_DATABASE=TimVideos' HDMI2USB (Soft+UTMI) - HDMI/DVI Capture Device

usb:v1D50p60BC*
 ID_MODEL_FROM_DATABASE=Simple CC25xx programmer / serial board

usb:v1D50p60BD*
 ID_MODEL_FROM_DATABASE=Open Source control interface for multimedia applications

usb:v1D50p60BE*
 ID_MODEL_FROM_DATABASE=Pixelmatix Aurora (bootloader)

usb:v1D50p60BF*
 ID_MODEL_FROM_DATABASE=Pixelmatix Aurora

usb:v1D50p60C0*
 ID_MODEL_FROM_DATABASE=Nucular Keyboard adapter

usb:v1D50p60C1*
 ID_MODEL_FROM_DATABASE=BrewBit Model-T pOSHW temperature controller for homebrewers (bootloader)

usb:v1D50p60C2*
 ID_MODEL_FROM_DATABASE=BrewBit Model-T pOSHW temperature controller for homebrewers

usb:v1D50p60C3*
 ID_MODEL_FROM_DATABASE=X Antenna Tracker arduino board

usb:v1D50p60C4*
 ID_MODEL_FROM_DATABASE=CAN bus communication device

usb:v1D50p60C5*
 ID_MODEL_FROM_DATABASE=PIC16F1 bootloader

usb:v1D50p60C6*
 ID_MODEL_FROM_DATABASE=USBtrng hardware random number generator

usb:v1D50p60C7*
 ID_MODEL_FROM_DATABASE=Zubax GNSS positioning module for light UAV systems

usb:v1D50p60C8*
 ID_MODEL_FROM_DATABASE=Xlink data transfer and control system for Commodore C64

usb:v1D50p60C9*
 ID_MODEL_FROM_DATABASE=random number generator

usb:v1D50p60CA*
 ID_MODEL_FROM_DATABASE=FinalKey password manager

usb:v1D50p60CB*
 ID_MODEL_FROM_DATABASE=PteroDAQ Data Acquisition on FRDM-KL25Z and future boards

usb:v1D50p60CC*
 ID_MODEL_FROM_DATABASE=LamDiNao

usb:v1D50p60CD*
 ID_MODEL_FROM_DATABASE=Open Lighting DMX512 / RDM widget

usb:v1D50p60DE*
 ID_MODEL_FROM_DATABASE=Cryptech.is random number generator

usb:v1D50p60DF*
 ID_MODEL_FROM_DATABASE=Numato Opsis HDMI2USB board (unconfigured)

usb:v1D50p60E0*
 ID_MODEL_FROM_DATABASE=Numato Opsis HDMI2USB board (JTAG Programming Mode)

usb:v1D50p60E1*
 ID_MODEL_FROM_DATABASE=Numato Opsis HDMI2USB board (User Mode)

usb:v1D50p60E2*
 ID_MODEL_FROM_DATABASE=Osmocom SIMtrace 2 (DFU)

usb:v1D50p60E3*
 ID_MODEL_FROM_DATABASE=Osmocom SIMtrace 2

usb:v1D50p60E4*
 ID_MODEL_FROM_DATABASE=3D printed racing game - (Catalina CDC bootloader)

usb:v1D50p60E5*
 ID_MODEL_FROM_DATABASE=3D printed racing game

usb:v1D50p60E6*
 ID_MODEL_FROM_DATABASE=replacement for GoodFET/FaceDancer - GreatFet

usb:v1D50p60E7*
 ID_MODEL_FROM_DATABASE=replacement for GoodFET/FaceDancer - GreatFet target

usb:v1D50p60E8*
 ID_MODEL_FROM_DATABASE=Alpen Clack keyboard

usb:v1D50p60E9*
 ID_MODEL_FROM_DATABASE=keyman64 keyboard itercepter

usb:v1D50p60EA*
 ID_MODEL_FROM_DATABASE=Wiggleport FPGA-based I/O board

usb:v1D50p60EB*
 ID_MODEL_FROM_DATABASE=candleLight CAN adapter

usb:v1D50p60EC*
 ID_MODEL_FROM_DATABASE=Duet 2 WiFi or Duet 2 Ethernet 3D printer control electronics

usb:v1D50p60ED*
 ID_MODEL_FROM_DATABASE=Duet 2 Maestro 3D printer control electronics

usb:v1D50p60EE*
 ID_MODEL_FROM_DATABASE=Duet 3 motion control electronics

usb:v1D50p60F0*
 ID_MODEL_FROM_DATABASE=UDAD-T1 data acquisition device (boot)

usb:v1D50p60F1*
 ID_MODEL_FROM_DATABASE=UDAD-T1 data acquisition device

usb:v1D50p60F2*
 ID_MODEL_FROM_DATABASE=UDAD-T2 data acquisition device (boot)

usb:v1D50p60F3*
 ID_MODEL_FROM_DATABASE=UDAD-T2 data acquisition device

usb:v1D50p60F4*
 ID_MODEL_FROM_DATABASE=Uniti ARC motor controller

usb:v1D50p60F5*
 ID_MODEL_FROM_DATABASE=EightByEight Blinky Badge (DFU)

usb:v1D50p60F6*
 ID_MODEL_FROM_DATABASE=EightByEight Blinky Badge

usb:v1D50p60F7*
 ID_MODEL_FROM_DATABASE=cardio NFC/RFID card reader (bootloader)

usb:v1D50p60F8*
 ID_MODEL_FROM_DATABASE=cardio NFC/RFID card reader

usb:v1D50p60FC*
 ID_MODEL_FROM_DATABASE=OnlyKey Two-factor Authentication and Password Solution

usb:v1D50p6100*
 ID_MODEL_FROM_DATABASE=overlay64 video overlay module

usb:v1D50p6104*
 ID_MODEL_FROM_DATABASE=ScopeFun open source instrumentation

usb:v1D50p6108*
 ID_MODEL_FROM_DATABASE=Myriad-RF LimeSDR

usb:v1D50p610C*
 ID_MODEL_FROM_DATABASE=Magic Keys (boot)

usb:v1D50p610D*
 ID_MODEL_FROM_DATABASE=Magic Keys

usb:v1D50p6114*
 ID_MODEL_FROM_DATABASE=MIDI key

usb:v1D50p6118*
 ID_MODEL_FROM_DATABASE=Thomson MO5 keyboard

usb:v1D50p6122*
 ID_MODEL_FROM_DATABASE=Ultimate Hacking Keyboard

usb:v1D50p614C*
 ID_MODEL_FROM_DATABASE=dwtk In-Circuit Emulator

usb:v1D50p614D*
 ID_MODEL_FROM_DATABASE=Generic Display

usb:v1D50p8085*
 ID_MODEL_FROM_DATABASE=Box0 (box0-v5)

usb:v1D50pCC15*
 ID_MODEL_FROM_DATABASE=rad1o badge for CCC summer camp 2015

usb:v1D57*
 ID_VENDOR_FROM_DATABASE=Xenta

usb:v1D57p0005*
 ID_MODEL_FROM_DATABASE=Wireless Receiver (Keyboard and Mouse)

usb:v1D57p0006*
 ID_MODEL_FROM_DATABASE=Wireless Receiver (RC Laser Pointer)

usb:v1D57p000C*
 ID_MODEL_FROM_DATABASE=Optical Mouse

usb:v1D57p130F*
 ID_MODEL_FROM_DATABASE=2.4Ghz wireless optical mouse receiver

usb:v1D57p2400*
 ID_MODEL_FROM_DATABASE=Wireless Mouse Receiver

usb:v1D57p32DA*
 ID_MODEL_FROM_DATABASE=2.4GHz Receiver (Keyboard and Mouse)

usb:v1D57p83D0*
 ID_MODEL_FROM_DATABASE=Click-mouse!

usb:v1D57pAC01*
 ID_MODEL_FROM_DATABASE=Wireless Receiver (Keyboard and Mouse)

usb:v1D57pAC02*
 ID_MODEL_FROM_DATABASE=ViFit Activity Tracker

usb:v1D57pAC08*
 ID_MODEL_FROM_DATABASE=RFID Receiver (Keyboard)

usb:v1D57pAD02*
 ID_MODEL_FROM_DATABASE=SE340D PC Remote Control

usb:v1D57pAD03*
 ID_MODEL_FROM_DATABASE=[T3] 2.4GHz and IR Air Mouse Remote Control

usb:v1D57pAF01*
 ID_MODEL_FROM_DATABASE=AUVIO Universal Remote Receiver for PlayStation 3

usb:v1D57pAF03*
 ID_MODEL_FROM_DATABASE=Wireless Receiver

usb:v1D57pFA20*
 ID_MODEL_FROM_DATABASE=2.4GHz Wireless Receiver (Mini Keyboard & Mouse)

usb:v1D5B*
 ID_VENDOR_FROM_DATABASE=Smartronix, Inc.

usb:v1D5C*
 ID_VENDOR_FROM_DATABASE=Fresco Logic

usb:v1D5Cp2000*
 ID_MODEL_FROM_DATABASE=FL2000/FL2000DX VGA/DVI/HDMI Adapter

usb:v1D6B*
 ID_VENDOR_FROM_DATABASE=Linux Foundation

usb:v1D6Bp0001*
 ID_MODEL_FROM_DATABASE=1.1 root hub

usb:v1D6Bp0002*
 ID_MODEL_FROM_DATABASE=2.0 root hub

usb:v1D6Bp0003*
 ID_MODEL_FROM_DATABASE=3.0 root hub

usb:v1D6Bp0100*
 ID_MODEL_FROM_DATABASE=PTP Gadget

usb:v1D6Bp0101*
 ID_MODEL_FROM_DATABASE=Audio Gadget

usb:v1D6Bp0102*
 ID_MODEL_FROM_DATABASE=EEM Gadget

usb:v1D6Bp0103*
 ID_MODEL_FROM_DATABASE=NCM (Ethernet) Gadget

usb:v1D6Bp0104*
 ID_MODEL_FROM_DATABASE=Multifunction Composite Gadget

usb:v1D6Bp0105*
 ID_MODEL_FROM_DATABASE=FunctionFS Gadget

usb:v1D6Bp0200*
 ID_MODEL_FROM_DATABASE=Qemu Audio Device

usb:v1D88*
 ID_VENDOR_FROM_DATABASE=Mahr GmbH

usb:v1D88p0001*
 ID_MODEL_FROM_DATABASE=Measurement Device [MarECon]

usb:v1D88p0002*
 ID_MODEL_FROM_DATABASE=Probe

usb:v1D88p0003*
 ID_MODEL_FROM_DATABASE=Surface Measurement [PS10]

usb:v1D90*
 ID_VENDOR_FROM_DATABASE=Citizen

usb:v1D90p201E*
 ID_MODEL_FROM_DATABASE=PPU-700

usb:v1D90p2037*
 ID_MODEL_FROM_DATABASE=CL-S631 Barcode Printer

usb:v1D90p20F0*
 ID_MODEL_FROM_DATABASE=Thermal Receipt Printer [CT-E351]

usb:v1D9D*
 ID_VENDOR_FROM_DATABASE=Sigma Sport

usb:v1D9Dp1010*
 ID_MODEL_FROM_DATABASE=Docking Station Topline 2009

usb:v1D9Dp1011*
 ID_MODEL_FROM_DATABASE=Docking Station Topline 2012

usb:v1D9Dp1012*
 ID_MODEL_FROM_DATABASE=Docking Station Topline 2016

usb:v1DD2*
 ID_VENDOR_FROM_DATABASE=Leo Bodnar Electronics Ltd

usb:v1DD3*
 ID_VENDOR_FROM_DATABASE=Dajc Inc.

usb:v1DD3p0001*
 ID_MODEL_FROM_DATABASE=Expert I/O 1000

usb:v1DE1*
 ID_VENDOR_FROM_DATABASE=Actions Microelectronics Co.

usb:v1DE1p1101*
 ID_MODEL_FROM_DATABASE=Generic Display Device (Mass storage mode)

usb:v1DE1pC101*
 ID_MODEL_FROM_DATABASE=Generic Display Device

usb:v1DE6*
 ID_VENDOR_FROM_DATABASE=MICRORISC s.r.o.

usb:v1DF7*
 ID_VENDOR_FROM_DATABASE=SDRplay

usb:v1DF7p2500*
 ID_MODEL_FROM_DATABASE=RSP1

usb:v1DF7p3000*
 ID_MODEL_FROM_DATABASE=RSP1a

usb:v1DF7p3010*
 ID_MODEL_FROM_DATABASE=RSP2/RSP2pro

usb:v1DF7p3020*
 ID_MODEL_FROM_DATABASE=RSPduo

usb:v1DF7p3030*
 ID_MODEL_FROM_DATABASE=RSPdx

usb:v1E0E*
 ID_VENDOR_FROM_DATABASE=Qualcomm / Option

usb:v1E0EpF000*
 ID_MODEL_FROM_DATABASE=iCON 210 UMTS Surfstick

usb:v1E10*
 ID_VENDOR_FROM_DATABASE=Point Grey Research, Inc.

usb:v1E10p2004*
 ID_MODEL_FROM_DATABASE=Sony 1.3MP 1/3" ICX445 IIDC video camera [Chameleon]

usb:v1E17*
 ID_VENDOR_FROM_DATABASE=Mirion Technologies Dosimetry Services Division

usb:v1E17p0001*
 ID_MODEL_FROM_DATABASE=instadose dosimeter

usb:v1E1D*
 ID_VENDOR_FROM_DATABASE=Kanguru Solutions

usb:v1E1Dp0165*
 ID_MODEL_FROM_DATABASE=Secure Pen drive

usb:v1E1Dp1101*
 ID_MODEL_FROM_DATABASE=FlashBlu Flash Drive

usb:v1E1F*
 ID_VENDOR_FROM_DATABASE=INVIA

usb:v1E29*
 ID_VENDOR_FROM_DATABASE=Festo AG & Co. KG

usb:v1E29p0101*
 ID_MODEL_FROM_DATABASE=CPX Adapter

usb:v1E29p0102*
 ID_MODEL_FROM_DATABASE=CPX Adapter >=HW10.09 [CP2102]

usb:v1E29p0401*
 ID_MODEL_FROM_DATABASE=iL3-TP [AT90USB646]

usb:v1E29p0402*
 ID_MODEL_FROM_DATABASE=FTDI232 [EasyPort]

usb:v1E29p0403*
 ID_MODEL_FROM_DATABASE=FTDI232 [EasyPort Mini]

usb:v1E29p0404*
 ID_MODEL_FROM_DATABASE=FTDI232 [Netzteil-GL]

usb:v1E29p0405*
 ID_MODEL_FROM_DATABASE=FTDI232 [MotorPrüfstand]

usb:v1E29p0406*
 ID_MODEL_FROM_DATABASE=STM32F103 [EasyKit]

usb:v1E29p0407*
 ID_MODEL_FROM_DATABASE=LPC2378 [Robotino]

usb:v1E29p0408*
 ID_MODEL_FROM_DATABASE=LPC2378 [Robotino-Arm]

usb:v1E29p0409*
 ID_MODEL_FROM_DATABASE=LPC2378 [Robotino-Arm Bootloader]

usb:v1E29p040A*
 ID_MODEL_FROM_DATABASE=LPC2378 [Robotino Bootloader]

usb:v1E29p040B*
 ID_MODEL_FROM_DATABASE=LPC2378 [Robotino XT]

usb:v1E29p040C*
 ID_MODEL_FROM_DATABASE=LPC2378 [Robotino XT Bootloader]

usb:v1E29p040D*
 ID_MODEL_FROM_DATABASE=LPC2378 [Robotino 3]

usb:v1E29p040E*
 ID_MODEL_FROM_DATABASE=LPC2378 [Robotino 3 Bootloader]

usb:v1E29p040F*
 ID_MODEL_FROM_DATABASE=LPC2148 [Robotino gripper]

usb:v1E29p0410*
 ID_MODEL_FROM_DATABASE=LPC2148 [Robotino IR panel]

usb:v1E29p0501*
 ID_MODEL_FROM_DATABASE=CP2102 [CMSP]

usb:v1E29p0601*
 ID_MODEL_FROM_DATABASE=CMMP-AS

usb:v1E29p0602*
 ID_MODEL_FROM_DATABASE=FTDI232 [CMMS]

usb:v1E2D*
 ID_VENDOR_FROM_DATABASE=Gemalto M2M GmbH

usb:v1E2Dp004F*
 ID_MODEL_FROM_DATABASE=EGS3 GSM/GPRS modem

usb:v1E2Dp0054*
 ID_MODEL_FROM_DATABASE=PH8 wireless module

usb:v1E2Dp0058*
 ID_MODEL_FROM_DATABASE=Wireless Module [Cinterion EHS6]

usb:v1E2Dp0059*
 ID_MODEL_FROM_DATABASE=Wireless Module [Cinterion BGx]

usb:v1E2Dp005B*
 ID_MODEL_FROM_DATABASE=Zoom 4625 Modem

usb:v1E2Dp0061*
 ID_MODEL_FROM_DATABASE=ALSx PLSx LTE modem

usb:v1E2Dp00A0*
 ID_MODEL_FROM_DATABASE=Cinterion ELS31-V

usb:v1E3D*
 ID_VENDOR_FROM_DATABASE=Chipsbank Microelectronics Co., Ltd

usb:v1E3Dp198A*
 ID_MODEL_FROM_DATABASE=Flash Disk

usb:v1E3Dp2093*
 ID_MODEL_FROM_DATABASE=CBM209x Flash Drive (OEM)

usb:v1E3Dp4082*
 ID_MODEL_FROM_DATABASE=CBM4082 SD Card Reader

usb:v1E41*
 ID_VENDOR_FROM_DATABASE=Cleverscope

usb:v1E41p0001*
 ID_MODEL_FROM_DATABASE=CS328A PC Oscilloscope

usb:v1E41p0004*
 ID_MODEL_FROM_DATABASE=CS448

usb:v1E44*
 ID_VENDOR_FROM_DATABASE=SHIMANO INC.

usb:v1E44p7220*
 ID_MODEL_FROM_DATABASE=SM-BCR2

usb:v1E4E*
 ID_VENDOR_FROM_DATABASE=Cubeternet

usb:v1E4Ep0100*
 ID_MODEL_FROM_DATABASE=WebCam

usb:v1E4Ep0102*
 ID_MODEL_FROM_DATABASE=GL-UPC822 UVC WebCam

usb:v1E4Ep0109*
 ID_MODEL_FROM_DATABASE=EtronTech CMOS based eSP570 WebCam [Onyx Titanium TC101]

usb:v1E54*
 ID_VENDOR_FROM_DATABASE=TypeMatrix

usb:v1E54p2030*
 ID_MODEL_FROM_DATABASE=2030 USB Keyboard

usb:v1E68*
 ID_VENDOR_FROM_DATABASE=TrekStor GmbH & Co. KG

usb:v1E68p001B*
 ID_MODEL_FROM_DATABASE=DataStation maxi g.u

usb:v1E68p004C*
 ID_MODEL_FROM_DATABASE=DataStation Pocket Click

usb:v1E68p0050*
 ID_MODEL_FROM_DATABASE=DataStation maxi light

usb:v1E68p1045*
 ID_MODEL_FROM_DATABASE=ST70408-3 [SurfTab breeze 7.0 quad 3G] (MTP Mode)

usb:v1E68p1046*
 ID_MODEL_FROM_DATABASE=ST70408-3 [SurfTab breeze 7.0 quad 3G] (PTP Mode)

usb:v1E71*
 ID_VENDOR_FROM_DATABASE=NZXT

usb:v1E71p0001*
 ID_MODEL_FROM_DATABASE=Avatar Optical Mouse

usb:v1E71p170E*
 ID_MODEL_FROM_DATABASE=Kraken X

usb:v1E71p1711*
 ID_MODEL_FROM_DATABASE=Grid+ V3

usb:v1E71p1714*
 ID_MODEL_FROM_DATABASE=Smart Device

usb:v1E71p1715*
 ID_MODEL_FROM_DATABASE=Kraken M22

usb:v1E71p2006*
 ID_MODEL_FROM_DATABASE=Smart Device V2

usb:v1E74*
 ID_VENDOR_FROM_DATABASE=Coby Electronics Corporation

usb:v1E74p2211*
 ID_MODEL_FROM_DATABASE=MP300

usb:v1E74p2647*
 ID_MODEL_FROM_DATABASE=2 GB 2 Go Video MP3 Player [MP601-2G]

usb:v1E74p2659*
 ID_MODEL_FROM_DATABASE=Coby 4GB Go Video MP3 Player [MP620-4G]

usb:v1E74p4641*
 ID_MODEL_FROM_DATABASE=A8705 MP3/Video Player

usb:v1E74p6511*
 ID_MODEL_FROM_DATABASE=MP705-8G MP3 player

usb:v1E74p6512*
 ID_MODEL_FROM_DATABASE=MP705-4G

usb:v1E74p7111*
 ID_MODEL_FROM_DATABASE=MP957 Music and Video Player

usb:v1E7B*
 ID_VENDOR_FROM_DATABASE=Zurich Instruments

usb:v1E7Bp0002*
 ID_MODEL_FROM_DATABASE=HF2

usb:v1E7Bp0003*
 ID_MODEL_FROM_DATABASE=UHF

usb:v1E7Bp0004*
 ID_MODEL_FROM_DATABASE=MFLI

usb:v1E7D*
 ID_VENDOR_FROM_DATABASE=ROCCAT

usb:v1E7Dp2C24*
 ID_MODEL_FROM_DATABASE=Pyra Mouse (wired)

usb:v1E7Dp2C2E*
 ID_MODEL_FROM_DATABASE=Lua Mouse

usb:v1E7Dp2C38*
 ID_MODEL_FROM_DATABASE=Kiro Mouse

usb:v1E7Dp2CED*
 ID_MODEL_FROM_DATABASE=Kone Mouse

usb:v1E7Dp2CEE*
 ID_MODEL_FROM_DATABASE=Kova 2016 Gray Mouse

usb:v1E7Dp2CEF*
 ID_MODEL_FROM_DATABASE=Kova 2016 White Mouse

usb:v1E7Dp2CF0*
 ID_MODEL_FROM_DATABASE=Kova 2016 Black Mouse

usb:v1E7Dp2CF6*
 ID_MODEL_FROM_DATABASE=Pyra Mouse (wireless)

usb:v1E7Dp2D50*
 ID_MODEL_FROM_DATABASE=Kova[+] Mouse

usb:v1E7Dp2D51*
 ID_MODEL_FROM_DATABASE=Kone[+] Mouse

usb:v1E7Dp2D5A*
 ID_MODEL_FROM_DATABASE=Savu Mouse

usb:v1E7Dp2DB4*
 ID_MODEL_FROM_DATABASE=Kone Pure Optical Mouse

usb:v1E7Dp2DBE*
 ID_MODEL_FROM_DATABASE=Kone Pure Mouse

usb:v1E7Dp2DBF*
 ID_MODEL_FROM_DATABASE=Kone Pure Military Mouse

usb:v1E7Dp2DC2*
 ID_MODEL_FROM_DATABASE=Kone Pure Optical Black Mouse

usb:v1E7Dp2DCB*
 ID_MODEL_FROM_DATABASE=Kone Pure SE(L) Mouse

usb:v1E7Dp2E22*
 ID_MODEL_FROM_DATABASE=Kone XTD Mouse

usb:v1E7Dp2E23*
 ID_MODEL_FROM_DATABASE=Kone XTD Optical Mouse

usb:v1E7Dp2E27*
 ID_MODEL_FROM_DATABASE=Kone AIMO Mouse

usb:v1E7Dp2E4A*
 ID_MODEL_FROM_DATABASE=Tyon Black Mouse

usb:v1E7Dp2E4B*
 ID_MODEL_FROM_DATABASE=Tyon White Mouse

usb:v1E7Dp2E7C*
 ID_MODEL_FROM_DATABASE=Nyth Black Mouse

usb:v1E7Dp2E7D*
 ID_MODEL_FROM_DATABASE=Nyth White Mouse

usb:v1E7Dp2F76*
 ID_MODEL_FROM_DATABASE=Sova Keyboard

usb:v1E7Dp2F94*
 ID_MODEL_FROM_DATABASE=Sova MK Keyboard

usb:v1E7Dp2FA8*
 ID_MODEL_FROM_DATABASE=Suora Keyboard

usb:v1E7Dp2FC6*
 ID_MODEL_FROM_DATABASE=Skeltr Keyboard

usb:v1E7Dp2FDA*
 ID_MODEL_FROM_DATABASE=Ryos MK FX Keyboard

usb:v1E7Dp30D4*
 ID_MODEL_FROM_DATABASE=Arvo Keyboard

usb:v1E7Dp3138*
 ID_MODEL_FROM_DATABASE=Ryos MK Keyboard

usb:v1E7Dp316A*
 ID_MODEL_FROM_DATABASE=Ryos TKL Keyboard

usb:v1E7Dp319C*
 ID_MODEL_FROM_DATABASE=Isku Keyboard

usb:v1E7Dp31CE*
 ID_MODEL_FROM_DATABASE=Ryos MK Glow Keyboard

usb:v1E7Dp3232*
 ID_MODEL_FROM_DATABASE=Ryos MK Pro Keyboard

usb:v1E7Dp3246*
 ID_MODEL_FROM_DATABASE=Suora FX Keyboard

usb:v1E7Dp3264*
 ID_MODEL_FROM_DATABASE=Isku FX Keyboard

usb:v1E8E*
 ID_VENDOR_FROM_DATABASE=Airbus Defence and Space

usb:v1E8Ep6001*
 ID_MODEL_FROM_DATABASE=P8GR

usb:v1E91*
 ID_VENDOR_FROM_DATABASE=Other World Computing

usb:v1E91pB0B1*
 ID_MODEL_FROM_DATABASE=miniStack

usb:v1EA7*
 ID_VENDOR_FROM_DATABASE=SHARKOON Technologies GmbH

usb:v1EA7p0030*
 ID_MODEL_FROM_DATABASE=Trust GXT 158 Orna Laser Gaming Mouse

usb:v1EA7p0064*
 ID_MODEL_FROM_DATABASE=2.4GHz Wireless rechargeable vertical mouse [More&Better]

usb:v1EA7p0066*
 ID_MODEL_FROM_DATABASE=[Mediatrack Edge Mini Keyboard]

usb:v1EA7p0907*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v1EA7p1002*
 ID_MODEL_FROM_DATABASE=Vintorez Gaming Mouse

usb:v1EA7p2007*
 ID_MODEL_FROM_DATABASE=SHARK ZONE K30 Illuminated Gaming Keyboard

usb:v1EAB*
 ID_VENDOR_FROM_DATABASE=Fujian Newland Computer Co., Ltd

usb:v1EABp0103*
 ID_MODEL_FROM_DATABASE=HR200 Barcode scanner engine (HID keyboard)

usb:v1EABp0106*
 ID_MODEL_FROM_DATABASE=HR200 Barcode scanner engine (Serial CDC)

usb:v1EABp0110*
 ID_MODEL_FROM_DATABASE=HR200 Barcode scanner engine (HID Pos)

usb:v1EABp0C03*
 ID_MODEL_FROM_DATABASE=HR100/HR3260 cordless/HR3290 cordless/BS80 Barcode scanner engine (HID keyboard)

usb:v1EABp0C06*
 ID_MODEL_FROM_DATABASE=HR100/HR3260 cordless/HR3290 cordless/BS80 Barcode scanner engine (USB Serial CDC)

usb:v1EABp0C10*
 ID_MODEL_FROM_DATABASE=HR100/HR3260 cordless/HR3290 cordless/BS80 Barcode scanner engine (HID Pos)

usb:v1EABp0D03*
 ID_MODEL_FROM_DATABASE=EM2028 Barcode scanner engine (HID keyboard)

usb:v1EABp0D06*
 ID_MODEL_FROM_DATABASE=EM2028 Barcode scanner engine (Serial CDC)

usb:v1EABp0D10*
 ID_MODEL_FROM_DATABASE=EM2028 Barcode scanner engine (HID Pos)

usb:v1EABp1303*
 ID_MODEL_FROM_DATABASE=EM30xx/EM20xx/HR3260 corded/HR200C Barcode scanner engine (HID keyboard)

usb:v1EABp1306*
 ID_MODEL_FROM_DATABASE=EM30xx/EM20xx/HR3260 corded/HR200C Barcode scanner engine (USB serial CDC)

usb:v1EABp1310*
 ID_MODEL_FROM_DATABASE=EM30xx/EM20xx/HR3260 corded/HR200C Barcode scanner engine (HID Pos)

usb:v1EABp1403*
 ID_MODEL_FROM_DATABASE=HR15-xx Barcode scanner engine (HID keyboard)

usb:v1EABp1406*
 ID_MODEL_FROM_DATABASE=HR15-xx Barcode scanner engine (Serial CDC)

usb:v1EABp1410*
 ID_MODEL_FROM_DATABASE=HR15-xx Barcode scanner engine (HID Pos)

usb:v1EABp1603*
 ID_MODEL_FROM_DATABASE=FM100-M/3250 Barcode scanner engine (HID keyboard)

usb:v1EABp1606*
 ID_MODEL_FROM_DATABASE=FM100-M/3250 Barcode scanner engine (Serial CDC)

usb:v1EABp1610*
 ID_MODEL_FROM_DATABASE=FM100-M/3250 Barcode scanner engine (HID Pos)

usb:v1EABp1903*
 ID_MODEL_FROM_DATABASE=EM1300 Barcode scanner engine (HID keyboard)

usb:v1EABp1906*
 ID_MODEL_FROM_DATABASE=EM1300 Barcode scanner engine (Serial CDC)

usb:v1EABp1910*
 ID_MODEL_FROM_DATABASE=EM1300 Barcode scanner engine (HID Pos)

usb:v1EABp1A03*
 ID_MODEL_FROM_DATABASE=HR3290 corded/HR22 Barcode scanner engine (HID keyboard)

usb:v1EABp1A06*
 ID_MODEL_FROM_DATABASE=HR3290 corded/HR22 Barcode scanner engine (Serial CDC)

usb:v1EABp1A10*
 ID_MODEL_FROM_DATABASE=HR3290 corded/HR22 Barcode scanner engine (HID Pos)

usb:v1EABp1C03*
 ID_MODEL_FROM_DATABASE=HR2150 Barcode scanner engine (HID keyboard)

usb:v1EABp1C06*
 ID_MODEL_FROM_DATABASE=HR2150 Barcode scanner engine (Serial CDC)

usb:v1EABp1C10*
 ID_MODEL_FROM_DATABASE=HR2150 Barcode scanner engine (HID Pos)

usb:v1EABp1D03*
 ID_MODEL_FROM_DATABASE=FM430 Barcode scanner engine (HID keyboard)

usb:v1EABp1D06*
 ID_MODEL_FROM_DATABASE=FM430 Barcode scanner engine (Serial CDC)

usb:v1EABp1D10*
 ID_MODEL_FROM_DATABASE=FM430 Barcode scanner engine (HID Pos)

usb:v1EABp1E03*
 ID_MODEL_FROM_DATABASE=HR42 Barcode scanner engine (HID keyboard)

usb:v1EABp1E06*
 ID_MODEL_FROM_DATABASE=HR42 Barcode scanner engine (Serial CDC)

usb:v1EABp1E10*
 ID_MODEL_FROM_DATABASE=HR42 Barcode scanner engine (HID Pos)

usb:v1EABp1F03*
 ID_MODEL_FROM_DATABASE=HR11+ Barcode scanner engine (HID keyboard)

usb:v1EABp1F06*
 ID_MODEL_FROM_DATABASE=HR11+ Barcode scanner engine (Serial CDC)

usb:v1EABp1F10*
 ID_MODEL_FROM_DATABASE=HR11+ Barcode scanner engine (HID Pos)

usb:v1EABp2003*
 ID_MODEL_FROM_DATABASE=EM2037v2 Barcode scanner engine (HID keyboard)

usb:v1EABp2006*
 ID_MODEL_FROM_DATABASE=EM2037v2 Barcode scanner engine (Serial CDC)

usb:v1EABp2010*
 ID_MODEL_FROM_DATABASE=EM2037v2 Barcode scanner engine (HID Pos)

usb:v1EABp8003*
 ID_MODEL_FROM_DATABASE=EM13x5-LD/HR15-70/HR100-70/HR12/HR1150-70 Barcode scanner engine (HID keyboard)

usb:v1EABp8006*
 ID_MODEL_FROM_DATABASE=EM13x5-LD/HR15-70/HR100-70/HR12/HR1150-70 Barcode scanner engine (USB Serial CDC)

usb:v1EABp8010*
 ID_MODEL_FROM_DATABASE=EM13x5-LD/HR15-70/HR100-70/HR12/HR1150-70 Barcode scanner engine (HID Pos)

usb:v1EABp8203*
 ID_MODEL_FROM_DATABASE=EM3080-01/EM3095/FR20/FM30 Barcode scanner engine (HID keyboard)

usb:v1EABp8206*
 ID_MODEL_FROM_DATABASE=EM3080-01/EM3095/FR20/FM30 Barcode scanner engine (USB Serial CDC)

usb:v1EABp8210*
 ID_MODEL_FROM_DATABASE=EM3080-01/EM3095/FR20/FM30 Barcode scanner engine (HID Pos)

usb:v1EABp8303*
 ID_MODEL_FROM_DATABASE=HR2160 Barcode scanner engine (HID keyboard)

usb:v1EABp8306*
 ID_MODEL_FROM_DATABASE=HR2160 Barcode scanner engine (Serial CDC)

usb:v1EABp8310*
 ID_MODEL_FROM_DATABASE=HR2160 Barcode scanner engine (HID Pos)

usb:v1EAF*
 ID_VENDOR_FROM_DATABASE=Leaflabs

usb:v1EAFp0003*
 ID_MODEL_FROM_DATABASE=Maple DFU interface

usb:v1EAFp0004*
 ID_MODEL_FROM_DATABASE=Maple serial interface

usb:v1EB8*
 ID_VENDOR_FROM_DATABASE=Modacom Co., Ltd.

usb:v1EB8p7F00*
 ID_MODEL_FROM_DATABASE=MW-U3500 WiMAX adapter

usb:v1EBB*
 ID_VENDOR_FROM_DATABASE=NuCORE Technology, Inc.

usb:v1ECB*
 ID_VENDOR_FROM_DATABASE=AMTelecom

usb:v1ECBp02E2*
 ID_MODEL_FROM_DATABASE=JMR1140 [Jiofi]

usb:v1ED8*
 ID_VENDOR_FROM_DATABASE=FENDER MUSICAL INSTRUMENTS CORPORATION

usb:v1ED8p0004*
 ID_MODEL_FROM_DATABASE=Mustang I/II

usb:v1ED8p0005*
 ID_MODEL_FROM_DATABASE=Mustang III/IV/V

usb:v1ED8p0006*
 ID_MODEL_FROM_DATABASE=Mustang I/II [Firmware Update]

usb:v1ED8p0007*
 ID_MODEL_FROM_DATABASE=Mustang III/IV/V [Firmware Update]

usb:v1ED8p0010*
 ID_MODEL_FROM_DATABASE=Mustang Mini

usb:v1ED8p0011*
 ID_MODEL_FROM_DATABASE=Mustang Mini [Firmware Update]

usb:v1ED8p0014*
 ID_MODEL_FROM_DATABASE=Mustang I (V.2)

usb:v1ED8p0016*
 ID_MODEL_FROM_DATABASE=Mustang IV v.2

usb:v1EDA*
 ID_VENDOR_FROM_DATABASE=AirTies Wireless Networks

usb:v1EDAp2012*
 ID_MODEL_FROM_DATABASE=Air2210 54 Mbps Wireless Adapter

usb:v1EDAp2210*
 ID_MODEL_FROM_DATABASE=Air2210 54 Mbps Wireless Adapter

usb:v1EDAp2310*
 ID_MODEL_FROM_DATABASE=Air2310 150 Mbps Wireless Adapter

usb:v1EDAp2410*
 ID_MODEL_FROM_DATABASE=Air2410 300 Mbps Wireless Adapter

usb:v1EDB*
 ID_VENDOR_FROM_DATABASE=Blackmagic design

usb:v1EDBpBD3B*
 ID_MODEL_FROM_DATABASE=Intensity Shuttle

usb:v1EDBpBD46*
 ID_MODEL_FROM_DATABASE=Mini Converter Analog to SDI

usb:v1EDBpBD75*
 ID_MODEL_FROM_DATABASE=2.5K Cinema Camera (BMCC)

usb:v1EE8*
 ID_VENDOR_FROM_DATABASE=ONDA COMMUNICATION S.p.a.

usb:v1EE8p0014*
 ID_MODEL_FROM_DATABASE=MT833UP

usb:v1EF6*
 ID_VENDOR_FROM_DATABASE=EADS Deutschland GmbH

usb:v1EF6p2233*
 ID_MODEL_FROM_DATABASE=Cassidian NH90 STTE

usb:v1EF6p5064*
 ID_MODEL_FROM_DATABASE=FDR Interface

usb:v1EF6p5523*
 ID_MODEL_FROM_DATABASE=Cassidian SSDC Adapter II

usb:v1EF6p5545*
 ID_MODEL_FROM_DATABASE=Cassidian SSDC Adapter III

usb:v1EF6p5648*
 ID_MODEL_FROM_DATABASE=RIU CSMU/BSD

usb:v1EF6p564A*
 ID_MODEL_FROM_DATABASE=Cassidian RIU CSMU/BSD Simulator

usb:v1F0C*
 ID_VENDOR_FROM_DATABASE=CMX Systems

usb:v1F0Cp2000*
 ID_MODEL_FROM_DATABASE=HP StreamSmart 410 [NW278AA]

usb:v1F28*
 ID_VENDOR_FROM_DATABASE=Cal-Comp

usb:v1F28p0020*
 ID_MODEL_FROM_DATABASE=CDMA USB Modem A600

usb:v1F28p0021*
 ID_MODEL_FROM_DATABASE=CD INSTALLER USB Device

usb:v1F3A*
 ID_VENDOR_FROM_DATABASE=Allwinner Technology

usb:v1F3Ap1000*
 ID_MODEL_FROM_DATABASE=Prestigio PER3464B ebook reader (Mass storage mode)

usb:v1F3Ap1002*
 ID_MODEL_FROM_DATABASE=mediacom XPRO 415

usb:v1F3Ap1010*
 ID_MODEL_FROM_DATABASE=Android device in fastboot mode

usb:v1F3ApEFE8*
 ID_MODEL_FROM_DATABASE=sunxi SoC OTG connector in FEL/flashing mode

usb:v1F44*
 ID_VENDOR_FROM_DATABASE=The Neat Company

usb:v1F44p0001*
 ID_MODEL_FROM_DATABASE=NM-1000 scanner

usb:v1F48*
 ID_VENDOR_FROM_DATABASE=H-TRONIC GmbH

usb:v1F48p0627*
 ID_MODEL_FROM_DATABASE=Data capturing system

usb:v1F48p0628*
 ID_MODEL_FROM_DATABASE=Data capturing and control module

usb:v1F4D*
 ID_VENDOR_FROM_DATABASE=G-Tek Electronics Group

usb:v1F4DpA115*
 ID_MODEL_FROM_DATABASE=EVOLVEO XtraTV stick [DVB-T]

usb:v1F4DpB803*
 ID_MODEL_FROM_DATABASE=Lifeview LV5TDLX DVB-T [RTL2832U]

usb:v1F4DpC803*
 ID_MODEL_FROM_DATABASE=NotOnlyTV (Lifeview) LV5TDLX DVB-T [RTL2832U]

usb:v1F4DpD220*
 ID_MODEL_FROM_DATABASE=Geniatech T220 DVB-T2 TV Stick

usb:v1F52*
 ID_VENDOR_FROM_DATABASE=Systems & Electronic Development FZCO (SEDCO)

usb:v1F52p0001*
 ID_MODEL_FROM_DATABASE=Ultima 49 Printer

usb:v1F52p0002*
 ID_MODEL_FROM_DATABASE=Ultima 90 Printer

usb:v1F52p0003*
 ID_MODEL_FROM_DATABASE=FormsPro 50 Printer

usb:v1F52p0004*
 ID_MODEL_FROM_DATABASE=Ultima 90+ Printer

usb:v1F6F*
 ID_VENDOR_FROM_DATABASE=Aliph

usb:v1F6Fp0023*
 ID_MODEL_FROM_DATABASE=Jawbone Jambox

usb:v1F6Fp8000*
 ID_MODEL_FROM_DATABASE=Jawbone Jambox - Updating

usb:v1F75*
 ID_VENDOR_FROM_DATABASE=Innostor Technology Corporation

usb:v1F75p0611*
 ID_MODEL_FROM_DATABASE=IS611 SATA/PATA Bridge Controller

usb:v1F75p0621*
 ID_MODEL_FROM_DATABASE=IS621 SATA Storage Controller

usb:v1F75p0888*
 ID_MODEL_FROM_DATABASE=IS888 SATA Storage Controller

usb:v1F75p0902*
 ID_MODEL_FROM_DATABASE=IS902 UFD controller

usb:v1F75p0916*
 ID_MODEL_FROM_DATABASE=IS916 Flash Drive

usb:v1F75p0917*
 ID_MODEL_FROM_DATABASE=IS917 Mass storage

usb:v1F75p0918*
 ID_MODEL_FROM_DATABASE=IS918 Flash Drive

usb:v1F82*
 ID_VENDOR_FROM_DATABASE=TANDBERG

usb:v1F82p0001*
 ID_MODEL_FROM_DATABASE=PrecisionHD Camera

usb:v1F84*
 ID_VENDOR_FROM_DATABASE=Alere, Inc.

usb:v1F84p1F7E*
 ID_MODEL_FROM_DATABASE=Lateral Flow Engine

usb:v1F87*
 ID_VENDOR_FROM_DATABASE=Stantum

usb:v1F87p0002*
 ID_MODEL_FROM_DATABASE=Multi-touch HID Controller

usb:v1F9B*
 ID_VENDOR_FROM_DATABASE=Ubiquiti Networks, Inc.

usb:v1F9Bp0241*
 ID_MODEL_FROM_DATABASE=AirView2-EXT

usb:v1F9BpB0B1*
 ID_MODEL_FROM_DATABASE=UniFi VoIP Phone

usb:v1FAB*
 ID_VENDOR_FROM_DATABASE=Samsung Opto-Electroncs Co., Ltd.

usb:v1FABp104D*
 ID_MODEL_FROM_DATABASE=ES65

usb:v1FAC*
 ID_VENDOR_FROM_DATABASE=Franklin Wireless

usb:v1FACp0232*
 ID_MODEL_FROM_DATABASE=U770 3G/4G Wimax/4G LTE Modem

usb:v1FAE*
 ID_VENDOR_FROM_DATABASE=Lumidigm

usb:v1FAEp0040*
 ID_MODEL_FROM_DATABASE=M311 Fingerprint Scanner

usb:v1FAEp212C*
 ID_MODEL_FROM_DATABASE=M30x (Mercury) fingerprint sensor

usb:v1FB2*
 ID_VENDOR_FROM_DATABASE=Withings

usb:v1FB2p0001*
 ID_MODEL_FROM_DATABASE=Wi-Fi Body Scale (WBS01)

usb:v1FBA*
 ID_VENDOR_FROM_DATABASE=DERMALOG Identification Systems GmbH

usb:v1FBD*
 ID_VENDOR_FROM_DATABASE=Delphin Technology AG

usb:v1FBDp0001*
 ID_MODEL_FROM_DATABASE=Expert Key - Data acquisition system

usb:v1FBDp0004*
 ID_MODEL_FROM_DATABASE=MetiOS Device (RNDIS)

usb:v1FBDp0005*
 ID_MODEL_FROM_DATABASE=Loggito

usb:v1FBDp0006*
 ID_MODEL_FROM_DATABASE=LoggitoLab 8 AI-RTD

usb:v1FBDp0007*
 ID_MODEL_FROM_DATABASE=LoggitoLab 8 TC

usb:v1FBDp0008*
 ID_MODEL_FROM_DATABASE=LoggitoLab 4 AI-RTD 4 TC

usb:v1FC9*
 ID_VENDOR_FROM_DATABASE=NXP Semiconductors

usb:v1FC9p0003*
 ID_MODEL_FROM_DATABASE=LPC1343

usb:v1FC9p000C*
 ID_MODEL_FROM_DATABASE=LPC4330FET180 [ARM Cortex M4 + M0] (device firmware upgrade mode)

usb:v1FC9p0082*
 ID_MODEL_FROM_DATABASE=LPC4330FET180 [ARM Cortex M4 + M0] (mass storage controller mode)

usb:v1FC9p010B*
 ID_MODEL_FROM_DATABASE=PR533

usb:v1FC9p0126*
 ID_MODEL_FROM_DATABASE=i.MX 7ULP SystemOnChip in RecoveryMode

usb:v1FC9p012B*
 ID_MODEL_FROM_DATABASE=i.MX 8M Dual/8M QuadLite/8M Quad Serial Downloader

usb:v1FC9p5002*
 ID_MODEL_FROM_DATABASE=PTN5002 [Startech VGA/DVI-D adapter]

usb:v1FC9p8124*
 ID_MODEL_FROM_DATABASE=SharkRF Bootloader

usb:v1FC9p824C*
 ID_MODEL_FROM_DATABASE=LumiNode1

usb:v1FDE*
 ID_VENDOR_FROM_DATABASE=ILX Lightwave Corporation

usb:v1FDEp0001*
 ID_MODEL_FROM_DATABASE=UART Bridge

usb:v1FE7*
 ID_VENDOR_FROM_DATABASE=Vertex Wireless Co., Ltd.

usb:v1FE7p1000*
 ID_MODEL_FROM_DATABASE=VW100 series CDMA EV-DO Rev.A modem

usb:v1FF7*
 ID_VENDOR_FROM_DATABASE=CVT Electronics.Co.,Ltd

usb:v1FF7p0013*
 ID_MODEL_FROM_DATABASE=CVTouch Screen (HID)

usb:v1FF7p001A*
 ID_MODEL_FROM_DATABASE=Human Interface Device

usb:v1FFB*
 ID_VENDOR_FROM_DATABASE=Pololu Corporation

usb:v1FFBp0081*
 ID_MODEL_FROM_DATABASE=AVR Programmer

usb:v1FFBp0083*
 ID_MODEL_FROM_DATABASE=Jrk 21v3 Motor Controller

usb:v1FFBp0089*
 ID_MODEL_FROM_DATABASE=Micro Maestro 6-Servo Controller

usb:v1FFBp008A*
 ID_MODEL_FROM_DATABASE=Mini Maestro 12-Channel Servo Controller

usb:v1FFBp008B*
 ID_MODEL_FROM_DATABASE=Mini Maestro 18-Channel Servo Controller

usb:v1FFBp008C*
 ID_MODEL_FROM_DATABASE=Mini Maestro 24-Channel Servo Controller

usb:v1FFBp00B0*
 ID_MODEL_FROM_DATABASE=AVR Programmer v2

usb:v1FFF*
 ID_VENDOR_FROM_DATABASE=Ideofy Inc.

usb:v2000*
 ID_VENDOR_FROM_DATABASE=CMX Systems

usb:v2000p1F0C*
 ID_MODEL_FROM_DATABASE=HP StreamSmart 410 [NW278AA]

usb:v2001*
 ID_VENDOR_FROM_DATABASE=D-Link Corp.

usb:v2001p0001*
 ID_MODEL_FROM_DATABASE=DWL-120 WIRELESS ADAPTER

usb:v2001p0201*
 ID_MODEL_FROM_DATABASE=DHN-120 10Mb Home Phoneline Adapter

usb:v2001p1A00*
 ID_MODEL_FROM_DATABASE=DUB-E100 Fast Ethernet Adapter(rev.A) [ASIX AX88172]

usb:v2001p1A02*
 ID_MODEL_FROM_DATABASE=DUB-E100 Fast Ethernet Adapter(rev.C1) [ASIX AX88772]

usb:v2001p200C*
 ID_MODEL_FROM_DATABASE=10/100 Ethernet

usb:v2001p3101*
 ID_MODEL_FROM_DATABASE=DWA-182 AC1200 DB Wireless Adapter(rev.A1) [Broadcom BCM43526]

usb:v2001p3200*
 ID_MODEL_FROM_DATABASE=DWL-120 802.11b Wireless Adapter(rev.E1) [Atmel at76c503a]

usb:v2001p3301*
 ID_MODEL_FROM_DATABASE=DWA-130 802.11n Wireless N Adapter(rev.C1) [Realtek RTL8192U]

usb:v2001p3306*
 ID_MODEL_FROM_DATABASE=DWL-G122 Wireless Adapter(rev.F1) [Realtek RTL8188SU]

usb:v2001p3308*
 ID_MODEL_FROM_DATABASE=DWA-121 802.11n Wireless N 150 Pico Adapter [Realtek RTL8188CUS]

usb:v2001p3309*
 ID_MODEL_FROM_DATABASE=DWA-135 802.11n Wireless N Adapter(rev.A1) [Realtek RTL8192CU]

usb:v2001p330A*
 ID_MODEL_FROM_DATABASE=DWA-133 802.11n Wireless N Adapter [Realtek RTL8192CU]

usb:v2001p330D*
 ID_MODEL_FROM_DATABASE=DWA-131 802.11n Wireless N Nano Adapter (rev.B1) [Realtek RTL8192CU]

usb:v2001p330F*
 ID_MODEL_FROM_DATABASE=DWA-125 Wireless N 150 Adapter(rev.D1) [Realtek RTL8188ETV]

usb:v2001p3310*
 ID_MODEL_FROM_DATABASE=DWA-123 Wireless N 150 Adapter (rev.D1)

usb:v2001p3314*
 ID_MODEL_FROM_DATABASE=DWA-171 AC600 DB Wireless Adapter(rev.A1) [Realtek RTL8811AU]

usb:v2001p3315*
 ID_MODEL_FROM_DATABASE=DWA-182 Wireless AC Dualband Adapter(rev.C) [Realtek RTL8812AU]

usb:v2001p3317*
 ID_MODEL_FROM_DATABASE=DWA-137 Wireless N High-Gain Adapter [Ralink RT5372]

usb:v2001p3319*
 ID_MODEL_FROM_DATABASE=DWA-131 Wireless N Nano Adapter (Rev. E1) [Realtek RTL8192EU]

usb:v2001p3500*
 ID_MODEL_FROM_DATABASE=Elitegroup Computer Systems WLAN card WL-162

usb:v2001p3700*
 ID_MODEL_FROM_DATABASE=DWL-122 802.11b [Intersil Prism 3]

usb:v2001p3701*
 ID_MODEL_FROM_DATABASE=DWL-G120 Spinnaker 802.11g [Intersil ISL3886]

usb:v2001p3702*
 ID_MODEL_FROM_DATABASE=DWL-120 802.11b Wireless Adapter(rev.F) [Intersil ISL3871]

usb:v2001p3703*
 ID_MODEL_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.A1) [Intersil ISL3880]

usb:v2001p3704*
 ID_MODEL_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.A2) [Intersil ISL3887]

usb:v2001p3705*
 ID_MODEL_FROM_DATABASE=AirPlus G DWL-G120 Wireless Adapter(rev.C) [Intersil ISL3887]

usb:v2001p3761*
 ID_MODEL_FROM_DATABASE=IEEE 802.11g USB2.0 Wireless Network Adapter-PN

usb:v2001p3A00*
 ID_MODEL_FROM_DATABASE=DWL-AG132 [Atheros AR5523]

usb:v2001p3A01*
 ID_MODEL_FROM_DATABASE=DWL-AG132 (no firmware) [Atheros AR5523]

usb:v2001p3A02*
 ID_MODEL_FROM_DATABASE=DWL-G132 [Atheros AR5523]

usb:v2001p3A03*
 ID_MODEL_FROM_DATABASE=DWL-G132 (no firmware) [Atheros AR5523]

usb:v2001p3A04*
 ID_MODEL_FROM_DATABASE=DWL-AG122 [Atheros AR5523]

usb:v2001p3A05*
 ID_MODEL_FROM_DATABASE=DWL-AG122 (no firmware) [Atheros AR5523]

usb:v2001p3A80*
 ID_MODEL_FROM_DATABASE=AirPlus Xtreme G DWL-G132 Wireless Adapter

usb:v2001p3A81*
 ID_MODEL_FROM_DATABASE=predator Bootloader Download

usb:v2001p3A82*
 ID_MODEL_FROM_DATABASE=AirPremier AG DWL-AG132 Wireless Adapter

usb:v2001p3A83*
 ID_MODEL_FROM_DATABASE=predator Bootloader Download

usb:v2001p3B00*
 ID_MODEL_FROM_DATABASE=AirPlus DWL-120+ Wireless Adapter [Texas Instruments ACX100USB]

usb:v2001p3B01*
 ID_MODEL_FROM_DATABASE=WLAN Boot Device

usb:v2001p3C00*
 ID_MODEL_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter(rev.B1) [Ralink RT2571]

usb:v2001p3C01*
 ID_MODEL_FROM_DATABASE=AirPlus AG DWL-AG122 Wireless Adapter

usb:v2001p3C02*
 ID_MODEL_FROM_DATABASE=AirPlus G DWL-G122 Wireless Adapter

usb:v2001p3C05*
 ID_MODEL_FROM_DATABASE=DUB-E100 Fast Ethernet Adapter(rev.B1) [ASIX AX88772]

usb:v2001p3C15*
 ID_MODEL_FROM_DATABASE=DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT5372]

usb:v2001p3C17*
 ID_MODEL_FROM_DATABASE=DWA-123 Wireless N 150 Adapter(rev.A1) [Ralink RT3370]

usb:v2001p3C19*
 ID_MODEL_FROM_DATABASE=DWA-125 Wireless N 150 Adapter(rev.A3) [Ralink RT5370]

usb:v2001p3C1A*
 ID_MODEL_FROM_DATABASE=DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.B2) [Ralink RT5572]

usb:v2001p3C1B*
 ID_MODEL_FROM_DATABASE=DWA-127 Wireless N 150 High-Gain Adapter(rev.A1) [Ralink RT3070]

usb:v2001p3C1E*
 ID_MODEL_FROM_DATABASE=DWA-125 Wireless N 150 Adapter(rev.B1) [Ralink RT5370]

usb:v2001p4000*
 ID_MODEL_FROM_DATABASE=DSB-650C Ethernet [klsi]

usb:v2001p4001*
 ID_MODEL_FROM_DATABASE=DSB-650TX Ethernet [pegasus]

usb:v2001p4002*
 ID_MODEL_FROM_DATABASE=DSB-650TX Ethernet [pegasus]

usb:v2001p4003*
 ID_MODEL_FROM_DATABASE=DSB-650TX-PNA Ethernet [pegasus]

usb:v2001p400B*
 ID_MODEL_FROM_DATABASE=10/100 Ethernet

usb:v2001p4102*
 ID_MODEL_FROM_DATABASE=10/100 Ethernet

usb:v2001p4A00*
 ID_MODEL_FROM_DATABASE=DUB-1312 Gigabit Ethernet Adapter

usb:v2001p5100*
 ID_MODEL_FROM_DATABASE=DSL-200 ADSL ATM Modem

usb:v2001p5102*
 ID_MODEL_FROM_DATABASE=DSL-200 ADSL Loader

usb:v2001p5B00*
 ID_MODEL_FROM_DATABASE=Remote NDIS Network Device

usb:v2001p9414*
 ID_MODEL_FROM_DATABASE=Cable Modem

usb:v2001p9B00*
 ID_MODEL_FROM_DATABASE=Broadband Cable Modem Remote NDIS Device

usb:v2001pABC1*
 ID_MODEL_FROM_DATABASE=DSB-650 Ethernet [pegasus]

usb:v2001pF013*
 ID_MODEL_FROM_DATABASE=DLink 7 port USB2.0 Hub

usb:v2001pF103*
 ID_MODEL_FROM_DATABASE=DUB-H7 7-port USB 2.0 hub

usb:v2001pF10D*
 ID_MODEL_FROM_DATABASE=Accent Communications Modem

usb:v2001pF110*
 ID_MODEL_FROM_DATABASE=DUB-AV300 A/V Capture

usb:v2001pF111*
 ID_MODEL_FROM_DATABASE=DBT-122 Bluetooth adapter

usb:v2001pF112*
 ID_MODEL_FROM_DATABASE=DUB-T210 Audio Device

usb:v2001pF116*
 ID_MODEL_FROM_DATABASE=Formosa 2

usb:v2001pF117*
 ID_MODEL_FROM_DATABASE=Formosa 3

usb:v2001pF118*
 ID_MODEL_FROM_DATABASE=Formosa 4

usb:v2002*
 ID_VENDOR_FROM_DATABASE=DAP Technologies

usb:v2003*
 ID_VENDOR_FROM_DATABASE=detectomat

usb:v2003pEA61*
 ID_MODEL_FROM_DATABASE=dc3500

usb:v2006*
 ID_VENDOR_FROM_DATABASE=LenovoMobile

usb:v2009*
 ID_VENDOR_FROM_DATABASE=iStorage

usb:v2009p5004*
 ID_MODEL_FROM_DATABASE=datAshur 4GB

usb:v2009p5016*
 ID_MODEL_FROM_DATABASE=datAshur 16GB

usb:v2009p5032*
 ID_MODEL_FROM_DATABASE=datAshur 32GB

usb:v200C*
 ID_VENDOR_FROM_DATABASE=Reloop

usb:v200Cp100B*
 ID_MODEL_FROM_DATABASE=Play audio soundcard

usb:v2013*
 ID_VENDOR_FROM_DATABASE=PCTV Systems

usb:v2013p0242*
 ID_MODEL_FROM_DATABASE=QuatroStick 510e

usb:v2013p0245*
 ID_MODEL_FROM_DATABASE=PCTV 73ESE

usb:v2013p0246*
 ID_MODEL_FROM_DATABASE=PCTV 74E

usb:v2013p0248*
 ID_MODEL_FROM_DATABASE=PCTV 282E

usb:v2013p024C*
 ID_MODEL_FROM_DATABASE=DVB-S2 Stick 460e

usb:v2013p024F*
 ID_MODEL_FROM_DATABASE=nanoStick T2 290e

usb:v2013p0251*
 ID_MODEL_FROM_DATABASE=QuatroStick nano 520e

usb:v2013p0258*
 ID_MODEL_FROM_DATABASE=DVB-S2 Stick 461e

usb:v2013p025A*
 ID_MODEL_FROM_DATABASE=AndroiDTV 78e

usb:v2013p025F*
 ID_MODEL_FROM_DATABASE=tripleStick 292e

usb:v2013p0262*
 ID_MODEL_FROM_DATABASE=microStick 79e

usb:v2018*
 ID_VENDOR_FROM_DATABASE=Deutsche Telekom AG

usb:v2018p0406*
 ID_MODEL_FROM_DATABASE=Eumex 800

usb:v2018p0408*
 ID_MODEL_FROM_DATABASE=Eumex 800

usb:v2019*
 ID_VENDOR_FROM_DATABASE=PLANEX

usb:v2019p3220*
 ID_MODEL_FROM_DATABASE=GW-US11S WLAN [Atmel AT76C503A]

usb:v2019p4901*
 ID_MODEL_FROM_DATABASE=GW-USSuper300 802.11bgn Wireless Adapter [Realtek RTL8191SU]

usb:v2019p4903*
 ID_MODEL_FROM_DATABASE=GW-USFang300 802.11abgn Wireless Adapter [Realtek RTL8192DU]

usb:v2019p4904*
 ID_MODEL_FROM_DATABASE=GW-USUltra300 802.11abgn Wireless Adapter [Realtek RTL8192DU]

usb:v2019p5303*
 ID_MODEL_FROM_DATABASE=GW-US54GXS 802.11bg

usb:v2019p5304*
 ID_MODEL_FROM_DATABASE=GWUS300 802.11n

usb:v2019pAB01*
 ID_MODEL_FROM_DATABASE=GW-US54HP

usb:v2019pAB24*
 ID_MODEL_FROM_DATABASE=GW-US300MiniS

usb:v2019pAB25*
 ID_MODEL_FROM_DATABASE=GW-USMini2N 802.11n Wireless Adapter [Ralink RT2870]

usb:v2019pAB28*
 ID_MODEL_FROM_DATABASE=GW-USNano

usb:v2019pAB29*
 ID_MODEL_FROM_DATABASE=GW-USMicro300

usb:v2019pAB2A*
 ID_MODEL_FROM_DATABASE=GW-USNano2 802.11n Wireless Adapter [Realtek RTL8188CUS]

usb:v2019pAB2B*
 ID_MODEL_FROM_DATABASE=GW-USEco300 802.11bgn Wireless Adapter [Realtek RTL8192CU]

usb:v2019pAB2C*
 ID_MODEL_FROM_DATABASE=GW-USDual300 802.11abgn Wireless Adapter [Realtek RTL8192DU]

usb:v2019pAB50*
 ID_MODEL_FROM_DATABASE=GW-US54Mini2

usb:v2019pC002*
 ID_MODEL_FROM_DATABASE=GW-US54SG

usb:v2019pC007*
 ID_MODEL_FROM_DATABASE=GW-US54GZL

usb:v2019pED02*
 ID_MODEL_FROM_DATABASE=GW-USMM

usb:v2019pED06*
 ID_MODEL_FROM_DATABASE=GW-US300MiniW 802.11bgn Wireless Adapter

usb:v2019pED10*
 ID_MODEL_FROM_DATABASE=GW-US300Mini2

usb:v2019pED14*
 ID_MODEL_FROM_DATABASE=GW-USMicroN

usb:v2019pED16*
 ID_MODEL_FROM_DATABASE=GW-USMicroN2W 802.11bgn Wireless Adapter [Realtek RTL8188SU]

usb:v2019pED17*
 ID_MODEL_FROM_DATABASE=GW-USValue-EZ 802.11n Wireless Adapter [Realtek RTL8188CUS]

usb:v2019pED18*
 ID_MODEL_FROM_DATABASE=GW-USHyper300 / GW-USH300N 802.11bgn Wireless Adapter [Realtek RTL8191SU]

usb:v201E*
 ID_VENDOR_FROM_DATABASE=Haier

usb:v201Ep2009*
 ID_MODEL_FROM_DATABASE=CE100 CDMA EVDO

usb:v203A*
 ID_VENDOR_FROM_DATABASE=PARALLELS

usb:v203D*
 ID_VENDOR_FROM_DATABASE=Encore Electronics Inc.

usb:v203Dp1480*
 ID_MODEL_FROM_DATABASE=ENUWI-N3 [802.11n Wireless N150 Adapter]

usb:v2040*
 ID_VENDOR_FROM_DATABASE=Hauppauge

usb:v2040p0265*
 ID_MODEL_FROM_DATABASE=WinTV-dualHD DVB

usb:v2040p026D*
 ID_MODEL_FROM_DATABASE=WinTV-dualHD ATSC

usb:v2040p0C80*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040p0C90*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040p1605*
 ID_MODEL_FROM_DATABASE=WinTV-HVR 930C HD

usb:v2040p1700*
 ID_MODEL_FROM_DATABASE=CataMount

usb:v2040p1800*
 ID_MODEL_FROM_DATABASE=Okemo A

usb:v2040p1801*
 ID_MODEL_FROM_DATABASE=Okemo B

usb:v2040p2000*
 ID_MODEL_FROM_DATABASE=Tiger Minicard

usb:v2040p2009*
 ID_MODEL_FROM_DATABASE=Tiger Minicard R2

usb:v2040p200A*
 ID_MODEL_FROM_DATABASE=Tiger Minicard

usb:v2040p2010*
 ID_MODEL_FROM_DATABASE=Tiger Minicard

usb:v2040p2011*
 ID_MODEL_FROM_DATABASE=WinTV MiniCard [Dell Digital TV Receiver]

usb:v2040p2019*
 ID_MODEL_FROM_DATABASE=Tiger Minicard

usb:v2040p2400*
 ID_MODEL_FROM_DATABASE=WinTV PVR USB2 (Model 24019)

usb:v2040p4200*
 ID_MODEL_FROM_DATABASE=WinTV

usb:v2040p4700*
 ID_MODEL_FROM_DATABASE=WinTV Nova-S-USB2

usb:v2040p4902*
 ID_MODEL_FROM_DATABASE=HD PVR

usb:v2040p4903*
 ID_MODEL_FROM_DATABASE=HS PVR

usb:v2040p4982*
 ID_MODEL_FROM_DATABASE=HD PVR

usb:v2040p5500*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040p5510*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040p5520*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040p5530*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040p5580*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040p5590*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040p6500*
 ID_MODEL_FROM_DATABASE=WinTV HVR-900

usb:v2040p6502*
 ID_MODEL_FROM_DATABASE=WinTV HVR-900

usb:v2040p6503*
 ID_MODEL_FROM_DATABASE=WinTV HVR-930

usb:v2040p6513*
 ID_MODEL_FROM_DATABASE=WinTV HVR-950/HVR-980

usb:v2040p6600*
 ID_MODEL_FROM_DATABASE=WinTV HVR-900H (Model 660xx)

usb:v2040p7050*
 ID_MODEL_FROM_DATABASE=Nova-T Stick

usb:v2040p7060*
 ID_MODEL_FROM_DATABASE=Nova-T Stick 2

usb:v2040p7070*
 ID_MODEL_FROM_DATABASE=Nova-T Stick 3

usb:v2040p7240*
 ID_MODEL_FROM_DATABASE=WinTV HVR-850

usb:v2040p8400*
 ID_MODEL_FROM_DATABASE=WinTV Nova-T-500

usb:v2040p9300*
 ID_MODEL_FROM_DATABASE=WinTV NOVA-T USB2 (cold)

usb:v2040p9301*
 ID_MODEL_FROM_DATABASE=WinTV NOVA-T USB2 (warm)

usb:v2040p9941*
 ID_MODEL_FROM_DATABASE=WinTV Nova-T-500

usb:v2040p9950*
 ID_MODEL_FROM_DATABASE=WinTV Nova-T-500

usb:v2040pB123*
 ID_MODEL_FROM_DATABASE=WinTV-HVR-955Q

usb:v2040pB138*
 ID_MODEL_FROM_DATABASE=WinTV-HVR-900 model 00246 [WinTV-T Video]

usb:v2040pB910*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040pB980*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040pB990*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040pC000*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2040pC010*
 ID_MODEL_FROM_DATABASE=Windham

usb:v2047*
 ID_VENDOR_FROM_DATABASE=Texas Instruments

usb:v2047p0013*
 ID_MODEL_FROM_DATABASE=MSP eZ-FET lite

usb:v2047p0014*
 ID_MODEL_FROM_DATABASE=MSP-FET

usb:v2047p0200*
 ID_MODEL_FROM_DATABASE=MSP430 Bootloader

usb:v2047p0203*
 ID_MODEL_FROM_DATABASE=eZ-FET Bootloader

usb:v2047p0204*
 ID_MODEL_FROM_DATABASE=MSP-FET Bootloader

usb:v2047p0300*
 ID_MODEL_FROM_DATABASE=MSP430 CDC Example

usb:v2047p0301*
 ID_MODEL_FROM_DATABASE=MSP430 HID Datapipe Example

usb:v2047p0302*
 ID_MODEL_FROM_DATABASE=MSP430 CDC+HID Example

usb:v2047p0309*
 ID_MODEL_FROM_DATABASE=MSP430 HID Mouse Example

usb:v2047p0313*
 ID_MODEL_FROM_DATABASE=MSP430 CDC+CDC Example

usb:v2047p0314*
 ID_MODEL_FROM_DATABASE=MSP430 HID+HID Example

usb:v2047p0315*
 ID_MODEL_FROM_DATABASE=MSP430 HID Keyboard Example

usb:v2047p0316*
 ID_MODEL_FROM_DATABASE=MSP430 MSC File System Emulation Example

usb:v2047p0317*
 ID_MODEL_FROM_DATABASE=MSP430 MSC SD Card Example

usb:v2047p0318*
 ID_MODEL_FROM_DATABASE=MSP430 MSC Multiple LUNs Example

usb:v2047p0319*
 ID_MODEL_FROM_DATABASE=MSP430 MSC+CDC+HID Example

usb:v2047p0320*
 ID_MODEL_FROM_DATABASE=MSP430 SYSBIOS Tasks MSC+CDC+HID Example

usb:v2047p0321*
 ID_MODEL_FROM_DATABASE=MSP430 SYSBIOS SWIs MSC+CDC+HID Example

usb:v2047p0322*
 ID_MODEL_FROM_DATABASE=MSP430 MSC Double-Buffering Example

usb:v2047p0323*
 ID_MODEL_FROM_DATABASE=MSP430 MSC CD-ROM Example

usb:v2047p03DF*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03E0*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03E1*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03E2*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03E3*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03E4*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03E5*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03E6*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03E7*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03E8*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03E9*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03EA*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03EB*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03EC*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03ED*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03EE*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03EF*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03F0*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03F1*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03F2*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03F3*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03F4*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03F5*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03F6*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03F7*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03F8*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03F9*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03FA*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03FB*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03FC*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p03FD*
 ID_MODEL_FROM_DATABASE=MSP430 User Experiment

usb:v2047p0401*
 ID_MODEL_FROM_DATABASE=MSP430 Keyboard Example

usb:v2047p0855*
 ID_MODEL_FROM_DATABASE=Invensense Embedded MotionApp HID Sensor

usb:v2047p08F8*
 ID_MODEL_FROM_DATABASE=FDC2x14/LDC13xx/LDC16xx EVM

usb:v2047p0964*
 ID_MODEL_FROM_DATABASE=Inventio Software MSP430

usb:v2047p0A76*
 ID_MODEL_FROM_DATABASE=GEOKON S-3810A-5 USB-RS485 CONVERTER

usb:v2047pFFE7*
 ID_MODEL_FROM_DATABASE=HID v1.00 Device [Improv Device]

usb:v2058*
 ID_VENDOR_FROM_DATABASE=Nano River Technology

usb:v2058p2058*
 ID_MODEL_FROM_DATABASE=ViperBoard I2C, SPI, GPIO interface

usb:v2077*
 ID_VENDOR_FROM_DATABASE=Taicang T&W Electronics Co. Ltd

usb:v2077p9002*
 ID_MODEL_FROM_DATABASE=W1M100 HSPA/WCDMA Module

usb:v2080*
 ID_VENDOR_FROM_DATABASE=Barnes & Noble

usb:v2080p0001*
 ID_MODEL_FROM_DATABASE=nook

usb:v2080p0002*
 ID_MODEL_FROM_DATABASE=NOOKcolor

usb:v2080p0003*
 ID_MODEL_FROM_DATABASE=NOOK Simple Touch

usb:v2080p0004*
 ID_MODEL_FROM_DATABASE=NOOK Tablet

usb:v2080p0005*
 ID_MODEL_FROM_DATABASE=BNTV600 [Nook HD+]

usb:v2080p0006*
 ID_MODEL_FROM_DATABASE=BNTV400 [Nook HD]

usb:v2080p0007*
 ID_MODEL_FROM_DATABASE=BNRV500 [Nook Glowlight]

usb:v2080p000A*
 ID_MODEL_FROM_DATABASE=BNRV510 [Nook Glowlight Plus]

usb:v2080p000B*
 ID_MODEL_FROM_DATABASE=BNRV520 [Nook Glowlight 3]

usb:v2080p000C*
 ID_MODEL_FROM_DATABASE=BNRV700 [Nook Glowlight Plus]

usb:v2086*
 ID_VENDOR_FROM_DATABASE=SIMPASS

usb:v2087*
 ID_VENDOR_FROM_DATABASE=Cando

usb:v2087p0A01*
 ID_MODEL_FROM_DATABASE=Multi Touch Panel

usb:v2087p0A02*
 ID_MODEL_FROM_DATABASE=Multi Touch Panel

usb:v2087p0B03*
 ID_MODEL_FROM_DATABASE=Multi Touch Panel

usb:v20A0*
 ID_VENDOR_FROM_DATABASE=Clay Logic

usb:v20A0p0006*
 ID_MODEL_FROM_DATABASE=flirc

usb:v20A0p4107*
 ID_MODEL_FROM_DATABASE=GPF Crypto Stick V1.2

usb:v20A0p4108*
 ID_MODEL_FROM_DATABASE=Nitrokey Pro

usb:v20A0p4109*
 ID_MODEL_FROM_DATABASE=Nitrokey Storage

usb:v20A0p4123*
 ID_MODEL_FROM_DATABASE=IKALOGIC SCANALOGIC 2

usb:v20A0p414A*
 ID_MODEL_FROM_DATABASE=MDE SPI Interface

usb:v20A0p415A*
 ID_MODEL_FROM_DATABASE=OpenPilot

usb:v20A0p415B*
 ID_MODEL_FROM_DATABASE=CopterControl

usb:v20A0p415C*
 ID_MODEL_FROM_DATABASE=PipXtreme

usb:v20A0p41E5*
 ID_MODEL_FROM_DATABASE=BlinkStick

usb:v20A0p4211*
 ID_MODEL_FROM_DATABASE=Nitrokey Start

usb:v20A0p4223*
 ID_MODEL_FROM_DATABASE=ATSAMD21 [castAR]

usb:v20A0p4230*
 ID_MODEL_FROM_DATABASE=Nitrokey HSM

usb:v20A0p4287*
 ID_MODEL_FROM_DATABASE=Nitrokey FIDO U2F

usb:v20A0p428D*
 ID_MODEL_FROM_DATABASE=Electrosense wideband converter

usb:v20A0p42B1*
 ID_MODEL_FROM_DATABASE=Nitrokey FIDO2

usb:v20A0p42B2*
 ID_MODEL_FROM_DATABASE=Nitrokey 3A Mini/3A NFC/3C NFC

usb:v20A0p42B4*
 ID_MODEL_FROM_DATABASE=Nitrokey Pro Bootloader

usb:v20A0p42DA*
 ID_MODEL_FROM_DATABASE=MuteMe

usb:v20A0p42DD*
 ID_MODEL_FROM_DATABASE=Nitrokey 3A NFC Bootloader/3C NFC Bootloader

usb:v20A0p42E8*
 ID_MODEL_FROM_DATABASE=Nitrokey 3A Mini Bootloader

usb:v20A0p42EC*
 ID_MODEL_FROM_DATABASE=RP2040 [PicoWifi]

usb:v20B1*
 ID_VENDOR_FROM_DATABASE=XMOS Ltd

usb:v20B1p10AD*
 ID_MODEL_FROM_DATABASE=XUSB Loader

usb:v20B1pF7D1*
 ID_MODEL_FROM_DATABASE=XTAG2 - JTAG Adapter

usb:v20B3*
 ID_VENDOR_FROM_DATABASE=Hanvon

usb:v20B3p0A18*
 ID_MODEL_FROM_DATABASE=10.1 Touch screen overlay

usb:v20B7*
 ID_VENDOR_FROM_DATABASE=Qi Hardware

usb:v20B7p0713*
 ID_MODEL_FROM_DATABASE=Milkymist JTAG/serial

usb:v20B7p1540*
 ID_MODEL_FROM_DATABASE=ben-wpan, AT86RF230-based

usb:v20B7p1DB5*
 ID_MODEL_FROM_DATABASE=IDBG in DFU mode

usb:v20B7p1DB6*
 ID_MODEL_FROM_DATABASE=IDBG in normal mode

usb:v20B7p9DB1*
 ID_MODEL_FROM_DATABASE=Glasgow Debug Tool

usb:v20B7pC25B*
 ID_MODEL_FROM_DATABASE=C2 Dongle

usb:v20B7pCB72*
 ID_MODEL_FROM_DATABASE=ben-wpan, cntr

usb:v20BC*
 ID_VENDOR_FROM_DATABASE=ShenZhen ShanWan Technology Co., Ltd.

usb:v20BCp5500*
 ID_MODEL_FROM_DATABASE=Frostbite controller

usb:v20CE*
 ID_VENDOR_FROM_DATABASE=Minicircuits

usb:v20CEp0012*
 ID_MODEL_FROM_DATABASE=RF Sythesizer 250-4200MHz model SSG-4000LH

usb:v20CEp0021*
 ID_MODEL_FROM_DATABASE=RF Switch Matrix

usb:v20CEp0022*
 ID_MODEL_FROM_DATABASE=I/O Controller

usb:v20DF*
 ID_VENDOR_FROM_DATABASE=Simtec Electronics

usb:v20DFp0001*
 ID_MODEL_FROM_DATABASE=Entropy Key [UDEKEY01]

usb:v20F0*
 ID_VENDOR_FROM_DATABASE=L3Harris Technologies

usb:v20F0p2102*
 ID_MODEL_FROM_DATABASE=EWLA V2 Module

usb:v20F1*
 ID_VENDOR_FROM_DATABASE=NET New Electronic Technology GmbH

usb:v20F1p0101*
 ID_MODEL_FROM_DATABASE=iCube3 Camera

usb:v20F4*
 ID_VENDOR_FROM_DATABASE=TRENDnet

usb:v20F4p646B*
 ID_MODEL_FROM_DATABASE=TEW-646UBH High Power 150Mbps Wireless N Adapter [Realtek RTL8188SU]

usb:v20F4p648B*
 ID_MODEL_FROM_DATABASE=TEW-648UBM 802.11n 150Mbps Micro Wireless N Adapter [Realtek RTL8188CUS]

usb:v20F4p664B*
 ID_MODEL_FROM_DATABASE=TEW-664UB H/W:V2.0R

usb:v20F4p804B*
 ID_MODEL_FROM_DATABASE=TEW-804UB 802.11a/b/g/n/ac (1x1) Wireless Adapter [Realtek RTL8811AU]

usb:v20F4p805B*
 ID_MODEL_FROM_DATABASE=TEW-805UB 300Mbps+867Mbps Wireless AC Adapter [Realtek RTL8812AU]

usb:v20F4p806B*
 ID_MODEL_FROM_DATABASE=TEW-806UBH 802.11a/b/g/n/ac (1x1) Wireless Adapter [MediaTek MT7610U]

usb:v20F7*
 ID_VENDOR_FROM_DATABASE=XIMEA

usb:v20F7p3001*
 ID_MODEL_FROM_DATABASE=MQ or MD camera

usb:v20F7p3002*
 ID_MODEL_FROM_DATABASE=MU camera

usb:v20F7p3021*
 ID_MODEL_FROM_DATABASE=MJ camera

usb:v20F7p30B3*
 ID_MODEL_FROM_DATABASE=MQ in U3V mode or MC camera

usb:v20F7pA003*
 ID_MODEL_FROM_DATABASE=MU camera

usb:v2100*
 ID_VENDOR_FROM_DATABASE=RT Systems

usb:v2100p0E56*
 ID_MODEL_FROM_DATABASE=USB62C Radio Cable [Yaesu 857/D - 897/D]

usb:v2100p9E50*
 ID_MODEL_FROM_DATABASE=USB-59 Radio Cable [Yaesu VX-8/D/DR]

usb:v2100p9E52*
 ID_MODEL_FROM_DATABASE=Yaesu VX-7

usb:v2100p9E54*
 ID_MODEL_FROM_DATABASE=CT29B Radio Cable

usb:v2100p9E57*
 ID_MODEL_FROM_DATABASE=RTS01 Radio Cable

usb:v2100p9E58*
 ID_MODEL_FROM_DATABASE=USB63C Radio Cable [Yaesu FTDX-1200]

usb:v2100p9E5D*
 ID_MODEL_FROM_DATABASE=K4Y Radio Cable

usb:v2100p9E5F*
 ID_MODEL_FROM_DATABASE=FT232RL [RTS05 Serial Cable]

usb:v2101*
 ID_VENDOR_FROM_DATABASE=ActionStar

usb:v2101p0201*
 ID_MODEL_FROM_DATABASE=SIIG 4-to-2 Printer Switch

usb:v2101p1402*
 ID_MODEL_FROM_DATABASE=Keyboard/Mouse Switch

usb:v2104*
 ID_VENDOR_FROM_DATABASE=Tobii Technology AB

usb:v2104p0050*
 ID_MODEL_FROM_DATABASE=Eye tracker [EYEX2]

usb:v2104p0124*
 ID_MODEL_FROM_DATABASE=Eyechip

usb:v2107*
 ID_VENDOR_FROM_DATABASE=RDING TECH CO.,LTD

usb:v2109*
 ID_VENDOR_FROM_DATABASE=VIA Labs, Inc.

usb:v2109p0210*
 ID_MODEL_FROM_DATABASE=Hub

usb:v2109p0700*
 ID_MODEL_FROM_DATABASE=VL700 SATA 3Gb/s bridge

usb:v2109p0701*
 ID_MODEL_FROM_DATABASE=VL701 SATA 3Gb/s bridge

usb:v2109p0711*
 ID_MODEL_FROM_DATABASE=VL711 SATA 6Gb/s bridge

usb:v2109p0715*
 ID_MODEL_FROM_DATABASE=VL817 SATA Adaptor

usb:v2109p0810*
 ID_MODEL_FROM_DATABASE=VL81x Hub

usb:v2109p0811*
 ID_MODEL_FROM_DATABASE=Hub

usb:v2109p0812*
 ID_MODEL_FROM_DATABASE=VL812 Hub

usb:v2109p0813*
 ID_MODEL_FROM_DATABASE=VL813 Hub

usb:v2109p0820*
 ID_MODEL_FROM_DATABASE=VL820 Hub

usb:v2109p2210*
 ID_MODEL_FROM_DATABASE=Hub

usb:v2109p2811*
 ID_MODEL_FROM_DATABASE=Hub

usb:v2109p2812*
 ID_MODEL_FROM_DATABASE=VL812 Hub

usb:v2109p2813*
 ID_MODEL_FROM_DATABASE=VL813 Hub

usb:v2109p2820*
 ID_MODEL_FROM_DATABASE=VL820 Hub

usb:v2109p3431*
 ID_MODEL_FROM_DATABASE=Hub

usb:v2109p711F*
 ID_MODEL_FROM_DATABASE=External

usb:v2109p8110*
 ID_MODEL_FROM_DATABASE=Hub

usb:v2113*
 ID_VENDOR_FROM_DATABASE=Softkinetic

usb:v2113p0137*
 ID_MODEL_FROM_DATABASE=DepthSense 311 (3D)

usb:v2113p0145*
 ID_MODEL_FROM_DATABASE=DepthSense 325

usb:v2113p8000*
 ID_MODEL_FROM_DATABASE=DepthSense 311 (Color)

usb:v2116*
 ID_VENDOR_FROM_DATABASE=KT Tech

usb:v2116p000A*
 ID_MODEL_FROM_DATABASE=IDE Hard Drive Enclosure

usb:v211F*
 ID_VENDOR_FROM_DATABASE=CELOT Corporation

usb:v211Fp6801*
 ID_MODEL_FROM_DATABASE=CDMA Products

usb:v2123*
 ID_VENDOR_FROM_DATABASE=Cheeky Dream

usb:v2123p1010*
 ID_MODEL_FROM_DATABASE=Rocket Launcher

usb:v2125*
 ID_VENDOR_FROM_DATABASE=Fiberpro Inc.

usb:v2125p0000*
 ID_MODEL_FROM_DATABASE=Bootloader

usb:v2125p0010*
 ID_MODEL_FROM_DATABASE=MCB-100 Series

usb:v2133*
 ID_VENDOR_FROM_DATABASE=signotec GmbH

usb:v2133p0001*
 ID_MODEL_FROM_DATABASE=LCD Signature Pad Sigma

usb:v2133p0018*
 ID_MODEL_FROM_DATABASE=Delta Pen

usb:v2133p0019*
 ID_MODEL_FROM_DATABASE=Delta Touch

usb:v2133p001C*
 ID_MODEL_FROM_DATABASE=Kronos Pen

usb:v2133p0022*
 ID_MODEL_FROM_DATABASE=Epsilon Pen

usb:v2149*
 ID_VENDOR_FROM_DATABASE=Advanced Silicon S.A.

usb:v2149p211B*
 ID_MODEL_FROM_DATABASE=Touchscreen Controller

usb:v2149p2306*
 ID_MODEL_FROM_DATABASE=TS58xxA/TC56xxA [CoolTouch]

usb:v2149p2703*
 ID_MODEL_FROM_DATABASE=TS58xxA/TC56xxA [CoolTouch]

usb:v214B*
 ID_VENDOR_FROM_DATABASE=Huasheng Electronics

usb:v214Bp7000*
 ID_MODEL_FROM_DATABASE=4-port hub [Maxxter ACT-HUB2-4P, HS8836, iSoul ultra-slim]

usb:v214E*
 ID_VENDOR_FROM_DATABASE=Swiftpoint

usb:v214Ep0005*
 ID_MODEL_FROM_DATABASE=Z - Gaming mouse [SM700]

usb:v2162*
 ID_VENDOR_FROM_DATABASE=Broadxent (Creative Labs)

usb:v2162p2031*
 ID_MODEL_FROM_DATABASE=Network Blaster Wireless Adapter

usb:v2162p500C*
 ID_MODEL_FROM_DATABASE=DE5771 Modem Blaster

usb:v2162p8001*
 ID_MODEL_FROM_DATABASE=Broadxent BritePort DSL Bridge 8010U

usb:v2166*
 ID_VENDOR_FROM_DATABASE=JVC Kenwood

usb:v2166p600B*
 ID_MODEL_FROM_DATABASE=TH-D74

usb:v2184*
 ID_VENDOR_FROM_DATABASE=GW Instek

usb:v2184p0005*
 ID_MODEL_FROM_DATABASE=GDS-3000 Oscilloscope

usb:v2184p0006*
 ID_MODEL_FROM_DATABASE=GDS-3000 Oscilloscope

usb:v2184p0011*
 ID_MODEL_FROM_DATABASE=AFG Function Generator (CDC)

usb:v2184p0017*
 ID_MODEL_FROM_DATABASE=DSO

usb:v2184p0018*
 ID_MODEL_FROM_DATABASE=DSO

usb:v2184p0036*
 ID_MODEL_FROM_DATABASE=AFG-125 Function Generator (CDC)

usb:v2188*
 ID_VENDOR_FROM_DATABASE=No brand

usb:v2188p0610*
 ID_MODEL_FROM_DATABASE=Hub

usb:v2188p0611*
 ID_MODEL_FROM_DATABASE=Hub

usb:v2188p0620*
 ID_MODEL_FROM_DATABASE=Hub

usb:v2188p0625*
 ID_MODEL_FROM_DATABASE=Hub

usb:v2188p0754*
 ID_MODEL_FROM_DATABASE=Card Reader

usb:v2188p4042*
 ID_MODEL_FROM_DATABASE=CalDigit Pro Audio

usb:v219C*
 ID_VENDOR_FROM_DATABASE=Seal One AG

usb:v219Cp0010*
 ID_MODEL_FROM_DATABASE=USB 2200 K Secure Sign Token

usb:v21A1*
 ID_VENDOR_FROM_DATABASE=Emotiv Systems Pty. Ltd.

usb:v21A1p0001*
 ID_MODEL_FROM_DATABASE=EPOC Consumer Headset Wireless Dongle

usb:v21A4*
 ID_VENDOR_FROM_DATABASE=Electronic Arts Inc.

usb:v21A4pAC27*
 ID_MODEL_FROM_DATABASE=SPORTS Active 2 Wireless Controller for PS3

usb:v21A4pAC40*
 ID_MODEL_FROM_DATABASE=SPORTS Active 2 Wireless Controller for Wii

usb:v21A9*
 ID_VENDOR_FROM_DATABASE=Saleae, Inc.

usb:v21A9p1001*
 ID_MODEL_FROM_DATABASE=16-channel Logic Analyzer [Logic16]

usb:v21A9p1003*
 ID_MODEL_FROM_DATABASE=Logic 4

usb:v21A9p1004*
 ID_MODEL_FROM_DATABASE=Logic8

usb:v21A9p1005*
 ID_MODEL_FROM_DATABASE=Logic Pro 8

usb:v21A9p1006*
 ID_MODEL_FROM_DATABASE=Logic Pro 16

usb:v21AB*
 ID_VENDOR_FROM_DATABASE=Planeta Informatica

usb:v21ABp0010*
 ID_MODEL_FROM_DATABASE=RC700 NFC SmartCard Reader

usb:v21ABp0011*
 ID_MODEL_FROM_DATABASE=DSR700 SmartCard Reader

usb:v21B4*
 ID_VENDOR_FROM_DATABASE=AudioQuest

usb:v21B4p0081*
 ID_MODEL_FROM_DATABASE=DragonFly

usb:v21B4p0082*
 ID_MODEL_FROM_DATABASE=DragonFly Red

usb:v21D6*
 ID_VENDOR_FROM_DATABASE=Agecodagis SARL

usb:v21D6p0002*
 ID_MODEL_FROM_DATABASE=Seismic recorder [Tellus]

usb:v2207*
 ID_VENDOR_FROM_DATABASE=Fuzhou Rockchip Electronics Company

usb:v2207p0010*
 ID_MODEL_FROM_DATABASE=GoClever Tab R83

usb:v2207p0011*
 ID_MODEL_FROM_DATABASE=SmartTab

usb:v2207p281A*
 ID_MODEL_FROM_DATABASE=RK2818 in Mask ROM mode

usb:v2207p290A*
 ID_MODEL_FROM_DATABASE=RK2918 in Mask ROM mode

usb:v2207p292A*
 ID_MODEL_FROM_DATABASE=RK2928 in Mask ROM mode

usb:v2207p292C*
 ID_MODEL_FROM_DATABASE=RK3026 in Mask ROM mode

usb:v2207p300A*
 ID_MODEL_FROM_DATABASE=RK3066 in Mask ROM mode

usb:v2207p300B*
 ID_MODEL_FROM_DATABASE=RK3168 in Mask ROM mode

usb:v2207p301A*
 ID_MODEL_FROM_DATABASE=RK3036 in Mask ROM mode

usb:v2207p310A*
 ID_MODEL_FROM_DATABASE=RK3066B in Mask ROM mode

usb:v2207p310B*
 ID_MODEL_FROM_DATABASE=RK3188 in Mask ROM mode

usb:v2207p310C*
 ID_MODEL_FROM_DATABASE=RK3126/RK3128 in Mask ROM mode

usb:v2207p310D*
 ID_MODEL_FROM_DATABASE=RK3126 in Mask ROM mode

usb:v2207p320A*
 ID_MODEL_FROM_DATABASE=RK3288 in Mask ROM mode

usb:v2207p320B*
 ID_MODEL_FROM_DATABASE=RK3228/RK3229 in Mask ROM mode

usb:v2207p320C*
 ID_MODEL_FROM_DATABASE=RK3328 in Mask ROM mode

usb:v2207p330A*
 ID_MODEL_FROM_DATABASE=RK3368 in Mask ROM mode

usb:v2207p330C*
 ID_MODEL_FROM_DATABASE=RK3399 in Mask ROM mode

usb:v221A*
 ID_VENDOR_FROM_DATABASE=ZTEX GmbH

usb:v221Ap0100*
 ID_MODEL_FROM_DATABASE=FPGA Boards

usb:v2222*
 ID_VENDOR_FROM_DATABASE=MacAlly

usb:v2222p0004*
 ID_MODEL_FROM_DATABASE=iWebKey Keyboard

usb:v2222p0005*
 ID_MODEL_FROM_DATABASE=ICEKey Keyboard

usb:v2222p1001*
 ID_MODEL_FROM_DATABASE=Generic Hub

usb:v2222p2520*
 ID_MODEL_FROM_DATABASE=Mini Tablet

usb:v2222p4050*
 ID_MODEL_FROM_DATABASE=AirStick joystick

usb:v2226*
 ID_VENDOR_FROM_DATABASE=Copper Mountain technologies

usb:v2227*
 ID_VENDOR_FROM_DATABASE=SAMWOO Enterprise

usb:v2227p3105*
 ID_MODEL_FROM_DATABASE=SKYDATA SKD-U100

usb:v222A*
 ID_VENDOR_FROM_DATABASE=ILI Technology Corp.

usb:v222Ap0001*
 ID_MODEL_FROM_DATABASE=Multi-Touch Screen

usb:v222Ap0037*
 ID_MODEL_FROM_DATABASE=Multi-Touch Screen

usb:v2230*
 ID_VENDOR_FROM_DATABASE=Plugable

usb:v2230p0001*
 ID_MODEL_FROM_DATABASE=UD-160-A / M Integrated Hub

usb:v2230p0003*
 ID_MODEL_FROM_DATABASE=DC-125 / M Integrated Hub

usb:v2232*
 ID_VENDOR_FROM_DATABASE=Silicon Motion

usb:v2232p1005*
 ID_MODEL_FROM_DATABASE=WebCam SCB-0385N

usb:v2232p1024*
 ID_MODEL_FROM_DATABASE=Webcam SC-13HDL11624N [Namuga Co., Ltd.]

usb:v2232p1028*
 ID_MODEL_FROM_DATABASE=WebCam SC-03FFL11939N

usb:v2232p1029*
 ID_MODEL_FROM_DATABASE=WebCam SC-13HDL11939N

usb:v2232p1037*
 ID_MODEL_FROM_DATABASE=WebCam SC-03FFM12339N

usb:v2232p1045*
 ID_MODEL_FROM_DATABASE=WebCam SC-10HDP12631N

usb:v2233*
 ID_VENDOR_FROM_DATABASE=RadioShack Corporation

usb:v2233p6323*
 ID_MODEL_FROM_DATABASE=USB Electronic Scale

usb:v2237*
 ID_VENDOR_FROM_DATABASE=Kobo Inc.

usb:v2237p4161*
 ID_MODEL_FROM_DATABASE=eReader White

usb:v2237p4163*
 ID_MODEL_FROM_DATABASE=Touch

usb:v2237p4173*
 ID_MODEL_FROM_DATABASE=Glo

usb:v2245*
 ID_VENDOR_FROM_DATABASE=Aspeed Technology, Inc.

usb:v2245p1500*
 ID_MODEL_FROM_DATABASE=AST1500/1510 PC-over-LAN Virtual Hub

usb:v224F*
 ID_VENDOR_FROM_DATABASE=APDM

usb:v224Fp0001*
 ID_MODEL_FROM_DATABASE=Access Point

usb:v224Fp0002*
 ID_MODEL_FROM_DATABASE=Docking Station

usb:v224Fp0004*
 ID_MODEL_FROM_DATABASE=V2 Opal ACM

usb:v224Fp0005*
 ID_MODEL_FROM_DATABASE=V2 Opal

usb:v224Fp0006*
 ID_MODEL_FROM_DATABASE=V2 Docking Station

usb:v224Fp0007*
 ID_MODEL_FROM_DATABASE=V2 Access Point ACM

usb:v224Fp0008*
 ID_MODEL_FROM_DATABASE=V2 Access Point

usb:v2256*
 ID_VENDOR_FROM_DATABASE=Faderfox

usb:v2256p1007*
 ID_MODEL_FROM_DATABASE=LV3 MIDI Controller

usb:v225D*
 ID_VENDOR_FROM_DATABASE=Morpho

usb:v225Dp0001*
 ID_MODEL_FROM_DATABASE=FINGER VP Multimodal Biometric Sensor

usb:v225Dp0008*
 ID_MODEL_FROM_DATABASE=CBM-E3 Fingerprint Sensor

usb:v225Dp0009*
 ID_MODEL_FROM_DATABASE=CBM-V3 Fingerprint Sensor

usb:v225Dp000A*
 ID_MODEL_FROM_DATABASE=MSO1300-E3 Fingerprint Sensor

usb:v225Dp000B*
 ID_MODEL_FROM_DATABASE=MSO1300-V3 Fingerprint Sensor

usb:v225Dp000C*
 ID_MODEL_FROM_DATABASE=MSO1350-E3 Fingerprint Sensor & SmartCard Reader

usb:v225Dp000D*
 ID_MODEL_FROM_DATABASE=MSO1350-V3 Fingerprint Sensor & SmartCard Reader

usb:v225Dp000E*
 ID_MODEL_FROM_DATABASE=MorphoAccess SIGMA Biometric Access Control Terminal

usb:v225Dp9015*
 ID_MODEL_FROM_DATABASE=Tablet 2

usb:v225Dp9024*
 ID_MODEL_FROM_DATABASE=Tablet 2

usb:v225Dp9039*
 ID_MODEL_FROM_DATABASE=Tablet 2 secure multifunction biometric tablet

usb:v225Dp904D*
 ID_MODEL_FROM_DATABASE=Tablet 2 secure multifunction biometric tablet

usb:v225Dp904E*
 ID_MODEL_FROM_DATABASE=Tablet 2 secure multifunction biometric tablet

usb:v225Dp9091*
 ID_MODEL_FROM_DATABASE=Tablet 2 secure multifunction biometric tablet

usb:v225Dp9092*
 ID_MODEL_FROM_DATABASE=Tablet 2 secure multifunction biometric tablet

usb:v225DpF000*
 ID_MODEL_FROM_DATABASE=Tablet 2 secure multifunction biometric tablet

usb:v225DpF003*
 ID_MODEL_FROM_DATABASE=Tablet 2 secure multifunction biometric tablet

usb:v225DpF006*
 ID_MODEL_FROM_DATABASE=Tablet 2 secure multifunction biometric tablet

usb:v225DpF00E*
 ID_MODEL_FROM_DATABASE=Tablet 2 secure multifunction biometric tablet

usb:v226E*
 ID_VENDOR_FROM_DATABASE=DISPLAX

usb:v228D*
 ID_VENDOR_FROM_DATABASE=8D Technologies inc.

usb:v228Dp0001*
 ID_MODEL_FROM_DATABASE=Terminal Bike Key Reader

usb:v22A4*
 ID_VENDOR_FROM_DATABASE=VERZO Technology

usb:v22A6*
 ID_VENDOR_FROM_DATABASE=Pie Digital, Inc.

usb:v22A6pFFFF*
 ID_MODEL_FROM_DATABASE=PieKey "beta" 4GB model 4E4F41482E4F5247 (SM3251Q BB)

usb:v22A7*
 ID_VENDOR_FROM_DATABASE=Fortinet Technologies

usb:v22A7p1001*
 ID_MODEL_FROM_DATABASE=FortiGate Device

usb:v22B1*
 ID_VENDOR_FROM_DATABASE=Secret Labs LLC

usb:v22B1p1000*
 ID_MODEL_FROM_DATABASE=Netduino MCU pcb

usb:v22B8*
 ID_VENDOR_FROM_DATABASE=Motorola PCS

usb:v22B8p0001*
 ID_MODEL_FROM_DATABASE=Wally 2.2 chipset

usb:v22B8p0002*
 ID_MODEL_FROM_DATABASE=Wally 2.4 chipset

usb:v22B8p0005*
 ID_MODEL_FROM_DATABASE=V.60c/V.60i GSM Phone

usb:v22B8p002E*
 ID_MODEL_FROM_DATABASE=XT1806

usb:v22B8p0830*
 ID_MODEL_FROM_DATABASE=2386C-HT820

usb:v22B8p0833*
 ID_MODEL_FROM_DATABASE=2386C-HT820 [Flash Mode]

usb:v22B8p0850*
 ID_MODEL_FROM_DATABASE=Bluetooth Device

usb:v22B8p1001*
 ID_MODEL_FROM_DATABASE=Patriot 1.0 (GSM) chipset

usb:v22B8p1002*
 ID_MODEL_FROM_DATABASE=Patriot 2.0 chipset

usb:v22B8p1005*
 ID_MODEL_FROM_DATABASE=T280e GSM/GPRS Phone

usb:v22B8p1101*
 ID_MODEL_FROM_DATABASE=Patriot 1.0 (TDMA) chipset

usb:v22B8p1801*
 ID_MODEL_FROM_DATABASE=Rainbow chipset flash

usb:v22B8p2035*
 ID_MODEL_FROM_DATABASE=Bluetooth Device

usb:v22B8p2805*
 ID_MODEL_FROM_DATABASE=GSM Modem

usb:v22B8p2821*
 ID_MODEL_FROM_DATABASE=T720 GSM Phone

usb:v22B8p2822*
 ID_MODEL_FROM_DATABASE=V.120e GSM Phone

usb:v22B8p2823*
 ID_MODEL_FROM_DATABASE=Flash Interface

usb:v22B8p2A01*
 ID_MODEL_FROM_DATABASE=MSM6050 chipset

usb:v22B8p2A02*
 ID_MODEL_FROM_DATABASE=CDMA modem

usb:v22B8p2A03*
 ID_MODEL_FROM_DATABASE=MSM6050 chipset flash

usb:v22B8p2A21*
 ID_MODEL_FROM_DATABASE=V710 GSM Phone (P2K)

usb:v22B8p2A22*
 ID_MODEL_FROM_DATABASE=V710 GSM Phone (AT)

usb:v22B8p2A23*
 ID_MODEL_FROM_DATABASE=MSM6100 chipset flash

usb:v22B8p2A41*
 ID_MODEL_FROM_DATABASE=MSM6300 chipset

usb:v22B8p2A42*
 ID_MODEL_FROM_DATABASE=Usb Modem

usb:v22B8p2A43*
 ID_MODEL_FROM_DATABASE=MSM6300 chipset flash

usb:v22B8p2A61*
 ID_MODEL_FROM_DATABASE=E815 GSM Phone (P2K)

usb:v22B8p2A62*
 ID_MODEL_FROM_DATABASE=E815 GSM Phone (AT)

usb:v22B8p2A63*
 ID_MODEL_FROM_DATABASE=MSM6500 chipset flash

usb:v22B8p2A81*
 ID_MODEL_FROM_DATABASE=MSM6025 chipset

usb:v22B8p2A83*
 ID_MODEL_FROM_DATABASE=MSM6025 chipset flash

usb:v22B8p2AC1*
 ID_MODEL_FROM_DATABASE=MSM6100 chipset

usb:v22B8p2AC3*
 ID_MODEL_FROM_DATABASE=MSM6100 chipset flash

usb:v22B8p2D78*
 ID_MODEL_FROM_DATABASE=XT300[SPICE]

usb:v22B8p2E82*
 ID_MODEL_FROM_DATABASE=XT1541 [Moto G 3rd Gen]

usb:v22B8p2E83*
 ID_MODEL_FROM_DATABASE=XT1033 [Moto G], PTP mode

usb:v22B8p3001*
 ID_MODEL_FROM_DATABASE=A835/E1000 GSM Phone (P2K)

usb:v22B8p3002*
 ID_MODEL_FROM_DATABASE=A835/E1000 GSM Phone (AT)

usb:v22B8p3801*
 ID_MODEL_FROM_DATABASE=C350L/C450 (P2K)

usb:v22B8p3802*
 ID_MODEL_FROM_DATABASE=C330/C350L/C450/EZX GSM Phone (AT)

usb:v22B8p3803*
 ID_MODEL_FROM_DATABASE=Neptune LT chipset flash

usb:v22B8p4001*
 ID_MODEL_FROM_DATABASE=OMAP 1.0 chipset

usb:v22B8p4002*
 ID_MODEL_FROM_DATABASE=A920/A925 UMTS Phone

usb:v22B8p4003*
 ID_MODEL_FROM_DATABASE=OMAP 1.0 chipset flash

usb:v22B8p4008*
 ID_MODEL_FROM_DATABASE=OMAP 1.0 chipset RDL

usb:v22B8p41D6*
 ID_MODEL_FROM_DATABASE=Droid X (Windows media mode)

usb:v22B8p41D9*
 ID_MODEL_FROM_DATABASE=Droid/Milestone

usb:v22B8p41DB*
 ID_MODEL_FROM_DATABASE=Droid/Milestone (Debug mode)

usb:v22B8p41DE*
 ID_MODEL_FROM_DATABASE=Droid X (PC mode)

usb:v22B8p4204*
 ID_MODEL_FROM_DATABASE=MPx200 Smartphone

usb:v22B8p4214*
 ID_MODEL_FROM_DATABASE=MPc GSM

usb:v22B8p4224*
 ID_MODEL_FROM_DATABASE=MPx220 Smartphone

usb:v22B8p4234*
 ID_MODEL_FROM_DATABASE=MPc CDMA

usb:v22B8p4244*
 ID_MODEL_FROM_DATABASE=MPx100 Smartphone

usb:v22B8p4285*
 ID_MODEL_FROM_DATABASE=Droid X (Mass storage)

usb:v22B8p42D9*
 ID_MODEL_FROM_DATABASE=XT910 [Droid RAZR]

usb:v22B8p4801*
 ID_MODEL_FROM_DATABASE=Neptune LTS chipset

usb:v22B8p4803*
 ID_MODEL_FROM_DATABASE=Neptune LTS chipset flash

usb:v22B8p4810*
 ID_MODEL_FROM_DATABASE=Triplet GSM Phone (storage)

usb:v22B8p4901*
 ID_MODEL_FROM_DATABASE=Triplet GSM Phone (P2K)

usb:v22B8p4902*
 ID_MODEL_FROM_DATABASE=Triplet GSM Phone (AT)

usb:v22B8p4903*
 ID_MODEL_FROM_DATABASE=Neptune LTE chipset flash

usb:v22B8p4A01*
 ID_MODEL_FROM_DATABASE=Neptune LTX chipset

usb:v22B8p4A03*
 ID_MODEL_FROM_DATABASE=Neptune LTX chipset flash

usb:v22B8p4A32*
 ID_MODEL_FROM_DATABASE=L6-imode Phone

usb:v22B8p5801*
 ID_MODEL_FROM_DATABASE=Neptune ULS chipset

usb:v22B8p5803*
 ID_MODEL_FROM_DATABASE=Neptune ULS chipset flash

usb:v22B8p5901*
 ID_MODEL_FROM_DATABASE=Neptune VLT chipset

usb:v22B8p5903*
 ID_MODEL_FROM_DATABASE=Neptune VLT chipset flash

usb:v22B8p6001*
 ID_MODEL_FROM_DATABASE=Dalhart EZX

usb:v22B8p6003*
 ID_MODEL_FROM_DATABASE=Dalhart flash

usb:v22B8p6004*
 ID_MODEL_FROM_DATABASE=EZX GSM Phone (CDC Net)

usb:v22B8p6006*
 ID_MODEL_FROM_DATABASE=MOTOROKR E6

usb:v22B8p6008*
 ID_MODEL_FROM_DATABASE=Dalhart RDL

usb:v22B8p6009*
 ID_MODEL_FROM_DATABASE=EZX GSM Phone (P2K)

usb:v22B8p600A*
 ID_MODEL_FROM_DATABASE=Dalhart EZX config 17

usb:v22B8p600B*
 ID_MODEL_FROM_DATABASE=Dalhart EZX config 18

usb:v22B8p600C*
 ID_MODEL_FROM_DATABASE=EZX GSM Phone (USBLAN)

usb:v22B8p6021*
 ID_MODEL_FROM_DATABASE=JUIX chipset

usb:v22B8p6023*
 ID_MODEL_FROM_DATABASE=JUIX chipset flash

usb:v22B8p6026*
 ID_MODEL_FROM_DATABASE=Flash RAM Downloader/miniOS

usb:v22B8p6027*
 ID_MODEL_FROM_DATABASE=USBLAN

usb:v22B8p604C*
 ID_MODEL_FROM_DATABASE=EZX GSM Phone (Storage)

usb:v22B8p6101*
 ID_MODEL_FROM_DATABASE=Talon integrated chipset

usb:v22B8p6401*
 ID_MODEL_FROM_DATABASE=Argon chipset

usb:v22B8p6403*
 ID_MODEL_FROM_DATABASE=Argon chipset flash

usb:v22B8p6411*
 ID_MODEL_FROM_DATABASE=ROKR Z6 (print mode)

usb:v22B8p6415*
 ID_MODEL_FROM_DATABASE=ROKR Z6 (MTP mode)

usb:v22B8p6422*
 ID_MODEL_FROM_DATABASE=ROKR Z6 (modem mode)

usb:v22B8p6426*
 ID_MODEL_FROM_DATABASE=ROKR Z6 (storage mode)

usb:v22B8p6604*
 ID_MODEL_FROM_DATABASE=Washington CDMA Phone

usb:v22B8p6631*
 ID_MODEL_FROM_DATABASE=CDC Modem

usb:v22B8p7001*
 ID_MODEL_FROM_DATABASE=Q Smartphone

usb:v22B8p7086*
 ID_MODEL_FROM_DATABASE=Atrix

usb:v22B8p70A8*
 ID_MODEL_FROM_DATABASE=Xoom Tablet

usb:v22B8pFE01*
 ID_MODEL_FROM_DATABASE=StarTAC III MS900

usb:v22B9*
 ID_VENDOR_FROM_DATABASE=eTurboTouch Technology, Inc.

usb:v22B9p0006*
 ID_MODEL_FROM_DATABASE=Touch Screen

usb:v22BA*
 ID_VENDOR_FROM_DATABASE=Technology Innovation Holdings, Ltd

usb:v22BAp0108*
 ID_MODEL_FROM_DATABASE=Double Shock Steering Wheel HID

usb:v22BAp0109*
 ID_MODEL_FROM_DATABASE=Double Shock Steering Wheel Hub

usb:v22C9*
 ID_VENDOR_FROM_DATABASE=StepOver GmbH

usb:v22C9p0601*
 ID_MODEL_FROM_DATABASE=naturaSign Pad Colour

usb:v22C9p0701*
 ID_MODEL_FROM_DATABASE=naturaSign Pad Mobile

usb:v22C9p0801*
 ID_MODEL_FROM_DATABASE=naturaSign Pad Comfort

usb:v22C9p0881*
 ID_MODEL_FROM_DATABASE=naturaSign Pad Flawless

usb:v22C9p0901*
 ID_MODEL_FROM_DATABASE=naturaSign Pad Classic

usb:v22C9p09E1*
 ID_MODEL_FROM_DATABASE=naturaSign Pad Biometric

usb:v22C9p0CE1*
 ID_MODEL_FROM_DATABASE=duraSign Pad Brilliance

usb:v22C9p0CF1*
 ID_MODEL_FROM_DATABASE=duraSign Pad Biometric 5.0

usb:v22C9p0D01*
 ID_MODEL_FROM_DATABASE=duraSign 10.0

usb:v22C9p0DF1*
 ID_MODEL_FROM_DATABASE=duraSign Pad Biometric 10.0

usb:v22CD*
 ID_VENDOR_FROM_DATABASE=Kinova Robotics Inc.

usb:v22D4*
 ID_VENDOR_FROM_DATABASE=Laview Technology

usb:v22D4p1301*
 ID_MODEL_FROM_DATABASE=Mionix NAOS 8200 [STM32F103 MCU]

usb:v22D4p1308*
 ID_MODEL_FROM_DATABASE=Mionix Avior 7000

usb:v22D4p130C*
 ID_MODEL_FROM_DATABASE=Mionix Naos 7000

usb:v22D4p1316*
 ID_MODEL_FROM_DATABASE=Mionix Castor

usb:v22D9*
 ID_VENDOR_FROM_DATABASE=OPPO Electronics Corp.

usb:v22D9p2765*
 ID_MODEL_FROM_DATABASE=Oppo N1

usb:v22D9p2767*
 ID_MODEL_FROM_DATABASE=Oppo Find 5 (X909)

usb:v22DB*
 ID_VENDOR_FROM_DATABASE=Phase One

usb:v22DBp0003*
 ID_MODEL_FROM_DATABASE=IQ3 100MP IG030372

usb:v22DC*
 ID_VENDOR_FROM_DATABASE=Mellanox Technologies

usb:v22DCp0004*
 ID_MODEL_FROM_DATABASE=BlueField SOC

usb:v22DE*
 ID_VENDOR_FROM_DATABASE=WeTelecom Incorporated

usb:v22DF*
 ID_VENDOR_FROM_DATABASE=Medicom MTD, Ltd

usb:v22E0*
 ID_VENDOR_FROM_DATABASE=secunet Security Networks AG

usb:v22E0p0002*
 ID_MODEL_FROM_DATABASE=SINA Flash Drive

usb:v22E0p0003*
 ID_MODEL_FROM_DATABASE=SINA ID Token A

usb:v22E8*
 ID_VENDOR_FROM_DATABASE=Cambridge Audio

usb:v22E8p6512*
 ID_MODEL_FROM_DATABASE=651N Audio

usb:v22E8p6969*
 ID_MODEL_FROM_DATABASE=Audio Prototype

usb:v22E8p7512*
 ID_MODEL_FROM_DATABASE=751R Audio

usb:v22E8p770A*
 ID_MODEL_FROM_DATABASE=X70A Audio

usb:v22E8p850C*
 ID_MODEL_FROM_DATABASE=851C Audio [Azur 850C]

usb:v22E8p851D*
 ID_MODEL_FROM_DATABASE=851D Audio [Azur 851D]

usb:v22E8pCA02*
 ID_MODEL_FROM_DATABASE=Audio

usb:v22E8pCA04*
 ID_MODEL_FROM_DATABASE=Audio

usb:v22E8pCA06*
 ID_MODEL_FROM_DATABASE=AmpMagic

usb:v22E8pDAC2*
 ID_MODEL_FROM_DATABASE=DacMagic Plus

usb:v22E8pDAC3*
 ID_MODEL_FROM_DATABASE=Azur DacMagic 100

usb:v22E8pDAC4*
 ID_MODEL_FROM_DATABASE=Azur DacMagic 100

usb:v22E8pDAC6*
 ID_MODEL_FROM_DATABASE=DacMagicXS 2.0

usb:v22E8pDAC8*
 ID_MODEL_FROM_DATABASE=Audio

usb:v2304*
 ID_VENDOR_FROM_DATABASE=Pinnacle Systems, Inc.

usb:v2304p0109*
 ID_MODEL_FROM_DATABASE=Studio PCTV USB (SECAM)

usb:v2304p0110*
 ID_MODEL_FROM_DATABASE=Studio PCTV USB (PAL)

usb:v2304p0111*
 ID_MODEL_FROM_DATABASE=Miro PCTV USB

usb:v2304p0112*
 ID_MODEL_FROM_DATABASE=Studio PCTV USB (NTSC) with FM radio

usb:v2304p0201*
 ID_MODEL_FROM_DATABASE=Systems MovieBox Device

usb:v2304p0204*
 ID_MODEL_FROM_DATABASE=MovieBox USB_B

usb:v2304p0205*
 ID_MODEL_FROM_DATABASE=DVC 150B

usb:v2304p0206*
 ID_MODEL_FROM_DATABASE=Systems MovieBox Deluxe Device

usb:v2304p0207*
 ID_MODEL_FROM_DATABASE=Dazzle DVC90 Video Device

usb:v2304p0208*
 ID_MODEL_FROM_DATABASE=Studio PCTV USB2

usb:v2304p020E*
 ID_MODEL_FROM_DATABASE=PCTV 200e

usb:v2304p020F*
 ID_MODEL_FROM_DATABASE=PCTV 400e BDA Device

usb:v2304p0210*
 ID_MODEL_FROM_DATABASE=Studio PCTV USB (PAL) with FM radio

usb:v2304p0212*
 ID_MODEL_FROM_DATABASE=Studio PCTV USB (NTSC)

usb:v2304p0213*
 ID_MODEL_FROM_DATABASE=500-USB Device

usb:v2304p0214*
 ID_MODEL_FROM_DATABASE=Studio PCTV USB (PAL) with FM radio

usb:v2304p0216*
 ID_MODEL_FROM_DATABASE=PCTV 60e

usb:v2304p0219*
 ID_MODEL_FROM_DATABASE=PCTV 260e

usb:v2304p021A*
 ID_MODEL_FROM_DATABASE=Dazzle DVC100 Audio Device

usb:v2304p021B*
 ID_MODEL_FROM_DATABASE=Dazzle DVC130/DVC170

usb:v2304p021D*
 ID_MODEL_FROM_DATABASE=Dazzle DVC130

usb:v2304p021E*
 ID_MODEL_FROM_DATABASE=Dazzle DVC170

usb:v2304p021F*
 ID_MODEL_FROM_DATABASE=PCTV Sat HDTV Pro BDA Device

usb:v2304p0222*
 ID_MODEL_FROM_DATABASE=PCTV Sat Pro BDA Device

usb:v2304p0223*
 ID_MODEL_FROM_DATABASE=DazzleTV Sat BDA Device

usb:v2304p0225*
 ID_MODEL_FROM_DATABASE=Remote Kit Infrared Transceiver

usb:v2304p0226*
 ID_MODEL_FROM_DATABASE=PCTV 330e

usb:v2304p0227*
 ID_MODEL_FROM_DATABASE=PCTV for Mac, HD Stick

usb:v2304p0228*
 ID_MODEL_FROM_DATABASE=PCTV DVB-T Flash Stick

usb:v2304p0229*
 ID_MODEL_FROM_DATABASE=PCTV Dual DVB-T 2001e

usb:v2304p022A*
 ID_MODEL_FROM_DATABASE=PCTV 160e

usb:v2304p022B*
 ID_MODEL_FROM_DATABASE=PCTV 71e [Afatech AF9015]

usb:v2304p0232*
 ID_MODEL_FROM_DATABASE=PCTV 170e

usb:v2304p0236*
 ID_MODEL_FROM_DATABASE=PCTV 72e [DiBcom DiB7000PC]

usb:v2304p0237*
 ID_MODEL_FROM_DATABASE=PCTV 73e [DiBcom DiB7000PC]

usb:v2304p023A*
 ID_MODEL_FROM_DATABASE=PCTV 801e

usb:v2304p023B*
 ID_MODEL_FROM_DATABASE=PCTV 801e SE

usb:v2304p023D*
 ID_MODEL_FROM_DATABASE=PCTV 340e

usb:v2304p023E*
 ID_MODEL_FROM_DATABASE=PCTV 340e SE

usb:v2304p0300*
 ID_MODEL_FROM_DATABASE=Studio Linx Video input cable (NTSC)

usb:v2304p0301*
 ID_MODEL_FROM_DATABASE=Studio Linx Video input cable (PAL)

usb:v2304p0302*
 ID_MODEL_FROM_DATABASE=Dazzle DVC120

usb:v2304p0419*
 ID_MODEL_FROM_DATABASE=PCTV Bungee USB (PAL) with FM radio

usb:v2304p061D*
 ID_MODEL_FROM_DATABASE=PCTV Deluxe (NTSC) Device

usb:v2304p061E*
 ID_MODEL_FROM_DATABASE=PCTV Deluxe (PAL) Device

usb:v2304p2304*
 ID_MODEL_FROM_DATABASE=1689

usb:v2309*
 ID_VENDOR_FROM_DATABASE=TimeLink Technology Co., Ltd

usb:v2309p1001*
 ID_MODEL_FROM_DATABASE=Touch Device(hid)

usb:v2309p1005*
 ID_MODEL_FROM_DATABASE=Touch Device

usb:v2309p1006*
 ID_MODEL_FROM_DATABASE=Touch Device(2)

usb:v2309p1007*
 ID_MODEL_FROM_DATABASE=MulTouch Device(hid)

usb:v2309p1009*
 ID_MODEL_FROM_DATABASE=Touch Device(hid)

usb:v230D*
 ID_VENDOR_FROM_DATABASE=Teracom

usb:v230Dp0103*
 ID_MODEL_FROM_DATABASE=Huwaii 3g wireless modem

usb:v2314*
 ID_VENDOR_FROM_DATABASE=INQ Mobile

usb:v2318*
 ID_VENDOR_FROM_DATABASE=Shining Technologies, Inc. [hex]

usb:v2318p0011*
 ID_MODEL_FROM_DATABASE=CitiDISK Jr. IDE Enclosure

usb:v2319*
 ID_VENDOR_FROM_DATABASE=Tronsmart

usb:v2319p0014*
 ID_MODEL_FROM_DATABASE=TSM01 Air Mouse + Keyboard

usb:v232B*
 ID_VENDOR_FROM_DATABASE=Pantum Ltd.

usb:v232Bp0810*
 ID_MODEL_FROM_DATABASE=P2000

usb:v232E*
 ID_VENDOR_FROM_DATABASE=EA Elektro-Automatik GmbH & Co. KG

usb:v232Ep0010*
 ID_MODEL_FROM_DATABASE=EA-PS-2000 B Series Power Supply

usb:v2340*
 ID_VENDOR_FROM_DATABASE=Teleepoch

usb:v2341*
 ID_VENDOR_FROM_DATABASE=Arduino SA

usb:v2341p0001*
 ID_MODEL_FROM_DATABASE=Uno (CDC ACM)

usb:v2341p0010*
 ID_MODEL_FROM_DATABASE=Mega 2560 (CDC ACM)

usb:v2341p0036*
 ID_MODEL_FROM_DATABASE=Leonardo Bootloader

usb:v2341p003B*
 ID_MODEL_FROM_DATABASE=Serial Adapter (CDC ACM)

usb:v2341p003D*
 ID_MODEL_FROM_DATABASE=Due Programming Port

usb:v2341p003E*
 ID_MODEL_FROM_DATABASE=Due

usb:v2341p003F*
 ID_MODEL_FROM_DATABASE=Mega ADK (CDC ACM)

usb:v2341p0042*
 ID_MODEL_FROM_DATABASE=Mega 2560 R3 (CDC ACM)

usb:v2341p0043*
 ID_MODEL_FROM_DATABASE=Uno R3 (CDC ACM)

usb:v2341p0044*
 ID_MODEL_FROM_DATABASE=Mega ADK R3 (CDC ACM)

usb:v2341p0045*
 ID_MODEL_FROM_DATABASE=Serial R3 (CDC ACM)

usb:v2341p0049*
 ID_MODEL_FROM_DATABASE=ISP

usb:v2341p8036*
 ID_MODEL_FROM_DATABASE=Leonardo (CDC ACM, HID)

usb:v2341p8038*
 ID_MODEL_FROM_DATABASE=Robot Control Board (CDC ACM, HID)

usb:v2341p8039*
 ID_MODEL_FROM_DATABASE=Robot Motor Board (CDC ACM, HID)

usb:v2349*
 ID_VENDOR_FROM_DATABASE=P2 Engineering Group, LLC

usb:v234B*
 ID_VENDOR_FROM_DATABASE=Free Software Initiative of Japan

usb:v234Bp0000*
 ID_MODEL_FROM_DATABASE=Gnuk Token

usb:v234Bp0001*
 ID_MODEL_FROM_DATABASE=NeuG True RNG

usb:v2357*
 ID_VENDOR_FROM_DATABASE=TP-Link

usb:v2357p0005*
 ID_MODEL_FROM_DATABASE=M7350 4G Mi-Fi Router

usb:v2357p0100*
 ID_MODEL_FROM_DATABASE=TL-WN8200ND [Realtek RTL8192CU]

usb:v2357p0101*
 ID_MODEL_FROM_DATABASE=RTL8812AU Archer T4U 802.11ac

usb:v2357p0103*
 ID_MODEL_FROM_DATABASE=Archer T4UH wireless Realtek 8812AU

usb:v2357p0105*
 ID_MODEL_FROM_DATABASE=Archer T1U 802.11a/n/ac Wireless Adapter [MediaTek MT7610U]

usb:v2357p0106*
 ID_MODEL_FROM_DATABASE=Archer T9UH v1 [Realtek RTL8814AU]

usb:v2357p0107*
 ID_MODEL_FROM_DATABASE=TL-WN821N v5/v6 [RTL8192EU]

usb:v2357p0108*
 ID_MODEL_FROM_DATABASE=TL-WN822N Version 4 RTL8192EU

usb:v2357p0109*
 ID_MODEL_FROM_DATABASE=TL-WN823N v2/v3 [Realtek RTL8192EU]

usb:v2357p010B*
 ID_MODEL_FROM_DATABASE=Archer T2UHP [MediaTek MT7610U]

usb:v2357p010C*
 ID_MODEL_FROM_DATABASE=TL-WN722N v2/v3 [Realtek RTL8188EUS]

usb:v2357p010D*
 ID_MODEL_FROM_DATABASE=Archer T4U v2 [Realtek RTL8812AU]

usb:v2357p010E*
 ID_MODEL_FROM_DATABASE=Archer T4UH v2 [Realtek RTL8812AU]

usb:v2357p010F*
 ID_MODEL_FROM_DATABASE=Archer T4UHP [Realtek RTL8812AU]

usb:v2357p0115*
 ID_MODEL_FROM_DATABASE=Archer T4U ver.3

usb:v2357p011E*
 ID_MODEL_FROM_DATABASE=AC600 wireless Realtek RTL8811AU [Archer T2U Nano]

usb:v2357p0120*
 ID_MODEL_FROM_DATABASE=Archer T2U PLUS [RTL8821AU]

usb:v2357p012D*
 ID_MODEL_FROM_DATABASE=Archer T3U [Realtek RTL8812BU]

usb:v2357p0200*
 ID_MODEL_FROM_DATABASE=MA 180 Zero CD

usb:v2357p0201*
 ID_MODEL_FROM_DATABASE=HSUPA Modem MA180

usb:v2357p0600*
 ID_MODEL_FROM_DATABASE=UE300 10/100/1000 LAN (mass storage CD-ROM mode) [Realtek RTL8153]

usb:v2357p0601*
 ID_MODEL_FROM_DATABASE=UE300 10/100/1000 LAN (ethernet mode) [Realtek RTL8153]

usb:v2366*
 ID_VENDOR_FROM_DATABASE=Bitmanufaktur GmbH

usb:v2366p0001*
 ID_MODEL_FROM_DATABASE=Reserved Prototyping PID

usb:v2366p0002*
 ID_MODEL_FROM_DATABASE=OpenBeacon USB 2

usb:v2366p0003*
 ID_MODEL_FROM_DATABASE=OpenPCD 2 RFID Reader for 13.56MHz

usb:v2366p0004*
 ID_MODEL_FROM_DATABASE=OpenBeacon

usb:v2366p0005*
 ID_MODEL_FROM_DATABASE=Blinkenlights WDIM

usb:v2366p0006*
 ID_MODEL_FROM_DATABASE=Blinkenlights WMCU

usb:v2366p0007*
 ID_MODEL_FROM_DATABASE=OpenBeacon Ethernet EasyReader PoE II - Active 2.4GHz RFID Reader

usb:v2366p0008*
 ID_MODEL_FROM_DATABASE=OpenBeacon WLAN

usb:v2366p0009*
 ID_MODEL_FROM_DATABASE=OpenPCD 2 RFID Reader for 13.56MHz

usb:v2366p000A*
 ID_MODEL_FROM_DATABASE=OpenPCD 2 Audio & LCD Display

usb:v2367*
 ID_VENDOR_FROM_DATABASE=Teenage Engineering

usb:v2367p0002*
 ID_MODEL_FROM_DATABASE=OP-1 Portable synthesizer

usb:v2367p000C*
 ID_MODEL_FROM_DATABASE=OP-Z Portable synthesizer

usb:v2368*
 ID_VENDOR_FROM_DATABASE=Peterson Electro-Musical Products Inc.

usb:v2368p0001*
 ID_MODEL_FROM_DATABASE=BBS-1 [BodyBeat Sync]

usb:v236A*
 ID_VENDOR_FROM_DATABASE=SiBEAM

usb:v236Ap1965*
 ID_MODEL_FROM_DATABASE=SB6501 802.11ad Wireless Network Adapter

usb:v2373*
 ID_VENDOR_FROM_DATABASE=Pumatronix Ltda

usb:v2373p0001*
 ID_MODEL_FROM_DATABASE=5 MegaPixel Digital Still Camera [DSC5M]

usb:v2375*
 ID_VENDOR_FROM_DATABASE=Digit@lway, Inc.

usb:v2375p0001*
 ID_MODEL_FROM_DATABASE=Digital Audio Player

usb:v2378*
 ID_VENDOR_FROM_DATABASE=OnLive

usb:v2378p100A*
 ID_MODEL_FROM_DATABASE=Universal Wireless Controller

usb:v237D*
 ID_VENDOR_FROM_DATABASE=Cradlepoint

usb:v237Dp0400*
 ID_MODEL_FROM_DATABASE=MC400

usb:v2386*
 ID_VENDOR_FROM_DATABASE=Raydium Corporation

usb:v2386p3125*
 ID_MODEL_FROM_DATABASE=Touch System

usb:v2386p4328*
 ID_MODEL_FROM_DATABASE=Touch System

usb:v2386p432F*
 ID_MODEL_FROM_DATABASE=Touch System

usb:v238B*
 ID_VENDOR_FROM_DATABASE=Hytera Communications

usb:v238Bp0A11*
 ID_MODEL_FROM_DATABASE=DMR Radio

usb:v239A*
 ID_VENDOR_FROM_DATABASE=Adafruit

usb:v239Ap0001*
 ID_MODEL_FROM_DATABASE=CDC Bootloader

usb:v239Ap801E*
 ID_MODEL_FROM_DATABASE=Trinket M0

usb:v23A0*
 ID_VENDOR_FROM_DATABASE=BIFIT

usb:v23A0p0001*
 ID_MODEL_FROM_DATABASE=Token iBank2key

usb:v23A0p0002*
 ID_MODEL_FROM_DATABASE=iBank2Key Type M Token

usb:v23A0p0003*
 ID_MODEL_FROM_DATABASE=iToken

usb:v23A0p0008*
 ID_MODEL_FROM_DATABASE=MS_KEY K - Angara

usb:v23A6*
 ID_VENDOR_FROM_DATABASE=Tronical Components GmbH

usb:v23A6p2000*
 ID_MODEL_FROM_DATABASE=Gibson Firebird X Pedal Board

usb:v23A6p2001*
 ID_MODEL_FROM_DATABASE=Gibson Firebird X Switch Board

usb:v23B4*
 ID_VENDOR_FROM_DATABASE=Dental Wings Inc.

usb:v23B4p0200*
 ID_MODEL_FROM_DATABASE=DW0200 Color Camera

usb:v23B4p0300*
 ID_MODEL_FROM_DATABASE=DW0300 Hight Speed Monochrome Camera

usb:v23C7*
 ID_VENDOR_FROM_DATABASE=Gemini

usb:v23C7p1021*
 ID_MODEL_FROM_DATABASE=FirstMix

usb:v23FC*
 ID_VENDOR_FROM_DATABASE=SesKion GmbH

usb:v23FCp0201*
 ID_MODEL_FROM_DATABASE=SPI-Simulyzer box for SPI data communication

usb:v23FCp0202*
 ID_MODEL_FROM_DATABASE=PSI5-Simulyzer box for PSI5 (Peripheral-Sensor-Interfacs) data communication

usb:v23FCp0203*
 ID_MODEL_FROM_DATABASE=SENT-Simulyzer box for SENT data communication

usb:v23FCp0204*
 ID_MODEL_FROM_DATABASE=DSI-Simulyzer box for DSI3 data communication

usb:v2405*
 ID_VENDOR_FROM_DATABASE=Custom Computer Services, Inc

usb:v2405p0002*
 ID_MODEL_FROM_DATABASE=West Mountain Radio RIGblaster Advantage Audio

usb:v2405p0003*
 ID_MODEL_FROM_DATABASE=West Mountain Radio RIGblaster Advantage

usb:v2406*
 ID_VENDOR_FROM_DATABASE=SANHO Digital Electronics Co., Ltd.

usb:v2406p6688*
 ID_MODEL_FROM_DATABASE=PD7X Portable Storage

usb:v2420*
 ID_VENDOR_FROM_DATABASE=IRiver

usb:v242E*
 ID_VENDOR_FROM_DATABASE=Vossloh-Schwabe Deutschland GmbH

usb:v242Ep0001*
 ID_MODEL_FROM_DATABASE=DALI Master

usb:v242Ep0002*
 ID_MODEL_FROM_DATABASE=LiCS Bootloader Mode

usb:v242Ep0003*
 ID_MODEL_FROM_DATABASE=LiCS Running Mode

usb:v242Ep0004*
 ID_MODEL_FROM_DATABASE=iProgrammer

usb:v242Ep0005*
 ID_MODEL_FROM_DATABASE=NFC programming device

usb:v2433*
 ID_VENDOR_FROM_DATABASE=ASETEK

usb:v2433pB200*
 ID_MODEL_FROM_DATABASE=[NZXT Kraken X60]

usb:v2443*
 ID_VENDOR_FROM_DATABASE=Aessent Technology Ltd

usb:v2443p00DC*
 ID_MODEL_FROM_DATABASE=aes220 FPGA Mini-Module

usb:v2457*
 ID_VENDOR_FROM_DATABASE=Ocean Optics Inc.

usb:v2457p100A*
 ID_MODEL_FROM_DATABASE=HR2000 Spectrometer 1.00.0

usb:v2457p1012*
 ID_MODEL_FROM_DATABASE=HR4000 Spectrometer

usb:v2458*
 ID_VENDOR_FROM_DATABASE=Bluegiga Technologies

usb:v2458p0001*
 ID_MODEL_FROM_DATABASE=BLED112 Bluetooth 4.0 Single Mode Dongle

usb:v245F*
 ID_VENDOR_FROM_DATABASE=Chord Electronics Limited

usb:v2464*
 ID_VENDOR_FROM_DATABASE=Nest

usb:v2464p0001*
 ID_MODEL_FROM_DATABASE=Learning Thermostat

usb:v2464p0002*
 ID_MODEL_FROM_DATABASE=Learning Thermostat (2nd Generation)

usb:v2464p0010*
 ID_MODEL_FROM_DATABASE=Protect : Smoke + Carbon Monoxide

usb:v2464p0020*
 ID_MODEL_FROM_DATABASE=Heat Link

usb:v2466*
 ID_VENDOR_FROM_DATABASE=Fractal Audio Systems

usb:v2466p8003*
 ID_MODEL_FROM_DATABASE=Axe-Fx II

usb:v2466p8010*
 ID_MODEL_FROM_DATABASE=Axe-FX III

usb:v2476*
 ID_VENDOR_FROM_DATABASE=YEI Technology

usb:v2476p1040*
 ID_MODEL_FROM_DATABASE=3-Space Embedded Sensor

usb:v2478*
 ID_VENDOR_FROM_DATABASE=Tripp-Lite

usb:v2478p2008*
 ID_MODEL_FROM_DATABASE=U209-000-R Serial Port

usb:v248A*
 ID_VENDOR_FROM_DATABASE=Maxxter

usb:v248Ap8366*
 ID_MODEL_FROM_DATABASE=Wireless Optical Mouse ACT-MUSW-002

usb:v248Ap8367*
 ID_MODEL_FROM_DATABASE=Telink Wireless Receiver

usb:v249C*
 ID_VENDOR_FROM_DATABASE=M2Tech s.r.l.

usb:v24A4*
 ID_VENDOR_FROM_DATABASE=Primare AB

usb:v24A4p0002*
 ID_MODEL_FROM_DATABASE=I15_v1.06 [Primare Audio DAC]

usb:v24AE*
 ID_VENDOR_FROM_DATABASE=Shenzhen Rapoo Technology Co., Ltd.

usb:v24AEp0001*
 ID_MODEL_FROM_DATABASE=KX Keyboard

usb:v24AEp0197*
 ID_MODEL_FROM_DATABASE=meva Barcode Scanner

usb:v24AEp1813*
 ID_MODEL_FROM_DATABASE=E9260 Wireless Multi-mode Keyboard

usb:v24AEp2000*
 ID_MODEL_FROM_DATABASE=2.4G Wireless Device Serial

usb:v24AEp2001*
 ID_MODEL_FROM_DATABASE=5 GHz Wireless Receiver

usb:v24AEp2003*
 ID_MODEL_FROM_DATABASE=5GHz Wireless Transceiver

usb:v24AEp4110*
 ID_MODEL_FROM_DATABASE=Optical Gaming Mouse [V280]

usb:v24AEp6000*
 ID_MODEL_FROM_DATABASE=Wireless Audio

usb:v24C0*
 ID_VENDOR_FROM_DATABASE=Chaney Instrument

usb:v24C0p0003*
 ID_MODEL_FROM_DATABASE=Model 01036 weather center

usb:v24C6*
 ID_VENDOR_FROM_DATABASE=ThrustMaster, Inc.

usb:v24C6p5000*
 ID_MODEL_FROM_DATABASE=Razer Atrox Gaming Arcade Stick

usb:v24C6p5300*
 ID_MODEL_FROM_DATABASE=PowerA Mini ProEX Controller for Xbox 360

usb:v24C6p5303*
 ID_MODEL_FROM_DATABASE=Airflo Wired Controller for Xbox 360

usb:v24C6p530A*
 ID_MODEL_FROM_DATABASE=ProEX Controller for Xbox 360

usb:v24C6p531A*
 ID_MODEL_FROM_DATABASE=Pro Ex mini for XBOX

usb:v24C6p5397*
 ID_MODEL_FROM_DATABASE=FUS1ON Tournament Controller

usb:v24C6p541A*
 ID_MODEL_FROM_DATABASE=PowerA CPFA115320-01 [Mini Controller for Xbox One]

usb:v24C6p542A*
 ID_MODEL_FROM_DATABASE=Spectra for Xbox One

usb:v24C6p543A*
 ID_MODEL_FROM_DATABASE=PowerA Wired Controller for Xbox One

usb:v24C6p5500*
 ID_MODEL_FROM_DATABASE=Horipad EX2 Turbo

usb:v24C6p5501*
 ID_MODEL_FROM_DATABASE=Hori Real Arcade Pro.VX-SA for Xbox 360

usb:v24C6p5502*
 ID_MODEL_FROM_DATABASE=Hori Fighting Stick VX Alt for Xbox 360

usb:v24C6p5503*
 ID_MODEL_FROM_DATABASE=Hori Fighting Edge for Xbox 360

usb:v24C6p5506*
 ID_MODEL_FROM_DATABASE=Hori Soulcalibur V Stick for Xbox 360

usb:v24C6p550D*
 ID_MODEL_FROM_DATABASE=Hori Gem Controller for Xbox 360

usb:v24C6p550E*
 ID_MODEL_FROM_DATABASE=Real Arcade Pro V Kai for Xbox One / Xbox 360

usb:v24C6p551A*
 ID_MODEL_FROM_DATABASE=Fusion Pro Controller

usb:v24C6p561A*
 ID_MODEL_FROM_DATABASE=Fusion Controller for Xbox One

usb:v24C6p5B00*
 ID_MODEL_FROM_DATABASE=Ferrari 458 Italia Racing Wheel

usb:v24C6p5B02*
 ID_MODEL_FROM_DATABASE=GPX Controller

usb:v24C6p5D04*
 ID_MODEL_FROM_DATABASE=Sabertooth Elite

usb:v24C6pFA00*
 ID_MODEL_FROM_DATABASE=INF-8032385 Disney Infinity Reader

usb:v24C6pFAFB*
 ID_MODEL_FROM_DATABASE=Aplay Controller

usb:v24C6pFAFD*
 ID_MODEL_FROM_DATABASE=Afterglow Gamepad for Xbox 360

usb:v24C6pFAFE*
 ID_MODEL_FROM_DATABASE=Rock Candy Gamepad for Xbox 360

usb:v24CF*
 ID_VENDOR_FROM_DATABASE=Lytro, Inc.

usb:v24CFp00A1*
 ID_MODEL_FROM_DATABASE=Light Field Camera

usb:v24DC*
 ID_VENDOR_FROM_DATABASE=Aladdin R.D.

usb:v24DCp0406*
 ID_MODEL_FROM_DATABASE=JaCarta SF GOST

usb:v24E0*
 ID_VENDOR_FROM_DATABASE=Yoctopuce Sarl

usb:v24E1*
 ID_VENDOR_FROM_DATABASE=Paratronic

usb:v24E1p3001*
 ID_MODEL_FROM_DATABASE=Adp-usb

usb:v24E1p3005*
 ID_MODEL_FROM_DATABASE=Radius

usb:v24E3*
 ID_VENDOR_FROM_DATABASE=K-Touch

usb:v24EA*
 ID_VENDOR_FROM_DATABASE=Meva

usb:v24EAp0197*
 ID_MODEL_FROM_DATABASE=Barcode Scanner

usb:v24ED*
 ID_VENDOR_FROM_DATABASE=Zen Group

usb:v24EDp044D*
 ID_MODEL_FROM_DATABASE=Chat Headset

usb:v24F0*
 ID_VENDOR_FROM_DATABASE=Metadot

usb:v24F0p0105*
 ID_MODEL_FROM_DATABASE=Das Keyboard 4

usb:v24F0p0140*
 ID_MODEL_FROM_DATABASE=Das Keyboard 4

usb:v24F0p2020*
 ID_MODEL_FROM_DATABASE=Das Keyboard 5Q

usb:v24FF*
 ID_VENDOR_FROM_DATABASE=Acroname Inc.

usb:v2500*
 ID_VENDOR_FROM_DATABASE=Ettus Research LLC

usb:v2500p0020*
 ID_MODEL_FROM_DATABASE=USRP B210

usb:v2500p0021*
 ID_MODEL_FROM_DATABASE=USRP B200-mini

usb:v2500p0022*
 ID_MODEL_FROM_DATABASE=USRP B205-mini

usb:v2500p0200*
 ID_MODEL_FROM_DATABASE=USRP B200

usb:v2516*
 ID_VENDOR_FROM_DATABASE=Cooler Master Co., Ltd.

usb:v2516p0003*
 ID_MODEL_FROM_DATABASE=Storm Xornet

usb:v2516p0004*
 ID_MODEL_FROM_DATABASE=Storm QuickFire Rapid Mechanical Keyboard

usb:v2516p0006*
 ID_MODEL_FROM_DATABASE=Storm Recon

usb:v2516p0007*
 ID_MODEL_FROM_DATABASE=Storm Sentinel Advance II

usb:v2516p0009*
 ID_MODEL_FROM_DATABASE=Storm Quick Fire PRO

usb:v2516p0011*
 ID_MODEL_FROM_DATABASE=Storm Quick Fire TK 6keys

usb:v2516p0014*
 ID_MODEL_FROM_DATABASE=Storm Quick Fire TK Nkeys

usb:v2516p0015*
 ID_MODEL_FROM_DATABASE=Storm QuickFire Pro/Ultimate keyboard

usb:v2516p0017*
 ID_MODEL_FROM_DATABASE=CM Storm Quick Fire Stealth

usb:v2516p001A*
 ID_MODEL_FROM_DATABASE=Storm Quick Fire XT

usb:v2516p0020*
 ID_MODEL_FROM_DATABASE=QuickFire Rapid-i Keyboard

usb:v2516p0027*
 ID_MODEL_FROM_DATABASE=CM Storm Coolermaster Novatouch TKL

usb:v2516p002D*
 ID_MODEL_FROM_DATABASE=Alcor mouse

usb:v2516p0042*
 ID_MODEL_FROM_DATABASE=Masterkeys Lite L Combo RGB Keyboard

usb:v2516p0044*
 ID_MODEL_FROM_DATABASE=Masterkeys Lite L Combo RGB Mouse

usb:v2516p0046*
 ID_MODEL_FROM_DATABASE=Masterkeys PRO L

usb:v2516p0047*
 ID_MODEL_FROM_DATABASE=MasterKeys Pro L

usb:v2516p0055*
 ID_MODEL_FROM_DATABASE=MasterKeys L

usb:v2516p1006*
 ID_MODEL_FROM_DATABASE=MasterCase SL600M

usb:v2516p9494*
 ID_MODEL_FROM_DATABASE=Sirus Headset

usb:v2520*
 ID_VENDOR_FROM_DATABASE=ANA-U GmbH

usb:v2520p0001*
 ID_MODEL_FROM_DATABASE=EasyPrinter S3

usb:v2527*
 ID_VENDOR_FROM_DATABASE=Software Bisque

usb:v2527p1388*
 ID_MODEL_FROM_DATABASE=Paramount 5

usb:v2537*
 ID_VENDOR_FROM_DATABASE=Norelsys

usb:v2537p1066*
 ID_MODEL_FROM_DATABASE=NS1066

usb:v2537p1068*
 ID_MODEL_FROM_DATABASE=NS1068/NS1068X SATA Bridge Controller

usb:v2544*
 ID_VENDOR_FROM_DATABASE=Energy Micro AS

usb:v2546*
 ID_VENDOR_FROM_DATABASE=Ravensburger

usb:v2546pE301*
 ID_MODEL_FROM_DATABASE=TipToi Pen

usb:v2548*
 ID_VENDOR_FROM_DATABASE=Pulse-Eight

usb:v2548p1001*
 ID_MODEL_FROM_DATABASE=CEC Adapter

usb:v2548p1002*
 ID_MODEL_FROM_DATABASE=CEC Adapter

usb:v254E*
 ID_VENDOR_FROM_DATABASE=SHF Communication Technologies AG

usb:v254EpE2B3*
 ID_MODEL_FROM_DATABASE=SHF 58035 A BiasBoard

usb:v2554*
 ID_VENDOR_FROM_DATABASE=ASSA ABLOY AB

usb:v2555*
 ID_VENDOR_FROM_DATABASE=Basis Science Inc.

usb:v2555p0001*
 ID_MODEL_FROM_DATABASE=B1 Fitness Band

usb:v255E*
 ID_VENDOR_FROM_DATABASE=Beijing Bonxeon Technology Co., Ltd.

usb:v255Ep0001*
 ID_MODEL_FROM_DATABASE=Device

usb:v255Ep0002*
 ID_MODEL_FROM_DATABASE=Dual

usb:v2560*
 ID_VENDOR_FROM_DATABASE=e-con Systems

usb:v2560pC152*
 ID_MODEL_FROM_DATABASE=See3CAM_CU51 5 Mpx monochrome camera

usb:v2563*
 ID_VENDOR_FROM_DATABASE=ShenZhen ShanWan Technology Co., Ltd.

usb:v2563p031D*
 ID_MODEL_FROM_DATABASE=DXT Mouse

usb:v2563p0523*
 ID_MODEL_FROM_DATABASE=BM0523 WirelessGamepad

usb:v2563p0575*
 ID_MODEL_FROM_DATABASE=ZD-V+ Wired Gaming Controller

usb:v256B*
 ID_VENDOR_FROM_DATABASE=Perreaux Industries Ltd

usb:v256Bp0121*
 ID_MODEL_FROM_DATABASE=Audiant 80i

usb:v256F*
 ID_VENDOR_FROM_DATABASE=3Dconnexion

usb:v256FpC62E*
 ID_MODEL_FROM_DATABASE=SpaceMouse Wireless (cabled)

usb:v256FpC62F*
 ID_MODEL_FROM_DATABASE=SpaceMouse Wireless Receiver

usb:v256FpC631*
 ID_MODEL_FROM_DATABASE=SpaceMouse Pro Wireless (cabled)

usb:v256FpC632*
 ID_MODEL_FROM_DATABASE=SpaceMouse Pro Wireless Receiver

usb:v256FpC633*
 ID_MODEL_FROM_DATABASE=SpaceMouse Enterprise

usb:v256FpC635*
 ID_MODEL_FROM_DATABASE=SpaceMouse Compact

usb:v256FpC651*
 ID_MODEL_FROM_DATABASE=CadMouse Wireless

usb:v256FpC652*
 ID_MODEL_FROM_DATABASE=Universal Receiver

usb:v256FpC654*
 ID_MODEL_FROM_DATABASE=CadMouse Pro Wireless

usb:v256FpC657*
 ID_MODEL_FROM_DATABASE=CadMouse Pro Wireless Left

usb:v2573*
 ID_VENDOR_FROM_DATABASE=ESI Audiotechnik GmbH

usb:v2573p0017*
 ID_MODEL_FROM_DATABASE=MAYA22

usb:v2574*
 ID_VENDOR_FROM_DATABASE=AVer Information, Inc.

usb:v2574p0901*
 ID_MODEL_FROM_DATABASE=VC520

usb:v2574p0910*
 ID_MODEL_FROM_DATABASE=CAM520

usb:v2574p0920*
 ID_MODEL_FROM_DATABASE=VC320

usb:v2574p0930*
 ID_MODEL_FROM_DATABASE=CAM530

usb:v2574p0940*
 ID_MODEL_FROM_DATABASE=CAM340

usb:v2574p0950*
 ID_MODEL_FROM_DATABASE=VC322

usb:v2574p0960*
 ID_MODEL_FROM_DATABASE=VB342

usb:v2575*
 ID_VENDOR_FROM_DATABASE=Weida Hi-Tech Co., Ltd.

usb:v2576*
 ID_VENDOR_FROM_DATABASE=AFO Co., Ltd.

usb:v2576p0003*
 ID_MODEL_FROM_DATABASE=TCM

usb:v2576p0005*
 ID_MODEL_FROM_DATABASE=BL [Boot Loader]

usb:v2576p0011*
 ID_MODEL_FROM_DATABASE=THM

usb:v2578*
 ID_VENDOR_FROM_DATABASE=Pluscom

usb:v2578p4168*
 ID_MODEL_FROM_DATABASE=2.4GHZ Wireless Arc Folding Mouse

usb:v2581*
 ID_VENDOR_FROM_DATABASE=Plug-up

usb:v2581p1807*
 ID_MODEL_FROM_DATABASE=Generic HID Smartcard

usb:v2581p1808*
 ID_MODEL_FROM_DATABASE=WinUSB Smartcard

usb:v2581pF1D0*
 ID_MODEL_FROM_DATABASE=Nitrokey U2F

usb:v258D*
 ID_VENDOR_FROM_DATABASE=Sequans Communications

usb:v259A*
 ID_VENDOR_FROM_DATABASE=TriQuint Semiconductor

usb:v25A7*
 ID_VENDOR_FROM_DATABASE=Areson Technology Corp

usb:v25A7p2410*
 ID_MODEL_FROM_DATABASE=Laser mouse

usb:v25A7pFA23*
 ID_MODEL_FROM_DATABASE=2.4G Receiver

usb:v25A7pFA61*
 ID_MODEL_FROM_DATABASE=Elecom Co., Ltd MR-K013 Multicard Reader

usb:v25B5*
 ID_VENDOR_FROM_DATABASE=FlatFrog

usb:v25B5p0002*
 ID_MODEL_FROM_DATABASE=Multitouch 3200

usb:v25BB*
 ID_VENDOR_FROM_DATABASE=Brunner Elektronik AG

usb:v25BBp0063*
 ID_MODEL_FROM_DATABASE=PRT.5105 [Yoke]

usb:v25BBp0064*
 ID_MODEL_FROM_DATABASE=PRT.5105 [reserved]

usb:v25BBp0065*
 ID_MODEL_FROM_DATABASE=PRT.5096 [Battery Management System]

usb:v25BBp0066*
 ID_MODEL_FROM_DATABASE=PRT.5096 [Battery Management System]

usb:v25BBp0067*
 ID_MODEL_FROM_DATABASE=PRT.5094

usb:v25BBp0068*
 ID_MODEL_FROM_DATABASE=PRT.5094

usb:v25BBp0069*
 ID_MODEL_FROM_DATABASE=PRT.5119 [Ethernet2CAN LC Gateway]

usb:v25BBp006A*
 ID_MODEL_FROM_DATABASE=PRT.5113 [CLS CANaerospace Gateway]

usb:v25BBp006B*
 ID_MODEL_FROM_DATABASE=PRT.5123

usb:v25BBp006C*
 ID_MODEL_FROM_DATABASE=PRT.5123 [reserved]

usb:v25BBp006D*
 ID_MODEL_FROM_DATABASE=PRT.5127

usb:v25BBp00FF*
 ID_MODEL_FROM_DATABASE=MSP430 HID Update Agent

usb:v25BF*
 ID_VENDOR_FROM_DATABASE=Elegant Invention

usb:v25BFp0001*
 ID_MODEL_FROM_DATABASE=Isostick

usb:v25BFp0002*
 ID_MODEL_FROM_DATABASE=Isostick updater

usb:v25C4*
 ID_VENDOR_FROM_DATABASE=ARCAM

usb:v25C6*
 ID_VENDOR_FROM_DATABASE=Vitus Audio (AVA Group A/S)

usb:v25C8*
 ID_VENDOR_FROM_DATABASE=Visual Planet Ltd

usb:v25C8p0014*
 ID_MODEL_FROM_DATABASE=Single User touchfoil(tm) (SU2-80)

usb:v25DA*
 ID_VENDOR_FROM_DATABASE=Netatmo

usb:v25DAp0001*
 ID_MODEL_FROM_DATABASE=Weather Station

usb:v25DD*
 ID_VENDOR_FROM_DATABASE=Bit4id Srl

usb:v25DDp1101*
 ID_MODEL_FROM_DATABASE=miniLector-s

usb:v25DDp1201*
 ID_MODEL_FROM_DATABASE=cryptokey

usb:v25DDp2221*
 ID_MODEL_FROM_DATABASE=iAM

usb:v25DDp2311*
 ID_MODEL_FROM_DATABASE=keyfour-a1

usb:v25DDp2321*
 ID_MODEL_FROM_DATABASE=CKey4

usb:v25DDp2341*
 ID_MODEL_FROM_DATABASE=tokenME FIPS v3

usb:v25DDp2351*
 ID_MODEL_FROM_DATABASE=Digital DNA Key

usb:v25DDp2354*
 ID_MODEL_FROM_DATABASE=Digital-DNA Key

usb:v25DDp2361*
 ID_MODEL_FROM_DATABASE=Digital-DNA Key BT

usb:v25DDp2362*
 ID_MODEL_FROM_DATABASE=Digital-DNA Key

usb:v25DDp2371*
 ID_MODEL_FROM_DATABASE=TokenME EVO v2

usb:v25DDp23B4*
 ID_MODEL_FROM_DATABASE=ArubaKey AK901

usb:v25DDp3111*
 ID_MODEL_FROM_DATABASE=miniLector EVO

usb:v25DDp3211*
 ID_MODEL_FROM_DATABASE=miniLector AIR EVO

usb:v25DDp3403*
 ID_MODEL_FROM_DATABASE=miniLector AIR NFC v3

usb:v25DDp3503*
 ID_MODEL_FROM_DATABASE=mLector AIR DI V3

usb:v25DDpB001*
 ID_MODEL_FROM_DATABASE=miniLector Blue

usb:v25E3*
 ID_VENDOR_FROM_DATABASE=Lumigon

usb:v25F0*
 ID_VENDOR_FROM_DATABASE=ShanWan

usb:v25F0pC131*
 ID_MODEL_FROM_DATABASE=Gioteck PS3 2.4G Wireless Controller

usb:v25FB*
 ID_VENDOR_FROM_DATABASE=Pentax Ricoh Imaging Co., Ltd

usb:v25FBp0102*
 ID_MODEL_FROM_DATABASE=K-5

usb:v2604*
 ID_VENDOR_FROM_DATABASE=Tenda

usb:v2604p0012*
 ID_MODEL_FROM_DATABASE=U12

usb:v2625*
 ID_VENDOR_FROM_DATABASE=MilDef AB

usb:v2626*
 ID_VENDOR_FROM_DATABASE=Aruba Networks

usb:v2626pEA60*
 ID_MODEL_FROM_DATABASE=UART Bridge Controller [cp210x]

usb:v262A*
 ID_VENDOR_FROM_DATABASE=SAVITECH Corp.

usb:v262Ap100E*
 ID_MODEL_FROM_DATABASE=SA9027 Audio Streaming Controller

usb:v262Ap10E0*
 ID_MODEL_FROM_DATABASE=SA9023 Audio Streaming Controller

usb:v262Ap9020*
 ID_MODEL_FROM_DATABASE=SA9020 audio controller

usb:v262Ap9023*
 ID_MODEL_FROM_DATABASE=SA9023 audio controller

usb:v262Ap9027*
 ID_MODEL_FROM_DATABASE=SA9027 audio controller

usb:v262Ap9226*
 ID_MODEL_FROM_DATABASE=SA9226 192KHz audio controller

usb:v262Ap9227*
 ID_MODEL_FROM_DATABASE=SA9227 384KHz audio controller

usb:v262Ap9228*
 ID_MODEL_FROM_DATABASE=SA9228 384KHz/DSD audio controller

usb:v2632*
 ID_VENDOR_FROM_DATABASE=TwinMOS

usb:v2632p3209*
 ID_MODEL_FROM_DATABASE=7-in-1 Card Reader

usb:v2639*
 ID_VENDOR_FROM_DATABASE=Xsens

usb:v2639p0001*
 ID_MODEL_FROM_DATABASE=MTi-10 IMU

usb:v2639p0002*
 ID_MODEL_FROM_DATABASE=MTi-20 VRU

usb:v2639p0003*
 ID_MODEL_FROM_DATABASE=MTi-30 AHRS

usb:v2639p0011*
 ID_MODEL_FROM_DATABASE=MTi-100 IMU

usb:v2639p0012*
 ID_MODEL_FROM_DATABASE=MTi-200 VRU

usb:v2639p0013*
 ID_MODEL_FROM_DATABASE=MTi-300 AHRS

usb:v2639p0017*
 ID_MODEL_FROM_DATABASE=MTi-G 7xx GNSS/INS

usb:v2639p0100*
 ID_MODEL_FROM_DATABASE=Body Pack

usb:v2639p0101*
 ID_MODEL_FROM_DATABASE=Awinda Station

usb:v2639p0102*
 ID_MODEL_FROM_DATABASE=Awinda Dongle

usb:v2639p0103*
 ID_MODEL_FROM_DATABASE=Sync Station

usb:v2639p0200*
 ID_MODEL_FROM_DATABASE=MTw

usb:v2639p0300*
 ID_MODEL_FROM_DATABASE=Motion Tracker Development Board

usb:v2639p0301*
 ID_MODEL_FROM_DATABASE=MTi Converter

usb:v2639pD00D*
 ID_MODEL_FROM_DATABASE=Wireless Receiver

usb:v264A*
 ID_VENDOR_FROM_DATABASE=Thermaltake

usb:v264Ap1004*
 ID_MODEL_FROM_DATABASE=Ventus

usb:v2650*
 ID_VENDOR_FROM_DATABASE=Electronics For Imaging, Inc. [hex]

usb:v2650p1311*
 ID_MODEL_FROM_DATABASE=eBeam Classic [Luidia]

usb:v2659*
 ID_VENDOR_FROM_DATABASE=Sundtek

usb:v2659p1101*
 ID_MODEL_FROM_DATABASE=TNT DVB-T/DAB/DAB+/FM

usb:v2659p1201*
 ID_MODEL_FROM_DATABASE=FM Transmitter/Receiver

usb:v2659p1202*
 ID_MODEL_FROM_DATABASE=MediaTV Analog/FM/DVB-T

usb:v2659p1203*
 ID_MODEL_FROM_DATABASE=MediaTV Analog/FM/DVB-T MiniPCIe

usb:v2659p1204*
 ID_MODEL_FROM_DATABASE=MediaTV Analog/FM/ATSC

usb:v2659p1205*
 ID_MODEL_FROM_DATABASE=SkyTV Ultimate V

usb:v2659p1206*
 ID_MODEL_FROM_DATABASE=MediaTV DVB-T MiniPCIe

usb:v2659p1207*
 ID_MODEL_FROM_DATABASE=Sundtek HD Capture

usb:v2659p1208*
 ID_MODEL_FROM_DATABASE=Sundtek SkyTV Ultimate III

usb:v2659p1209*
 ID_MODEL_FROM_DATABASE=MediaTV Analog/FM/ATSC MiniPCIe

usb:v2659p1210*
 ID_MODEL_FROM_DATABASE=MediaTV Pro III (EU)

usb:v2659p1211*
 ID_MODEL_FROM_DATABASE=MediaTV Pro III (US)

usb:v2659p1212*
 ID_MODEL_FROM_DATABASE=MediaTV Pro III MiniPCIe (EU)

usb:v2659p1213*
 ID_MODEL_FROM_DATABASE=MediaTV Pro III MiniPCIe (US)

usb:v2662*
 ID_VENDOR_FROM_DATABASE=Moog Music Inc.

usb:v266E*
 ID_VENDOR_FROM_DATABASE=Silicon Integrated Systems

usb:v2672*
 ID_VENDOR_FROM_DATABASE=GoPro

usb:v2672p0004*
 ID_MODEL_FROM_DATABASE=Hero 3

usb:v2672p0006*
 ID_MODEL_FROM_DATABASE=HERO 3+ Silver Edition

usb:v2672p0007*
 ID_MODEL_FROM_DATABASE=HERO 3+ Black

usb:v2672p000E*
 ID_MODEL_FROM_DATABASE=HERO4 Black

usb:v2672p0011*
 ID_MODEL_FROM_DATABASE=Hero 3+ Black

usb:v2676*
 ID_VENDOR_FROM_DATABASE=Basler AG

usb:v2676pBA02*
 ID_MODEL_FROM_DATABASE=ace

usb:v2676pBA03*
 ID_MODEL_FROM_DATABASE=ba03 dart Vision Caera

usb:v2676pBA04*
 ID_MODEL_FROM_DATABASE=ba04 pulse Vision Camera

usb:v2676pBA05*
 ID_MODEL_FROM_DATABASE=Vision Camera

usb:v2676pBA06*
 ID_MODEL_FROM_DATABASE=Vision Camera

usb:v2676pBA07*
 ID_MODEL_FROM_DATABASE=Vision Camera

usb:v2676pBA08*
 ID_MODEL_FROM_DATABASE=Vision Camera

usb:v2676pBA09*
 ID_MODEL_FROM_DATABASE=Vision Camera

usb:v2676pBA0A*
 ID_MODEL_FROM_DATABASE=Vision Camera

usb:v2676pBA0B*
 ID_MODEL_FROM_DATABASE=Vision Camera

usb:v2676pBA0C*
 ID_MODEL_FROM_DATABASE=Vision Camera

usb:v2676pBA0D*
 ID_MODEL_FROM_DATABASE=Vision Camera

usb:v2676pBA0E*
 ID_MODEL_FROM_DATABASE=Vision Camera

usb:v2676pBA0F*
 ID_MODEL_FROM_DATABASE=Vision Camera

usb:v2685*
 ID_VENDOR_FROM_DATABASE=Cardo Peripheral Systems LTD

usb:v2685p0900*
 ID_MODEL_FROM_DATABASE=[Packtalk Bold Bluetooth Motorcycle Intercom]

usb:v2687*
 ID_VENDOR_FROM_DATABASE=Fitbit Inc.

usb:v2687pFB01*
 ID_MODEL_FROM_DATABASE=Base Station

usb:v2689*
 ID_VENDOR_FROM_DATABASE=StepOver International GmbH

usb:v2689p0601*
 ID_MODEL_FROM_DATABASE=naturaSign Pad POS

usb:v2689p0901*
 ID_MODEL_FROM_DATABASE=naturaSign Pad Light

usb:v2689p0CE1*
 ID_MODEL_FROM_DATABASE=Pad Vivid US

usb:v2689p0CF1*
 ID_MODEL_FROM_DATABASE=Pad Biometric US 5.0

usb:v2689p0D01*
 ID_MODEL_FROM_DATABASE=duraSign Pad US 10.0

usb:v2689p0DF1*
 ID_MODEL_FROM_DATABASE=duraSign Pad Biometric US 10.0

usb:v268B*
 ID_VENDOR_FROM_DATABASE=Dimension Engineering

usb:v268Bp0101*
 ID_MODEL_FROM_DATABASE=DELink 2

usb:v268Bp0201*
 ID_MODEL_FROM_DATABASE=Sabertooth 2x32

usb:v268Bp0405*
 ID_MODEL_FROM_DATABASE=Evolv DNA 200

usb:v268Bp0406*
 ID_MODEL_FROM_DATABASE=Evolv DNA 200

usb:v268Bp0407*
 ID_MODEL_FROM_DATABASE=Evolv DNA 200

usb:v268Bp0408*
 ID_MODEL_FROM_DATABASE=Evolv DNA 75

usb:v268Bp0409*
 ID_MODEL_FROM_DATABASE=Evolv DNA 250

usb:v268Bp0412*
 ID_MODEL_FROM_DATABASE=Evolv DNA 60

usb:v268Bp0413*
 ID_MODEL_FROM_DATABASE=Evolv DNA 200

usb:v268Bp0414*
 ID_MODEL_FROM_DATABASE=Evolv DNA 250

usb:v268Bp0415*
 ID_MODEL_FROM_DATABASE=Evolv DNA 75

usb:v268Bp0416*
 ID_MODEL_FROM_DATABASE=Evolv DNA 60

usb:v268Bp0417*
 ID_MODEL_FROM_DATABASE=Evolv DNA Go

usb:v268Bp0419*
 ID_MODEL_FROM_DATABASE=Evolv DNA 250 Color

usb:v268Bp0423*
 ID_MODEL_FROM_DATABASE=Evolv DNA 200

usb:v268Bp0424*
 ID_MODEL_FROM_DATABASE=Evolv DNA 250

usb:v268Bp0425*
 ID_MODEL_FROM_DATABASE=Evolv DNA 75

usb:v268Bp0426*
 ID_MODEL_FROM_DATABASE=Evolv DNA 60

usb:v268Bp8405*
 ID_MODEL_FROM_DATABASE=Evolv DNA 200 (recovery mode)

usb:v268Bp8406*
 ID_MODEL_FROM_DATABASE=Evolv DNA 200 (recovery mode)

usb:v268Bp8407*
 ID_MODEL_FROM_DATABASE=Evolv DNA 200 (recovery mode)

usb:v268Bp8408*
 ID_MODEL_FROM_DATABASE=Evolv DNA 75 (recovery mode)

usb:v268Bp8409*
 ID_MODEL_FROM_DATABASE=Evolv DNA 250 (recovery mode)

usb:v268Bp8412*
 ID_MODEL_FROM_DATABASE=Evolv DNA 60 (recovery mode)

usb:v268Bp8413*
 ID_MODEL_FROM_DATABASE=Evolv DNA 200 (recovery mode)

usb:v268Bp8414*
 ID_MODEL_FROM_DATABASE=Evolv DNA 250 (recovery mode)

usb:v268Bp8415*
 ID_MODEL_FROM_DATABASE=Evolv DNA 75 (recovery mode)

usb:v268Bp8416*
 ID_MODEL_FROM_DATABASE=Evolv DNA 60 (recovery mode)

usb:v268Bp8423*
 ID_MODEL_FROM_DATABASE=Evolv DNA 200 (recovery mode)

usb:v268Bp8424*
 ID_MODEL_FROM_DATABASE=Evolv DNA 250 (recovery mode)

usb:v268Bp8425*
 ID_MODEL_FROM_DATABASE=Evolv DNA 75 (recovery mode)

usb:v268Bp8426*
 ID_MODEL_FROM_DATABASE=Evolv DNA 60 (recovery mode)

usb:v26A9*
 ID_VENDOR_FROM_DATABASE=Research Industrial Systems Engineering

usb:v26A9p0001*
 ID_MODEL_FROM_DATABASE=Payment Terminal v1.0

usb:v26AA*
 ID_VENDOR_FROM_DATABASE=Yaesu Musen

usb:v26AAp0001*
 ID_MODEL_FROM_DATABASE=FT-1D

usb:v26AAp000E*
 ID_MODEL_FROM_DATABASE=FTA-550

usb:v26AAp000F*
 ID_MODEL_FROM_DATABASE=FTA-750

usb:v26B5*
 ID_VENDOR_FROM_DATABASE=Electrocompaniet

usb:v26B5p0002*
 ID_MODEL_FROM_DATABASE=ECD 2

usb:v26B5p0003*
 ID_MODEL_FROM_DATABASE=ECD 2 (Audio Class 1)

usb:v26B5p0004*
 ID_MODEL_FROM_DATABASE=PI 2D

usb:v26B5p0005*
 ID_MODEL_FROM_DATABASE=PI 2D (Audio Class 1)

usb:v26B5p0006*
 ID_MODEL_FROM_DATABASE=ECI 6

usb:v26B5p0007*
 ID_MODEL_FROM_DATABASE=ECI 6 (Audio Class 1)

usb:v26B5p0020*
 ID_MODEL_FROM_DATABASE=ECI 80

usb:v26BD*
 ID_VENDOR_FROM_DATABASE=Integral Memory

usb:v26BDp9917*
 ID_MODEL_FROM_DATABASE=Fusion Flash Drive

usb:v26E2*
 ID_VENDOR_FROM_DATABASE=Ingenieurbuero Dietzsch und Thiele, PartG

usb:v26F2*
 ID_VENDOR_FROM_DATABASE=Micromega

usb:v26F2p0200*
 ID_MODEL_FROM_DATABASE=MyDac

usb:v2707*
 ID_VENDOR_FROM_DATABASE=Bardac Corporation

usb:v2707p0005*
 ID_MODEL_FROM_DATABASE=drive.web

usb:v270D*
 ID_VENDOR_FROM_DATABASE=Rosand Technologies

usb:v270Dp1001*
 ID_MODEL_FROM_DATABASE=R-Idge Bootloader

usb:v270Dp1002*
 ID_MODEL_FROM_DATABASE=R-Idge Router

usb:v2717*
 ID_VENDOR_FROM_DATABASE=Xiaomi Inc.

usb:v2717p0011*
 ID_MODEL_FROM_DATABASE=100Mbps Network Card Adapter

usb:v2717p0360*
 ID_MODEL_FROM_DATABASE=Mi3W

usb:v2717p0368*
 ID_MODEL_FROM_DATABASE=Mi4 LTE

usb:v2717p3801*
 ID_MODEL_FROM_DATABASE=Mi ANC & Type-C In-Ear Earphones

usb:v2717p4106*
 ID_MODEL_FROM_DATABASE=MediaTek MT7601U [MI WiFi]

usb:v2717pFF08*
 ID_MODEL_FROM_DATABASE=Redmi Note 3 (ADB Interface)

usb:v2717pFF10*
 ID_MODEL_FROM_DATABASE=Mi/Redmi series (PTP)

usb:v2717pFF18*
 ID_MODEL_FROM_DATABASE=Mi/Redmi series (PTP + ADB)

usb:v2717pFF40*
 ID_MODEL_FROM_DATABASE=Mi/Redmi series (MTP)

usb:v2717pFF48*
 ID_MODEL_FROM_DATABASE=Mi/Redmi series (MTP + ADB)

usb:v2717pFF60*
 ID_MODEL_FROM_DATABASE=redmi prime 2

usb:v2717pFF68*
 ID_MODEL_FROM_DATABASE=Mi-4c

usb:v2717pFF80*
 ID_MODEL_FROM_DATABASE=Mi/Redmi series (RNDIS)

usb:v2717pFF88*
 ID_MODEL_FROM_DATABASE=Mi/Redmi series (RNDIS + ADB)

usb:v272A*
 ID_VENDOR_FROM_DATABASE=StarLeaf Ltd.

usb:v272C*
 ID_VENDOR_FROM_DATABASE=Signum Systems

usb:v272Cp7D13*
 ID_MODEL_FROM_DATABASE=I-jet

usb:v2730*
 ID_VENDOR_FROM_DATABASE=Citizen

usb:v2730p0FFF*
 ID_MODEL_FROM_DATABASE=CT-S2000/4000/310/CLP-521/621/631/CL-S700 Series

usb:v2730p1004*
 ID_MODEL_FROM_DATABASE=PPU-700

usb:v2730p2002*
 ID_MODEL_FROM_DATABASE=CT-S2000 Thermal Printer (Parallel mode)

usb:v2730p200F*
 ID_MODEL_FROM_DATABASE=CT-S310 Label printer

usb:v2735*
 ID_VENDOR_FROM_DATABASE=DigitalWay

usb:v2735p0003*
 ID_MODEL_FROM_DATABASE=MPIO HS100

usb:v2735p1001*
 ID_MODEL_FROM_DATABASE=MPIO FY200

usb:v2735p1002*
 ID_MODEL_FROM_DATABASE=MPIO FL100

usb:v2735p1003*
 ID_MODEL_FROM_DATABASE=MPIO FD100

usb:v2735p1004*
 ID_MODEL_FROM_DATABASE=MPIO HD200

usb:v2735p1005*
 ID_MODEL_FROM_DATABASE=MPIO HD300

usb:v2735p1006*
 ID_MODEL_FROM_DATABASE=MPIO FG100

usb:v2735p1007*
 ID_MODEL_FROM_DATABASE=MPIO FG130

usb:v2735p1008*
 ID_MODEL_FROM_DATABASE=MPIO FY300

usb:v2735p1009*
 ID_MODEL_FROM_DATABASE=MPIO FY400

usb:v2735p100A*
 ID_MODEL_FROM_DATABASE=MPIO FL300

usb:v2735p100B*
 ID_MODEL_FROM_DATABASE=MPIO HS200

usb:v2735p100C*
 ID_MODEL_FROM_DATABASE=MPIO FL350

usb:v2735p100D*
 ID_MODEL_FROM_DATABASE=MPIO FY500

usb:v2735p100E*
 ID_MODEL_FROM_DATABASE=MPIO FY500

usb:v2735p100F*
 ID_MODEL_FROM_DATABASE=MPIO FY600

usb:v2735p1012*
 ID_MODEL_FROM_DATABASE=MPIO FL400

usb:v2735p1013*
 ID_MODEL_FROM_DATABASE=MPIO HD400

usb:v2735p1014*
 ID_MODEL_FROM_DATABASE=MPIO HD400

usb:v2735p1016*
 ID_MODEL_FROM_DATABASE=MPIO FY700

usb:v2735p1017*
 ID_MODEL_FROM_DATABASE=MPIO FY700

usb:v2735p1018*
 ID_MODEL_FROM_DATABASE=MPIO FY800

usb:v2735p1019*
 ID_MODEL_FROM_DATABASE=MPIO FY800

usb:v2735p101A*
 ID_MODEL_FROM_DATABASE=MPIO FY900

usb:v2735p101B*
 ID_MODEL_FROM_DATABASE=MPIO FY900

usb:v2735p102B*
 ID_MODEL_FROM_DATABASE=MPIO FL500

usb:v2735p102C*
 ID_MODEL_FROM_DATABASE=MPIO FL500

usb:v2735p103F*
 ID_MODEL_FROM_DATABASE=MPIO FY570

usb:v2735p1040*
 ID_MODEL_FROM_DATABASE=MPIO FY570

usb:v2735p1041*
 ID_MODEL_FROM_DATABASE=MPIO FY670

usb:v2735p1042*
 ID_MODEL_FROM_DATABASE=MPIO FY670

usb:v2735p1043*
 ID_MODEL_FROM_DATABASE=HCT HMD-180A

usb:v2735p1044*
 ID_MODEL_FROM_DATABASE=HCT HMD-180A

usb:v273F*
 ID_VENDOR_FROM_DATABASE=Hughski Limited

usb:v273Fp1000*
 ID_MODEL_FROM_DATABASE=ColorHug bootloader

usb:v273Fp1001*
 ID_MODEL_FROM_DATABASE=ColorHug

usb:v273Fp1002*
 ID_MODEL_FROM_DATABASE=ColorHug+

usb:v273Fp1003*
 ID_MODEL_FROM_DATABASE=ColorHug+ Bootloader

usb:v273Fp1004*
 ID_MODEL_FROM_DATABASE=ColorHug2

usb:v273Fp1005*
 ID_MODEL_FROM_DATABASE=ColorHug2 bootloader

usb:v2756*
 ID_VENDOR_FROM_DATABASE=Victor Hasselblad AB

usb:v2756p0002*
 ID_MODEL_FROM_DATABASE=X1D Camera

usb:v2759*
 ID_VENDOR_FROM_DATABASE=Philip Morris Products S.A.

usb:v2759p0003*
 ID_MODEL_FROM_DATABASE=IQOS Pocket Charger 2.4

usb:v2765*
 ID_VENDOR_FROM_DATABASE=Firstbeat Technologies, Ltd.

usb:v2765p0004*
 ID_MODEL_FROM_DATABASE=Bodyguard 2

usb:v2766*
 ID_VENDOR_FROM_DATABASE=LifeScan

usb:v2766p0000*
 ID_MODEL_FROM_DATABASE=OneTouch Verio

usb:v2770*
 ID_VENDOR_FROM_DATABASE=NHJ, Ltd

usb:v2770p0A01*
 ID_MODEL_FROM_DATABASE=ScanJet 4600 series

usb:v2770p905C*
 ID_MODEL_FROM_DATABASE=Che-Ez Snap SNAP-U/Digigr8/Soundstar TDC-35

usb:v2770p9060*
 ID_MODEL_FROM_DATABASE=A130

usb:v2770p9120*
 ID_MODEL_FROM_DATABASE=Che-ez! Snap / iClick Tiny VGA Digital Camera

usb:v2770p9130*
 ID_MODEL_FROM_DATABASE=TCG 501

usb:v2770p913C*
 ID_MODEL_FROM_DATABASE=Argus DC-1730

usb:v2770p9150*
 ID_MODEL_FROM_DATABASE=Mini Cam

usb:v2770p9153*
 ID_MODEL_FROM_DATABASE=iClick 5X

usb:v2770p915D*
 ID_MODEL_FROM_DATABASE=Cyberpix S-210S / Little Tikes My Real Digital Camera

usb:v2770p930B*
 ID_MODEL_FROM_DATABASE=CCD Webcam(PC370R)

usb:v2770p930C*
 ID_MODEL_FROM_DATABASE=CCD Webcam(PC370R)

usb:v27A8*
 ID_VENDOR_FROM_DATABASE=Square, Inc.

usb:v27A8pA120*
 ID_MODEL_FROM_DATABASE=Contactless + Chip Reader

usb:v27B8*
 ID_VENDOR_FROM_DATABASE=ThingM

usb:v27B8p01ED*
 ID_MODEL_FROM_DATABASE=blink(1)

usb:v27BD*
 ID_VENDOR_FROM_DATABASE=Codethink Ltd.

usb:v27BDp0001*
 ID_MODEL_FROM_DATABASE=Slab Node Manager

usb:v27BDp0002*
 ID_MODEL_FROM_DATABASE=Slab Node Manager JTAG

usb:v27C0*
 ID_VENDOR_FROM_DATABASE=Cadwell Laboratories, Inc.

usb:v27C0p0818*
 ID_MODEL_FROM_DATABASE=Paperlike HD-FT

usb:v27C6*
 ID_VENDOR_FROM_DATABASE=Shenzhen Goodix Technology Co.,Ltd.

usb:v27C6p5117*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v27C6p5201*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v27C6p5301*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v27C6p530C*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v27C6p532D*
 ID_MODEL_FROM_DATABASE=Fingerprint

usb:v27C6p5381*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v27C6p5385*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v27C6p538C*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v27C6p5395*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v27C6p5584*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v27C6p55B4*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v27C6p5740*
 ID_MODEL_FROM_DATABASE=Fingerprint Reader

usb:v27D4*
 ID_VENDOR_FROM_DATABASE=Blackstar Amplification Limited

usb:v27DD*
 ID_VENDOR_FROM_DATABASE=Mindeo

usb:v27DDp0002*
 ID_MODEL_FROM_DATABASE=Mindeo Virtual COM Port

usb:v27F2*
 ID_VENDOR_FROM_DATABASE=Softnautics LLP

usb:v2803*
 ID_VENDOR_FROM_DATABASE=StarLine LLC.

usb:v2803p0001*
 ID_MODEL_FROM_DATABASE=Controller Area Network car alarm module [SLCAN-2]

usb:v2806*
 ID_VENDOR_FROM_DATABASE=SIMPASS

usb:v2806p0001*
 ID_MODEL_FROM_DATABASE=N-PASS X1

usb:v2817*
 ID_VENDOR_FROM_DATABASE=Signal Hound, Inc.

usb:v2817p0002*
 ID_MODEL_FROM_DATABASE=BB60C Spectrum Analyzer

usb:v2817p0004*
 ID_MODEL_FROM_DATABASE=SM200A Spectrum Analyzer

usb:v2818*
 ID_VENDOR_FROM_DATABASE=Codex Digital Limited

usb:v2818p0001*
 ID_MODEL_FROM_DATABASE=Transfer Drive Dock

usb:v2821*
 ID_VENDOR_FROM_DATABASE=ASUSTek Computer Inc.

usb:v2821p0161*
 ID_MODEL_FROM_DATABASE=WL-161 802.11b Wireless Adapter [SiS 162U]

usb:v2821p160F*
 ID_MODEL_FROM_DATABASE=WL-160g 802.11g Wireless Adapter [Envara WiND512]

usb:v2821p3300*
 ID_MODEL_FROM_DATABASE=WL-140 / Hawking HWU36D 802.11b Wireless Adapter [Intersil PRISM 3]

usb:v2822*
 ID_VENDOR_FROM_DATABASE=REFLEXdigital

usb:v2833*
 ID_VENDOR_FROM_DATABASE=Oculus VR, Inc.

usb:v2833p0001*
 ID_MODEL_FROM_DATABASE=Rift Developer Kit 1

usb:v2833p0021*
 ID_MODEL_FROM_DATABASE=Rift DK2

usb:v2833p0031*
 ID_MODEL_FROM_DATABASE=Rift CV1

usb:v2833p0101*
 ID_MODEL_FROM_DATABASE=Latency Tester

usb:v2833p0137*
 ID_MODEL_FROM_DATABASE=Quest Headset

usb:v2833p0201*
 ID_MODEL_FROM_DATABASE=Camera DK2

usb:v2833p0211*
 ID_MODEL_FROM_DATABASE=Rift CV1 Sensor

usb:v2833p0330*
 ID_MODEL_FROM_DATABASE=Rift CV1 Audio

usb:v2833p1031*
 ID_MODEL_FROM_DATABASE=Rift CV1

usb:v2833p2021*
 ID_MODEL_FROM_DATABASE=Rift DK2

usb:v2833p2031*
 ID_MODEL_FROM_DATABASE=Rift CV1

usb:v2833p3031*
 ID_MODEL_FROM_DATABASE=Rift CV1

usb:v2836*
 ID_VENDOR_FROM_DATABASE=OUYA

usb:v286B*
 ID_VENDOR_FROM_DATABASE=STANEO SAS

usb:v286Bp0003*
 ID_MODEL_FROM_DATABASE=D6BB/D9 seismic digitizer

usb:v2886*
 ID_VENDOR_FROM_DATABASE=Seeed Technology Co., Ltd.

usb:v2886p0002*
 ID_MODEL_FROM_DATABASE=Seeeduino Lite

usb:v2890*
 ID_VENDOR_FROM_DATABASE=Teknic, Inc

usb:v2890p0213*
 ID_MODEL_FROM_DATABASE=ClearPath 4-axis Comm Hub

usb:v2899*
 ID_VENDOR_FROM_DATABASE=Toptronic Industrial Co., Ltd

usb:v2899p012C*
 ID_MODEL_FROM_DATABASE=Camera Device

usb:v289B*
 ID_VENDOR_FROM_DATABASE=Dracal/Raphnet technologies

usb:v289Bp0001*
 ID_MODEL_FROM_DATABASE=Gamecube/N64 controller v2.2

usb:v289Bp0002*
 ID_MODEL_FROM_DATABASE=2nes2snes

usb:v289Bp0003*
 ID_MODEL_FROM_DATABASE=4nes4snes

usb:v289Bp0004*
 ID_MODEL_FROM_DATABASE=Gamecube/N64 controller v2.3

usb:v289Bp0005*
 ID_MODEL_FROM_DATABASE=Saturn (Joystick mode)

usb:v289Bp0006*
 ID_MODEL_FROM_DATABASE=Saturn (Mouse mode)

usb:v289Bp0007*
 ID_MODEL_FROM_DATABASE=Famicom controller

usb:v289Bp0008*
 ID_MODEL_FROM_DATABASE=Dreamcast (Joystick mode)

usb:v289Bp0009*
 ID_MODEL_FROM_DATABASE=Dreamcast (Mouse mode)

usb:v289Bp000A*
 ID_MODEL_FROM_DATABASE=Dreamcast (Keyboard mode)

usb:v289Bp000B*
 ID_MODEL_FROM_DATABASE=Gamecube/N64 controller v2.9 (Keyboard mode)

usb:v289Bp000C*
 ID_MODEL_FROM_DATABASE=Gamecube/N64 controller v2.9 (Joystick mode)

usb:v289Bp000E*
 ID_MODEL_FROM_DATABASE=VirtualBoy controller

usb:v289Bp0010*
 ID_MODEL_FROM_DATABASE=WUSBMote v1.2 (Joystick mode)

usb:v289Bp0011*
 ID_MODEL_FROM_DATABASE=WUSBMote v1.2 (Mouse mode)

usb:v289Bp0012*
 ID_MODEL_FROM_DATABASE=WUSBMote v1.2.1 (Joystick mode)

usb:v289Bp0013*
 ID_MODEL_FROM_DATABASE=WUSBMote v1.2.1 (Mouse mode)

usb:v289Bp0014*
 ID_MODEL_FROM_DATABASE=WUSBMote v1.3 (Joystick mode)

usb:v289Bp0015*
 ID_MODEL_FROM_DATABASE=WUSBMote v1.3 (Mouse mode)

usb:v289Bp0016*
 ID_MODEL_FROM_DATABASE=WUSBMote v1.3 (I2C interface mode)

usb:v289Bp0017*
 ID_MODEL_FROM_DATABASE=Gamecube/N64 controller v3.0

usb:v289Bp0018*
 ID_MODEL_FROM_DATABASE=Atari Jaguar controller

usb:v289Bp0019*
 ID_MODEL_FROM_DATABASE=MultiDB9joy v3

usb:v289Bp001A*
 ID_MODEL_FROM_DATABASE=MultiDB9joy v3 (multitap mode)

usb:v289Bp0100*
 ID_MODEL_FROM_DATABASE=Dual-relay board

usb:v289Bp0500*
 ID_MODEL_FROM_DATABASE=Energy meter

usb:v289Bp0502*
 ID_MODEL_FROM_DATABASE=Precision barometer

usb:v289D*
 ID_VENDOR_FROM_DATABASE=Seek Thermal, Inc.

usb:v289Dp0010*
 ID_MODEL_FROM_DATABASE=PIR206 Thermal Camera [Seek Compact]

usb:v28BD*
 ID_VENDOR_FROM_DATABASE=XP-Pen

usb:v28BDp0920*
 ID_MODEL_FROM_DATABASE=Star G960 Graphic Tablet

usb:v28C7*
 ID_VENDOR_FROM_DATABASE=Ultimaker B.V.

usb:v28C7p0001*
 ID_MODEL_FROM_DATABASE=3D printer serial interface

usb:v28D4*
 ID_VENDOR_FROM_DATABASE=Devialet

usb:v28D4p0008*
 ID_MODEL_FROM_DATABASE=120/200/250/400/800/D-Premier

usb:v28DE*
 ID_VENDOR_FROM_DATABASE=Valve Software

usb:v28DEp1102*
 ID_MODEL_FROM_DATABASE=Wired Controller

usb:v28DEp1142*
 ID_MODEL_FROM_DATABASE=Wireless Steam Controller

usb:v28DEp2000*
 ID_MODEL_FROM_DATABASE=Lighthouse FPGA RX

usb:v28DEp2012*
 ID_MODEL_FROM_DATABASE=Virtual Reality Controller [VRC]

usb:v28DEp2101*
 ID_MODEL_FROM_DATABASE=Watchman Dongle

usb:v28DEp2500*
 ID_MODEL_FROM_DATABASE=Lighthouse Base Station

usb:v28E0*
 ID_VENDOR_FROM_DATABASE=PT. Prasimax Inovasi Teknologi

usb:v28E0p1001*
 ID_MODEL_FROM_DATABASE=BTS Monitoring Config for Prototype

usb:v28E0p5740*
 ID_MODEL_FROM_DATABASE=TRUMON TS-107

usb:v28E0p5741*
 ID_MODEL_FROM_DATABASE=TRUMON TS-108

usb:v28E9*
 ID_VENDOR_FROM_DATABASE=GDMicroelectronics

usb:v28E9p0189*
 ID_MODEL_FROM_DATABASE=GD32 DFU Bootloader (Longan Nano)

usb:v28F3*
 ID_VENDOR_FROM_DATABASE=Clover Network, Inc.

usb:v28F3p2000*
 ID_MODEL_FROM_DATABASE=Mobile Wi-Fi (C200)

usb:v28F3p3000*
 ID_MODEL_FROM_DATABASE=Mini

usb:v28F3p4000*
 ID_MODEL_FROM_DATABASE=Flex

usb:v28F9*
 ID_VENDOR_FROM_DATABASE=Profitap HQ BV

usb:v28F9p0001*
 ID_MODEL_FROM_DATABASE=Profishark 1G Black

usb:v28F9p0003*
 ID_MODEL_FROM_DATABASE=Profishark 1G+

usb:v28F9p0004*
 ID_MODEL_FROM_DATABASE=Profishark 1G

usb:v28F9p0005*
 ID_MODEL_FROM_DATABASE=Profishark 10G

usb:v28F9p0006*
 ID_MODEL_FROM_DATABASE=Profishark 100M

usb:v290C*
 ID_VENDOR_FROM_DATABASE=R. Hamilton & Co. Ltd.

usb:v290Cp4B4D*
 ID_MODEL_FROM_DATABASE=Mercury iPod Dock

usb:v2912*
 ID_VENDOR_FROM_DATABASE=Audioengine

usb:v2912p20C8*
 ID_MODEL_FROM_DATABASE=D1 24-bit DAC

usb:v2912p30C8*
 ID_MODEL_FROM_DATABASE=D1 24-bit DAC

usb:v2916*
 ID_VENDOR_FROM_DATABASE=Yota Devices

usb:v2931*
 ID_VENDOR_FROM_DATABASE=Jolla Oy

usb:v2931p0A01*
 ID_MODEL_FROM_DATABASE=Jolla Phone MTP

usb:v2931p0A02*
 ID_MODEL_FROM_DATABASE=Jolla Phone Developer

usb:v2931p0A05*
 ID_MODEL_FROM_DATABASE=Jolla PC connection

usb:v2931p0A07*
 ID_MODEL_FROM_DATABASE=Phone MTP

usb:v2931p0AFE*
 ID_MODEL_FROM_DATABASE=Jolla charging only

usb:v2939*
 ID_VENDOR_FROM_DATABASE=Zaber Technologies Inc.

usb:v2939p4959*
 ID_MODEL_FROM_DATABASE=A-MCB2

usb:v2939p495A*
 ID_MODEL_FROM_DATABASE=X-MCB1

usb:v2939p495B*
 ID_MODEL_FROM_DATABASE=X-MCB2

usb:v2939p49B1*
 ID_MODEL_FROM_DATABASE=X-MCB1

usb:v2939p49B2*
 ID_MODEL_FROM_DATABASE=X-MCB2

usb:v2939p49C1*
 ID_MODEL_FROM_DATABASE=X-MCC1

usb:v2939p49C2*
 ID_MODEL_FROM_DATABASE=X-MCC2

usb:v2939p49C3*
 ID_MODEL_FROM_DATABASE=X-MCC3

usb:v2939p49C4*
 ID_MODEL_FROM_DATABASE=X-MCC4

usb:v2957*
 ID_VENDOR_FROM_DATABASE=Obsidian Research Corporation

usb:v2957p0001*
 ID_MODEL_FROM_DATABASE=Management Console

usb:v2961*
 ID_VENDOR_FROM_DATABASE=Miselu

usb:v2961p0001*
 ID_MODEL_FROM_DATABASE=C.24 keyboard

usb:v296B*
 ID_VENDOR_FROM_DATABASE=Xacti Corporation

usb:v296Bp3917*
 ID_MODEL_FROM_DATABASE=CX-WE100 Camera

usb:v2972*
 ID_VENDOR_FROM_DATABASE=FiiO Electronics Technology

usb:v2972p0007*
 ID_MODEL_FROM_DATABASE=X3 2nd gen audio player / DAC

usb:v298D*
 ID_VENDOR_FROM_DATABASE=Next Biometrics

usb:v298Dp2020*
 ID_MODEL_FROM_DATABASE=NB-2020-U Fingerprint Reader

usb:v29BD*
 ID_VENDOR_FROM_DATABASE=Silicon Works

usb:v29BDp4101*
 ID_MODEL_FROM_DATABASE=Multi-touch Device

usb:v29C1*
 ID_VENDOR_FROM_DATABASE=Taztag

usb:v29C1p1105*
 ID_MODEL_FROM_DATABASE=M17-G903-1 [Tazpad]

usb:v29C1p1107*
 ID_MODEL_FROM_DATABASE=M17-G903-A [Tazpad] (CCID)

usb:v29C2*
 ID_VENDOR_FROM_DATABASE=Lewitt GmbH

usb:v29C2p0001*
 ID_MODEL_FROM_DATABASE=DGT 650

usb:v29C2p0003*
 ID_MODEL_FROM_DATABASE=DGT 450

usb:v29C2p0009*
 ID_MODEL_FROM_DATABASE=DGT 260

usb:v29C2p0011*
 ID_MODEL_FROM_DATABASE=Stream 4x5

usb:v29C3*
 ID_VENDOR_FROM_DATABASE=Noviga

usb:v29E2*
 ID_VENDOR_FROM_DATABASE=Huatune Technology (Shanghai) Co., Ltd.

usb:v29E7*
 ID_VENDOR_FROM_DATABASE=Brunel University

usb:v29E8*
 ID_VENDOR_FROM_DATABASE=4Links Limited

usb:v29EA*
 ID_VENDOR_FROM_DATABASE=Kinesis Corporation

usb:v29EAp0102*
 ID_MODEL_FROM_DATABASE=Advantage2 Keyboard

usb:v29F1*
 ID_VENDOR_FROM_DATABASE=Canaan Creative Co., Ltd

usb:v29F1p33F1*
 ID_MODEL_FROM_DATABASE=Avalon nano 1.0

usb:v29F1p33F2*
 ID_MODEL_FROM_DATABASE=Avalon USB2IIC Converter

usb:v29F1p33F3*
 ID_MODEL_FROM_DATABASE=Avalon nano 2.0

usb:v29F1p40F1*
 ID_MODEL_FROM_DATABASE=Avalon4 mini

usb:v2A03*
 ID_VENDOR_FROM_DATABASE=dog hunter AG

usb:v2A03p0001*
 ID_MODEL_FROM_DATABASE=Linino ONE (bootloader)

usb:v2A03p0036*
 ID_MODEL_FROM_DATABASE=Arduino Leonardo (bootloader)

usb:v2A03p0037*
 ID_MODEL_FROM_DATABASE=Arduino Micro (bootloader)

usb:v2A03p0038*
 ID_MODEL_FROM_DATABASE=Arduino Robot Control (bootloader)

usb:v2A03p0039*
 ID_MODEL_FROM_DATABASE=Arduino Robot Motor (bootloader)

usb:v2A03p003A*
 ID_MODEL_FROM_DATABASE=Arduino Micro ADK rev3 (bootloader)

usb:v2A03p003B*
 ID_MODEL_FROM_DATABASE=Arduino usb2serial

usb:v2A03p003C*
 ID_MODEL_FROM_DATABASE=Arduino Explora (bootloader)

usb:v2A03p003D*
 ID_MODEL_FROM_DATABASE=Arduino Due (usb2serial)

usb:v2A03p003E*
 ID_MODEL_FROM_DATABASE=Arduino Due

usb:v2A03p0041*
 ID_MODEL_FROM_DATABASE=Arduino Yun (bootloader)

usb:v2A03p0042*
 ID_MODEL_FROM_DATABASE=Arduino Mega 2560 Rev3

usb:v2A03p0043*
 ID_MODEL_FROM_DATABASE=Arduino Uno Rev3

usb:v2A03p004D*
 ID_MODEL_FROM_DATABASE=Arduino Zero Pro (bootloader)

usb:v2A03p8001*
 ID_MODEL_FROM_DATABASE=Linino ONE (CDC ACM)

usb:v2A03p8036*
 ID_MODEL_FROM_DATABASE=Arduino Leonardo (CDC ACM)

usb:v2A03p8037*
 ID_MODEL_FROM_DATABASE=Arduino Micro (CDC ACM)

usb:v2A03p8038*
 ID_MODEL_FROM_DATABASE=Arduino Robot Control (CDC ACM)

usb:v2A03p8039*
 ID_MODEL_FROM_DATABASE=Arduino Robot Motor (CDC ACM)

usb:v2A03p803A*
 ID_MODEL_FROM_DATABASE=Arduino Micro ADK rev3 (CDC ACM)

usb:v2A03p803C*
 ID_MODEL_FROM_DATABASE=Arduino Explora (CDC ACM)

usb:v2A03p8041*
 ID_MODEL_FROM_DATABASE=Arduino Yun (CDC ACM)

usb:v2A03p804D*
 ID_MODEL_FROM_DATABASE=Arduino Zero Pro (CDC ACM)

usb:v2A0E*
 ID_VENDOR_FROM_DATABASE=Shenzhen DreamSource Technology Co., Ltd.

usb:v2A13*
 ID_VENDOR_FROM_DATABASE=Grabba International

usb:v2A13p0000*
 ID_MODEL_FROM_DATABASE=S-Series data capture device

usb:v2A19*
 ID_VENDOR_FROM_DATABASE=Numato Systems Pvt. Ltd

usb:v2A19p1002*
 ID_MODEL_FROM_DATABASE=Mimas V2 Spartan6 FPGA Development Board

usb:v2A19p5440*
 ID_MODEL_FROM_DATABASE=TimVideos' HDMI2USB Opsis (FX2) - Unconfigured device

usb:v2A19p5441*
 ID_MODEL_FROM_DATABASE=TimVideos' HDMI2USB Opsis (FX2) - Firmware load/upgrade

usb:v2A19p5442*
 ID_MODEL_FROM_DATABASE=TimVideos' HDMI2USB Opsis (FX2) - HDMI/DVI Capture Device

usb:v2A1D*
 ID_VENDOR_FROM_DATABASE=Oxford Nanopore Technologies plc

usb:v2A1Dp0000*
 ID_MODEL_FROM_DATABASE=MinION

usb:v2A1Dp0001*
 ID_MODEL_FROM_DATABASE=MinION

usb:v2A1Dp0010*
 ID_MODEL_FROM_DATABASE=VolTRAX

usb:v2A1Dp0011*
 ID_MODEL_FROM_DATABASE=VolTRAX

usb:v2A1Dp0020*
 ID_MODEL_FROM_DATABASE=GridION

usb:v2A1Dp0021*
 ID_MODEL_FROM_DATABASE=GridION

usb:v2A1Dp0120*
 ID_MODEL_FROM_DATABASE=GridION Mk1 Bay

usb:v2A1Dp0121*
 ID_MODEL_FROM_DATABASE=GridION Mk1 Bay

usb:v2A37*
 ID_VENDOR_FROM_DATABASE=RTD Embedded Technologies, Inc.

usb:v2A37p5110*
 ID_MODEL_FROM_DATABASE=UPS35110/UPS25110

usb:v2A39*
 ID_VENDOR_FROM_DATABASE=RME

usb:v2A39p3FB0*
 ID_MODEL_FROM_DATABASE=Babyface Pro (Class Compliant Mode)

usb:v2A39p3FC0*
 ID_MODEL_FROM_DATABASE=Babyface Pro

usb:v2A39p3FC1*
 ID_MODEL_FROM_DATABASE=Fireface UFX+

usb:v2A39p3FC2*
 ID_MODEL_FROM_DATABASE=Fireface UFX+

usb:v2A39p3FD1*
 ID_MODEL_FROM_DATABASE=Fireface UFX+

usb:v2A3C*
 ID_VENDOR_FROM_DATABASE=Trinamic Motion Control GmbH & Co KG

usb:v2A3Cp0100*
 ID_MODEL_FROM_DATABASE=Stepper Device

usb:v2A3Cp0200*
 ID_MODEL_FROM_DATABASE=BLDC/PMSM Device

usb:v2A3Cp0300*
 ID_MODEL_FROM_DATABASE=Motor Control Device

usb:v2A3Cp0400*
 ID_MODEL_FROM_DATABASE=Motor Control Device

usb:v2A3Cp0500*
 ID_MODEL_FROM_DATABASE=PANdrive(TM)

usb:v2A3Cp0600*
 ID_MODEL_FROM_DATABASE=motionCookie(TM)

usb:v2A3Cp0700*
 ID_MODEL_FROM_DATABASE=Evaluation Device

usb:v2A3Cp0800*
 ID_MODEL_FROM_DATABASE=Interface Device

usb:v2A3Cp0900*
 ID_MODEL_FROM_DATABASE=Generic Device

usb:v2A45*
 ID_VENDOR_FROM_DATABASE=Meizu Corp.

usb:v2A45p0001*
 ID_MODEL_FROM_DATABASE=MX Phone (BICR)

usb:v2A45p0C02*
 ID_MODEL_FROM_DATABASE=MX Phone (MTP & ADB)

usb:v2A45p0C03*
 ID_MODEL_FROM_DATABASE=MX Phone (BICR & ADB)

usb:v2A45p2008*
 ID_MODEL_FROM_DATABASE=MX Phone (MTP)

usb:v2A45p200A*
 ID_MODEL_FROM_DATABASE=MX Phone (MTP & ACM & ADB)

usb:v2A45p200B*
 ID_MODEL_FROM_DATABASE=MX Phone (PTP)

usb:v2A45p200C*
 ID_MODEL_FROM_DATABASE=MX Phone (PTP & ADB)

usb:v2A45p2012*
 ID_MODEL_FROM_DATABASE=MX Phone (MTP & ACM)

usb:v2A47*
 ID_VENDOR_FROM_DATABASE=Mundo Reader, S.L.

usb:v2A47p0C02*
 ID_MODEL_FROM_DATABASE=bq Aquaris E4.5

usb:v2A47p201D*
 ID_MODEL_FROM_DATABASE=Tablet Edison 3

usb:v2A47p903A*
 ID_MODEL_FROM_DATABASE=bq Aquaris U

usb:v2A4B*
 ID_VENDOR_FROM_DATABASE=EMULEX Corporation

usb:v2A4Bp0400*
 ID_MODEL_FROM_DATABASE=Pilot4 Integrated Hub

usb:v2A62*
 ID_VENDOR_FROM_DATABASE=Flymaster Avionics

usb:v2A62pB301*
 ID_MODEL_FROM_DATABASE=LiveSD

usb:v2A62pB302*
 ID_MODEL_FROM_DATABASE=NavSD

usb:v2A6E*
 ID_VENDOR_FROM_DATABASE=Bare Conductive

usb:v2A6Ep0003*
 ID_MODEL_FROM_DATABASE=Touch Board

usb:v2A6Ep8003*
 ID_MODEL_FROM_DATABASE=Touch Board

usb:v2A70*
 ID_VENDOR_FROM_DATABASE=OnePlus Technology (Shenzhen) Co., Ltd.

usb:v2A70p4EE7*
 ID_MODEL_FROM_DATABASE=ONEPLUS A3010 [OnePlus 3T] / A5010 [OnePlus 5T] / A6003 [OnePlus 6] (Charging + USB debugging modes)

usb:v2A70p904D*
 ID_MODEL_FROM_DATABASE=A3000 phone (PTP mode) [3T]

usb:v2A70p904E*
 ID_MODEL_FROM_DATABASE=A3000 phone (PTP mode, with debug) [3T]

usb:v2A88*
 ID_VENDOR_FROM_DATABASE=DFU Technology Ltd

usb:v2A88pFFFF*
 ID_MODEL_FROM_DATABASE=DFU

usb:v2A8D*
 ID_VENDOR_FROM_DATABASE=Keysight Technologies, Inc.

usb:v2AB6*
 ID_VENDOR_FROM_DATABASE=T+A elektroakustik GmbH & Co KG, Germany

usb:v2AB6p0001*
 ID_MODEL_FROM_DATABASE=PDP3000HV DAC

usb:v2AB6p0002*
 ID_MODEL_FROM_DATABASE=MP1000E, MP2000R, MP2500R, MP3100HV

usb:v2AB6p0003*
 ID_MODEL_FROM_DATABASE=TA HD AUDIO V2

usb:v2AC7*
 ID_VENDOR_FROM_DATABASE=Ultrahaptics Ltd.

usb:v2AC7p0101*
 ID_MODEL_FROM_DATABASE=Evaluation Kit [Dragonfly]

usb:v2AC7p0102*
 ID_MODEL_FROM_DATABASE=UHDK5

usb:v2AC7p0104*
 ID_MODEL_FROM_DATABASE=Touchbase

usb:v2AC7p0110*
 ID_MODEL_FROM_DATABASE=STRATOS Explore

usb:v2AC7p0111*
 ID_MODEL_FROM_DATABASE=STRATOS Explore DFU

usb:v2AC7p0112*
 ID_MODEL_FROM_DATABASE=STRATOS Inspire

usb:v2AC7p0113*
 ID_MODEL_FROM_DATABASE=STRATOS Inspire DFU

usb:v2AC7pFFFF*
 ID_MODEL_FROM_DATABASE=DFU

usb:v2AD1*
 ID_VENDOR_FROM_DATABASE=Picotronic GmbH

usb:v2AD1p7AB8*
 ID_MODEL_FROM_DATABASE=Turningtable

usb:v2AE5*
 ID_VENDOR_FROM_DATABASE=Fairphone B.V.

usb:v2AE5p9015*
 ID_MODEL_FROM_DATABASE=2 (Mass storage & ADB)

usb:v2AE5p9024*
 ID_MODEL_FROM_DATABASE=2 (RNDIS & ADB)

usb:v2AE5p9039*
 ID_MODEL_FROM_DATABASE=2 (MTP & ADB)

usb:v2AE5p904D*
 ID_MODEL_FROM_DATABASE=2 (PTP)

usb:v2AE5p904E*
 ID_MODEL_FROM_DATABASE=2 (PTP & ADB)

usb:v2AE5p90DE*
 ID_MODEL_FROM_DATABASE=2 (Charging)

usb:v2AE5pF000*
 ID_MODEL_FROM_DATABASE=2 (Mass storage)

usb:v2AE5pF003*
 ID_MODEL_FROM_DATABASE=2 (MTP)

usb:v2AE5pF005*
 ID_MODEL_FROM_DATABASE=2 (tethering)

usb:v2AE5pF00E*
 ID_MODEL_FROM_DATABASE=2 (RNDIS)

usb:v2AEC*
 ID_VENDOR_FROM_DATABASE=Ambiq Micro, Inc.

usb:v2AECp6011*
 ID_MODEL_FROM_DATABASE=Converter

usb:v2AF4*
 ID_VENDOR_FROM_DATABASE=ROLI Ltd.

usb:v2AF4p0100*
 ID_MODEL_FROM_DATABASE=Seaboard GRAND

usb:v2AF4p0200*
 ID_MODEL_FROM_DATABASE=Seaboard RISE

usb:v2AF4p0300*
 ID_MODEL_FROM_DATABASE=BlueWing Proto

usb:v2AF4p0400*
 ID_MODEL_FROM_DATABASE=VOICE

usb:v2AF4p0500*
 ID_MODEL_FROM_DATABASE=BLOCKS

usb:v2B03*
 ID_VENDOR_FROM_DATABASE=STEREOLABS

usb:v2B03pF580*
 ID_MODEL_FROM_DATABASE=ZED camera

usb:v2B03pF582*
 ID_MODEL_FROM_DATABASE=ZED camera

usb:v2B03pF680*
 ID_MODEL_FROM_DATABASE=ZED-M camera

usb:v2B03pF681*
 ID_MODEL_FROM_DATABASE=ZED-M HID Interface

usb:v2B03pF682*
 ID_MODEL_FROM_DATABASE=ZED-M camera

usb:v2B03pF683*
 ID_MODEL_FROM_DATABASE=ZED-M HID Interface

usb:v2B03pF684*
 ID_MODEL_FROM_DATABASE=ZED-M camera

usb:v2B0E*
 ID_VENDOR_FROM_DATABASE=LeEco

usb:v2B0Ep171B*
 ID_MODEL_FROM_DATABASE=Le2

usb:v2B0Ep171E*
 ID_MODEL_FROM_DATABASE=Le2 in USB tethering mode

usb:v2B0Ep1830*
 ID_MODEL_FROM_DATABASE=Le1 Pro

usb:v2B0Ep1844*
 ID_MODEL_FROM_DATABASE=Le Max2

usb:v2B0Ep2B0E*
 ID_MODEL_FROM_DATABASE=LeEco

usb:v2B0Ep6108*
 ID_MODEL_FROM_DATABASE=Lex720 [LePro 3] in connection sharing usb

usb:v2B0Ep610B*
 ID_MODEL_FROM_DATABASE=Lex720 [LePro 3] in Camera mode

usb:v2B0Ep610C*
 ID_MODEL_FROM_DATABASE=Lex720 [LePro 3]

usb:v2B0Ep610D*
 ID_MODEL_FROM_DATABASE=Lex720 [LePro 3] in debug

usb:v2B23*
 ID_VENDOR_FROM_DATABASE=Red Hat, Inc.

usb:v2B23pCAFE*
 ID_MODEL_FROM_DATABASE=UsbDk (USB Development Kit)

usb:v2B24*
 ID_VENDOR_FROM_DATABASE=KeepKey LLC

usb:v2B24p0001*
 ID_MODEL_FROM_DATABASE=Bitcoin Wallet [KeepKey]

usb:v2B24p0002*
 ID_MODEL_FROM_DATABASE=Bitcoin Wallet

usb:v2B3E*
 ID_VENDOR_FROM_DATABASE=NewAE Technology Inc.

usb:v2B3EpACE2*
 ID_MODEL_FROM_DATABASE=CW1173 [ChipWhisperer-Lite]

usb:v2B4C*
 ID_VENDOR_FROM_DATABASE=ZUK

usb:v2B4Cp1004*
 ID_MODEL_FROM_DATABASE=Z1 MTP

usb:v2BC5*
 ID_VENDOR_FROM_DATABASE=Orbbec 3D Technology International, Inc

usb:v2BC5p0401*
 ID_MODEL_FROM_DATABASE=Astra

usb:v2BC5p0403*
 ID_MODEL_FROM_DATABASE=Astra Pro

usb:v2BC5p0407*
 ID_MODEL_FROM_DATABASE=Astra Mini S

usb:v2BCC*
 ID_VENDOR_FROM_DATABASE=InoTec GmbH Organisationssysteme

usb:v2BD6*
 ID_VENDOR_FROM_DATABASE=Coroware, Inc.

usb:v2BD6p4201*
 ID_MODEL_FROM_DATABASE=RS-485 Controller and Interface [Cypress Semiconductor]

usb:v2BD8*
 ID_VENDOR_FROM_DATABASE=ROPEX Industrie-Elektronik GmbH

usb:v2C02*
 ID_VENDOR_FROM_DATABASE=Planex Communications

usb:v2C02p14EA*
 ID_MODEL_FROM_DATABASE=GW-US11H WLAN

usb:v2C1A*
 ID_VENDOR_FROM_DATABASE=Dolphin Peripherals

usb:v2C1Ap0000*
 ID_MODEL_FROM_DATABASE=Wireless Optical Mouse

usb:v2C23*
 ID_VENDOR_FROM_DATABASE=Supermicro Computer Incorporated

usb:v2C23p1B83*
 ID_MODEL_FROM_DATABASE=NIC

usb:v2C4E*
 ID_VENDOR_FROM_DATABASE=Mercucys INC

usb:v2C4Ep0100*
 ID_MODEL_FROM_DATABASE=MW300UM RTL8192EU wifi

usb:v2C4F*
 ID_VENDOR_FROM_DATABASE=Canon Electronic Business Machines Co., Ltd.

usb:v2C4Fp3003*
 ID_MODEL_FROM_DATABASE=PR Wireless Presenter

usb:v2C55*
 ID_VENDOR_FROM_DATABASE=Magic Leap, Inc.

usb:v2C55pA100*
 ID_MODEL_FROM_DATABASE=ML1 Lightpack (MLDB)

usb:v2C55pB100*
 ID_MODEL_FROM_DATABASE=ML1 Lightpack (fastboot)

usb:v2C55pC001*
 ID_MODEL_FROM_DATABASE=ML1 Control (COM)

usb:v2C55pC002*
 ID_MODEL_FROM_DATABASE=ML1 Control (Bootloader)

usb:v2C7C*
 ID_VENDOR_FROM_DATABASE=Quectel Wireless Solutions Co., Ltd.

usb:v2C7Cp0121*
 ID_MODEL_FROM_DATABASE=EC21 LTE modem

usb:v2C7Cp0125*
 ID_MODEL_FROM_DATABASE=EC25 LTE modem

usb:v2C7Cp0191*
 ID_MODEL_FROM_DATABASE=EG91 LTE modem

usb:v2C7Cp0195*
 ID_MODEL_FROM_DATABASE=EG95 LTE modem

usb:v2C7Cp0296*
 ID_MODEL_FROM_DATABASE=BG96 CAT-M1/NB-IoT modem

usb:v2C7Cp0306*
 ID_MODEL_FROM_DATABASE=EG06/EP06/EM06 LTE-A modem

usb:v2C7Cp0435*
 ID_MODEL_FROM_DATABASE=AG35 LTE modem

usb:v2C97*
 ID_VENDOR_FROM_DATABASE=Ledger

usb:v2C97p0000*
 ID_MODEL_FROM_DATABASE=Blue

usb:v2C97p0001*
 ID_MODEL_FROM_DATABASE=Nano S

usb:v2C97p0004*
 ID_MODEL_FROM_DATABASE=Nano X

usb:v2C99*
 ID_VENDOR_FROM_DATABASE=Prusa

usb:v2C99p0001*
 ID_MODEL_FROM_DATABASE=i3 MK2S

usb:v2C9C*
 ID_VENDOR_FROM_DATABASE=Vayyar Imaging Ltd.

usb:v2C9Cp1000*
 ID_MODEL_FROM_DATABASE=Walabot Makers Series

usb:v2C9Cp1020*
 ID_MODEL_FROM_DATABASE=Walabot DIY

usb:v2C9Cp1022*
 ID_MODEL_FROM_DATABASE=Walabot DIY Plus

usb:v2C9Cp1030*
 ID_MODEL_FROM_DATABASE=Walabot Home (vHC)

usb:v2C9Cp9100*
 ID_MODEL_FROM_DATABASE=VNAKit

usb:v2C9D*
 ID_VENDOR_FROM_DATABASE=Nod Inc

usb:v2C9Dp90A0*
 ID_MODEL_FROM_DATABASE=Goa

usb:v2C9DpBAC5*
 ID_MODEL_FROM_DATABASE=Backspin

usb:v2CA3*
 ID_VENDOR_FROM_DATABASE=DJI Technology Co., Ltd.

usb:v2CA3p0008*
 ID_MODEL_FROM_DATABASE=Mavic Mini MR1SD25 Remote controller

usb:v2CB7*
 ID_VENDOR_FROM_DATABASE=Fibocom

usb:v2CB7p0210*
 ID_MODEL_FROM_DATABASE=L830-EB-00 LTE WWAN Modem

usb:v2CC0*
 ID_VENDOR_FROM_DATABASE=Hangzhou Zero Zero Infinity Technology Co., Ltd.

usb:v2CC2*
 ID_VENDOR_FROM_DATABASE=Lautsprecher Teufel GmbH

usb:v2CCF*
 ID_VENDOR_FROM_DATABASE=Hypersecu

usb:v2CCFp0880*
 ID_MODEL_FROM_DATABASE=HyperFIDO

usb:v2CD9*
 ID_VENDOR_FROM_DATABASE=Cambrionix Ltd

usb:v2CD9p0804*
 ID_MODEL_FROM_DATABASE=PowerSync4 USBPD Hub

usb:v2CDC*
 ID_VENDOR_FROM_DATABASE=Sea & Sun Technology GmbH

usb:v2CDCpF232*
 ID_MODEL_FROM_DATABASE=CTD48Mc CTD Probe

usb:v2CE5*
 ID_VENDOR_FROM_DATABASE=InX8 Inc [AKiTiO]

usb:v2CE5p0014*
 ID_MODEL_FROM_DATABASE=Mass Storage [NT2 U31C]

usb:v2CF0*
 ID_VENDOR_FROM_DATABASE=Nuand LLC

usb:v2CF0p5246*
 ID_MODEL_FROM_DATABASE=bladeRF

usb:v2CF0p5250*
 ID_MODEL_FROM_DATABASE=bladeRF 2.0 micro

usb:v2D1F*
 ID_VENDOR_FROM_DATABASE=Wacom Taiwan Information Co. Ltd.

usb:v2D25*
 ID_VENDOR_FROM_DATABASE=Kronegger GmbH.

usb:v2D2D*
 ID_VENDOR_FROM_DATABASE=proxmark.org

usb:v2D2Dp504D*
 ID_MODEL_FROM_DATABASE=Proxmark3

usb:v2D37*
 ID_VENDOR_FROM_DATABASE=Zhuhai Poskey Technology Co.,Ltd

usb:v2D6B*
 ID_VENDOR_FROM_DATABASE=NetUP Inc.

usb:v2D6Bp7777*
 ID_MODEL_FROM_DATABASE=Joker TV universal DTV receiver

usb:v2D81*
 ID_VENDOR_FROM_DATABASE=Evollve Inc.

usb:v2D81p4F01*
 ID_MODEL_FROM_DATABASE=Ozobot Evo

usb:v2D84*
 ID_VENDOR_FROM_DATABASE=Zhuhai Poskey Technology Co.,Ltd

usb:v2D84pB806*
 ID_MODEL_FROM_DATABASE=DT-108B Thermal Label Printer

usb:v2DC8*
 ID_VENDOR_FROM_DATABASE=8BitDo

usb:v2DC8p5006*
 ID_MODEL_FROM_DATABASE=M30 Bluetooth gamepad

usb:v2DC8p5750*
 ID_MODEL_FROM_DATABASE=Bootloader

usb:v2DC8p6000*
 ID_MODEL_FROM_DATABASE=SF30 Pro gamepad

usb:v2DC8p6001*
 ID_MODEL_FROM_DATABASE=SN30/SF30 Pro gamepad

usb:v2DC8pAB11*
 ID_MODEL_FROM_DATABASE=F30 gamepad

usb:v2DC8pAB12*
 ID_MODEL_FROM_DATABASE=N30 gamepad

usb:v2DC8pAB20*
 ID_MODEL_FROM_DATABASE=SN30/SF30 gamepad

usb:v2DC8pAB21*
 ID_MODEL_FROM_DATABASE=SF30 gamepad

usb:v2DCF*
 ID_VENDOR_FROM_DATABASE=Dialog Semiconductor

usb:v2DCFpC951*
 ID_MODEL_FROM_DATABASE=Audio Class 1.0 Devices

usb:v2DCFpC952*
 ID_MODEL_FROM_DATABASE=Audio Class 2.0 Devices

usb:v2DEF*
 ID_VENDOR_FROM_DATABASE=Kirale Technologies

usb:v2DEFp0000*
 ID_MODEL_FROM_DATABASE=KiNOS Boot DFU

usb:v2DEFp0102*
 ID_MODEL_FROM_DATABASE=KTWM102 Module

usb:v2DF2*
 ID_VENDOR_FROM_DATABASE=LIPS Corporation

usb:v2DF2p0213*
 ID_MODEL_FROM_DATABASE=LIPSedge DL 3D ToF Camera

usb:v2DF2p0215*
 ID_MODEL_FROM_DATABASE=LIPSedge DL RGB Camera

usb:v2DF2p2102*
 ID_MODEL_FROM_DATABASE=LIPSedge 5 Megapixel RGB Camera

usb:v2E04*
 ID_VENDOR_FROM_DATABASE=HMD Global

usb:v2E04p0001*
 ID_MODEL_FROM_DATABASE=Nokia 3310 3G

usb:v2E04p0002*
 ID_MODEL_FROM_DATABASE=Nokia 3310 3G

usb:v2E04p0A14*
 ID_MODEL_FROM_DATABASE=Nokia 3310 3G

usb:v2E04pC008*
 ID_MODEL_FROM_DATABASE=Tethering Network Interface

usb:v2E04pC009*
 ID_MODEL_FROM_DATABASE=Nokia 1 (bootloader)

usb:v2E04pC025*
 ID_MODEL_FROM_DATABASE=Nokia 8 (MTP mode)

usb:v2E04pC026*
 ID_MODEL_FROM_DATABASE=Nokia Smartphone

usb:v2E04pC029*
 ID_MODEL_FROM_DATABASE=Nokia 8 (PTP mode)

usb:v2E04pC031*
 ID_MODEL_FROM_DATABASE=Nokia 1 (PTP)

usb:v2E04pC03F*
 ID_MODEL_FROM_DATABASE=Nokia 8 (MIDI mode)

usb:v2E0E*
 ID_VENDOR_FROM_DATABASE=Hatteland Display AS

usb:v2E0Ep0001*
 ID_MODEL_FROM_DATABASE=CAN Gateway

usb:v2E24*
 ID_VENDOR_FROM_DATABASE=Hyperkin

usb:v2E24p0652*
 ID_MODEL_FROM_DATABASE=Duke Xbox One controller

usb:v2E24p1688*
 ID_MODEL_FROM_DATABASE=X91 Xbox One controller

usb:v2E3B*
 ID_VENDOR_FROM_DATABASE=uSens Inc.

usb:v2E57*
 ID_VENDOR_FROM_DATABASE=MEGWARE Computer Vertrieb und Service GmbH

usb:v2E57p454D*
 ID_MODEL_FROM_DATABASE=SlideSX EnergyMeter

usb:v2E57p454E*
 ID_MODEL_FROM_DATABASE=SlideSX EnergyMeter DFU

usb:v2E57p5CBA*
 ID_MODEL_FROM_DATABASE=SlideSX / ClustSafe Bus Adapter

usb:v2E69*
 ID_VENDOR_FROM_DATABASE=Swift Navigation

usb:v2E69p1001*
 ID_MODEL_FROM_DATABASE=Piksi Multi

usb:v2E95*
 ID_VENDOR_FROM_DATABASE=SCUF Gaming

usb:v2E95p7725*
 ID_MODEL_FROM_DATABASE=Controller

usb:v2ECC*
 ID_VENDOR_FROM_DATABASE=ASR Microelectronics

usb:v2ECCp2001*
 ID_MODEL_FROM_DATABASE=Smartphone (MTP)

usb:v2ECCp2002*
 ID_MODEL_FROM_DATABASE=Smartphone (MTP + ADB)

usb:v2ECCp2007*
 ID_MODEL_FROM_DATABASE=Smartphone (ADB Interface)

usb:v2F76*
 ID_VENDOR_FROM_DATABASE=KeyXentic Inc.

usb:v2F76p0905*
 ID_MODEL_FROM_DATABASE=KX905 Smart Terminal

usb:v2F76p0906*
 ID_MODEL_FROM_DATABASE=KX906 Smart Card Reader

usb:v2F76p1906*
 ID_MODEL_FROM_DATABASE=KX906 Smart Token (Mass Storage)

usb:v2FAD*
 ID_VENDOR_FROM_DATABASE=Definium Technologies

usb:v2FB0*
 ID_VENDOR_FROM_DATABASE=Infocrypt

usb:v2FB2*
 ID_VENDOR_FROM_DATABASE=Fujitsu, Ltd

usb:v2FC0*
 ID_VENDOR_FROM_DATABASE=Sensidyne, LP

usb:v2FC0p0001*
 ID_MODEL_FROM_DATABASE=Project Archer

usb:v2FC6*
 ID_VENDOR_FROM_DATABASE=Comtrue Inc.

usb:v2FC6p6012*
 ID_MODEL_FROM_DATABASE=UAC2 Device GB

usb:v2FE0*
 ID_VENDOR_FROM_DATABASE=Xaptum, Inc.

usb:v2FE0p8B01*
 ID_MODEL_FROM_DATABASE=XAP-RC-001 ENF Router Card

usb:v2FE0p8B02*
 ID_MODEL_FROM_DATABASE=XAP-RW-001 ENF Router Card with WiFi

usb:v2FE0p8BDE*
 ID_MODEL_FROM_DATABASE=XAP-EA-002 ENF Access Card

usb:v2FE0p8BEE*
 ID_MODEL_FROM_DATABASE=XAP-EA-003 ENF Access Card

usb:v2FE3*
 ID_VENDOR_FROM_DATABASE=NordicSemiconductor

usb:v2FE7*
 ID_VENDOR_FROM_DATABASE=ELGIN S.A.

usb:v2FE7p0001*
 ID_MODEL_FROM_DATABASE=SMART S@T

usb:v2FEB*
 ID_VENDOR_FROM_DATABASE=Beijing Veikk E-Commerce Co., Ltd.

usb:v2FEBp0004*
 ID_MODEL_FROM_DATABASE=Veikk A15 Pen Tablet

usb:v2FF4*
 ID_VENDOR_FROM_DATABASE=Quixant Plc

usb:v3016*
 ID_VENDOR_FROM_DATABASE=Boundary Devices, LLC

usb:v3016p0001*
 ID_MODEL_FROM_DATABASE=Nitrogen Bootloader

usb:v3036*
 ID_VENDOR_FROM_DATABASE=Control iD

usb:v3036p0001*
 ID_MODEL_FROM_DATABASE=Print iD

usb:v3036p0002*
 ID_MODEL_FROM_DATABASE=iDBio

usb:v3037*
 ID_VENDOR_FROM_DATABASE=Beijing Chushifengmang Technology Development Co.,Ltd.

usb:v3057*
 ID_VENDOR_FROM_DATABASE=Kingsis Corporation

usb:v3057p0002*
 ID_MODEL_FROM_DATABASE=ZOWIE Gaming mouse

usb:v308F*
 ID_VENDOR_FROM_DATABASE=Input Club

usb:v308Fp0000*
 ID_MODEL_FROM_DATABASE=Infinity 60% Bootloader

usb:v308Fp0001*
 ID_MODEL_FROM_DATABASE=Infinity 60% - Standard

usb:v308Fp0002*
 ID_MODEL_FROM_DATABASE=Infinity 60% - Hacker

usb:v308Fp0003*
 ID_MODEL_FROM_DATABASE=Infinity Ergodox Bootloader

usb:v308Fp0004*
 ID_MODEL_FROM_DATABASE=Infinity Ergodox

usb:v308Fp0005*
 ID_MODEL_FROM_DATABASE=WhiteFox Bootloader

usb:v308Fp0006*
 ID_MODEL_FROM_DATABASE=WhiteFox - Vanilla

usb:v308Fp0007*
 ID_MODEL_FROM_DATABASE=WhiteFox - ISO

usb:v308Fp0008*
 ID_MODEL_FROM_DATABASE=WhiteFox - Aria

usb:v308Fp0009*
 ID_MODEL_FROM_DATABASE=WhiteFox - Winkeyless

usb:v308Fp000A*
 ID_MODEL_FROM_DATABASE=WhiteFox - True Fox

usb:v308Fp000B*
 ID_MODEL_FROM_DATABASE=WhiteFox - Jack of All Trades

usb:v308Fp000C*
 ID_MODEL_FROM_DATABASE=Infinity 60% LED Bootloader

usb:v308Fp000D*
 ID_MODEL_FROM_DATABASE=Infinity 60% LED - Standard

usb:v308Fp000E*
 ID_MODEL_FROM_DATABASE=Infinity 60% LED - Hacker

usb:v308Fp000F*
 ID_MODEL_FROM_DATABASE=Infinity 60% LED - Alphabet

usb:v308Fp0010*
 ID_MODEL_FROM_DATABASE=K-Type Bootloader

usb:v308Fp0011*
 ID_MODEL_FROM_DATABASE=K-Type

usb:v308Fp0012*
 ID_MODEL_FROM_DATABASE=Kira Bootloader

usb:v308Fp0013*
 ID_MODEL_FROM_DATABASE=Kira

usb:v308Fp0014*
 ID_MODEL_FROM_DATABASE=Gemini Dawn/Dusk Bootloader

usb:v308Fp0015*
 ID_MODEL_FROM_DATABASE=Gemini Dawn/Dusk

usb:v308Fp0016*
 ID_MODEL_FROM_DATABASE=Re:Type Bootloader

usb:v308Fp0017*
 ID_MODEL_FROM_DATABASE=Re:Type

usb:v308Fp0018*
 ID_MODEL_FROM_DATABASE=Re:Type USB Hub

usb:v308Fp0019*
 ID_MODEL_FROM_DATABASE=WhiteFox (SAM4S) Bootloader

usb:v308Fp001A*
 ID_MODEL_FROM_DATABASE=WhiteFox (SAM4S) - Vanilla

usb:v308Fp001B*
 ID_MODEL_FROM_DATABASE=WhiteFox (SAM4S) - ISO

usb:v308Fp001C*
 ID_MODEL_FROM_DATABASE=WhiteFox (SAM4S) - Aria

usb:v308Fp001D*
 ID_MODEL_FROM_DATABASE=WhiteFox (SAM4S) - Winkeyless

usb:v308Fp001E*
 ID_MODEL_FROM_DATABASE=WhiteFox (SAM4S) - True Fox

usb:v308Fp001F*
 ID_MODEL_FROM_DATABASE=WhiteFox (SAM4S) - Jack of All Trades

usb:v30A4*
 ID_VENDOR_FROM_DATABASE=Blues Wireless

usb:v30A4p0001*
 ID_MODEL_FROM_DATABASE=Notecard

usb:v30C2*
 ID_VENDOR_FROM_DATABASE=UNPARALLEL Innovation, Lda

usb:v30C2p1388*
 ID_MODEL_FROM_DATABASE=SPL Meter

usb:v30C9*
 ID_VENDOR_FROM_DATABASE=Luxvisions Innotech Limited

usb:v30EE*
 ID_VENDOR_FROM_DATABASE=Fujitsu Connected Technologies Limited

usb:v30EEp1001*
 ID_MODEL_FROM_DATABASE=F-01L

usb:v30F2*
 ID_VENDOR_FROM_DATABASE=Varex Imaging

usb:v3111*
 ID_VENDOR_FROM_DATABASE=Hiperscan GmbH

usb:v3111p0000*
 ID_MODEL_FROM_DATABASE=SGS-NT Microspectrometer

usb:v3112*
 ID_VENDOR_FROM_DATABASE=Meteca SA

usb:v3112p0001*
 ID_MODEL_FROM_DATABASE=MBC-WB01 (CDC-ACM)

usb:v3112p0002*
 ID_MODEL_FROM_DATABASE=MBC-WB01 (Bootloader)

usb:v3112p0003*
 ID_MODEL_FROM_DATABASE=ABC (CDC ACM)

usb:v3112p0004*
 ID_MODEL_FROM_DATABASE=ABC (Bootloader)

usb:v3125*
 ID_VENDOR_FROM_DATABASE=Eagletron

usb:v3125p0001*
 ID_MODEL_FROM_DATABASE=TrackerPod Camera Stand

usb:v3136*
 ID_VENDOR_FROM_DATABASE=Navini Networks

usb:v3145*
 ID_VENDOR_FROM_DATABASE=SafeLogic Inc.

usb:v3147*
 ID_VENDOR_FROM_DATABASE=Tanvas, Inc.

usb:v316C*
 ID_VENDOR_FROM_DATABASE=SigmaSense, LLC

usb:v316D*
 ID_VENDOR_FROM_DATABASE=Purism, SPC

usb:v316Dp4C4B*
 ID_MODEL_FROM_DATABASE=Librem Key

usb:v316E*
 ID_VENDOR_FROM_DATABASE=SPECINFOSYSTEMS

usb:v316Ep0001*
 ID_MODEL_FROM_DATABASE=DIAMOND token

usb:v3171*
 ID_VENDOR_FROM_DATABASE=8086 Consultancy

usb:v3171p0011*
 ID_MODEL_FROM_DATABASE=ClusterCTRL DA

usb:v3171p0012*
 ID_MODEL_FROM_DATABASE=ClusterCTRL pHAT

usb:v3171p0013*
 ID_MODEL_FROM_DATABASE=ClusterCTRL A+6

usb:v3171p0014*
 ID_MODEL_FROM_DATABASE=ClusterCTRL Triple

usb:v3171p0015*
 ID_MODEL_FROM_DATABASE=ClusterCTRL Single

usb:v3176*
 ID_VENDOR_FROM_DATABASE=Whanam Electronics Co., Ltd

usb:v3195*
 ID_VENDOR_FROM_DATABASE=Link Instruments

usb:v3195pF190*
 ID_MODEL_FROM_DATABASE=MSO-19

usb:v3195pF280*
 ID_MODEL_FROM_DATABASE=MSO-28

usb:v3195pF281*
 ID_MODEL_FROM_DATABASE=MSO-28

usb:v3197*
 ID_VENDOR_FROM_DATABASE=Katusha

usb:v3197p1001*
 ID_MODEL_FROM_DATABASE=M151

usb:v3197p1002*
 ID_MODEL_FROM_DATABASE=M250

usb:v3197p1003*
 ID_MODEL_FROM_DATABASE=P130

usb:v3197p1004*
 ID_MODEL_FROM_DATABASE=M130

usb:v3197p1101*
 ID_MODEL_FROM_DATABASE=P247

usb:v3197p1102*
 ID_MODEL_FROM_DATABASE=M247

usb:v3197p1103*
 ID_MODEL_FROM_DATABASE=M348

usb:v31C9*
 ID_VENDOR_FROM_DATABASE=BeiJing LanXum Computer Technology Co., Ltd.

usb:v31C9p1001*
 ID_MODEL_FROM_DATABASE=Printer

usb:v31C9p1301*
 ID_MODEL_FROM_DATABASE=Black and White Laser Printer

usb:v31C9p1501*
 ID_MODEL_FROM_DATABASE=LaserPrint GA50 series

usb:v3200*
 ID_VENDOR_FROM_DATABASE=Alcatel-Lucent Enterprise

usb:v3200p2100*
 ID_MODEL_FROM_DATABASE=ALE 8058s

usb:v3200p2101*
 ID_MODEL_FROM_DATABASE=ALE 8068s

usb:v3200p2102*
 ID_MODEL_FROM_DATABASE=8078s

usb:v3219*
 ID_VENDOR_FROM_DATABASE=Smak Tecnologia e Automacao LTDA

usb:v3219p0044*
 ID_MODEL_FROM_DATABASE=SKO44 Optical Keyboard

usb:v321C*
 ID_VENDOR_FROM_DATABASE=Premio, Inc.

usb:v324C*
 ID_VENDOR_FROM_DATABASE=CUPRIS Ltd.

usb:v326D*
 ID_VENDOR_FROM_DATABASE=Agile Display Solutions Co., Ltd

usb:v326Dp0001*
 ID_MODEL_FROM_DATABASE=Avocor USB Camera

usb:v3275*
 ID_VENDOR_FROM_DATABASE=VidzMedia Pte Ltd

usb:v3275p4FB1*
 ID_MODEL_FROM_DATABASE=MonsterTV P2H

usb:v3293*
 ID_VENDOR_FROM_DATABASE=Unhuman Inc.

usb:v32B3*
 ID_VENDOR_FROM_DATABASE=TEXA

usb:v32B3pD1A6*
 ID_MODEL_FROM_DATABASE=TXT Multihub

usb:v32B3pD1A7*
 ID_MODEL_FROM_DATABASE=TXT Multihub

usb:v3310*
 ID_VENDOR_FROM_DATABASE=MUDITA Sp. z o.o.

usb:v3310p0100*
 ID_MODEL_FROM_DATABASE=Pure

usb:v3310p0101*
 ID_MODEL_FROM_DATABASE=Pure tethering

usb:v3310p0300*
 ID_MODEL_FROM_DATABASE=Harmony

usb:v3333*
 ID_VENDOR_FROM_DATABASE=InLine

usb:v3333p3333*
 ID_MODEL_FROM_DATABASE=2 port KVM switch model 60652K

usb:v3334*
 ID_VENDOR_FROM_DATABASE=AEI

usb:v3334p1701*
 ID_MODEL_FROM_DATABASE=Fast Ethernet

usb:v3340*
 ID_VENDOR_FROM_DATABASE=Yakumo

usb:v3340p043A*
 ID_MODEL_FROM_DATABASE=Mio A701 DigiWalker PPCPhone

usb:v3340p0E3A*
 ID_MODEL_FROM_DATABASE=Pocket PC 300 GPS SL / Typhoon MyGuide 3500

usb:v3340pA0A3*
 ID_MODEL_FROM_DATABASE=deltaX 5 BT (D) PDA

usb:v3340pFFFF*
 ID_MODEL_FROM_DATABASE=Mio DigiWalker Sync

usb:v3344*
 ID_VENDOR_FROM_DATABASE=Leaguer Microelectronics (LME)

usb:v3344p3744*
 ID_MODEL_FROM_DATABASE=OEM PC Remote

usb:v3384*
 ID_VENDOR_FROM_DATABASE=System76

usb:v3384p0000*
 ID_MODEL_FROM_DATABASE=Thelio Io (thelio-io)

usb:v3384p0001*
 ID_MODEL_FROM_DATABASE=Launch Configurable Keyboard (launch_1)

usb:v348F*
 ID_VENDOR_FROM_DATABASE=ISY

usb:v348Fp2322*
 ID_MODEL_FROM_DATABASE=Wireless Presenter

usb:v3504*
 ID_VENDOR_FROM_DATABASE=Micro Star

usb:v3504pF110*
 ID_MODEL_FROM_DATABASE=Security Key

usb:v3538*
 ID_VENDOR_FROM_DATABASE=Power Quotient International Co., Ltd

usb:v3538p0001*
 ID_MODEL_FROM_DATABASE=Travel Flash

usb:v3538p0015*
 ID_MODEL_FROM_DATABASE=Mass Storge Device

usb:v3538p0022*
 ID_MODEL_FROM_DATABASE=Hi-Speed Mass Storage Device

usb:v3538p0042*
 ID_MODEL_FROM_DATABASE=Cool Drive U339 Flash Disk

usb:v3538p0054*
 ID_MODEL_FROM_DATABASE=Flash Drive (2GB)

usb:v3538p0901*
 ID_MODEL_FROM_DATABASE=Traveling Disk U273 (4GB)

usb:v3579*
 ID_VENDOR_FROM_DATABASE=DIVA

usb:v3579p6901*
 ID_MODEL_FROM_DATABASE=Media Reader

usb:v357D*
 ID_VENDOR_FROM_DATABASE=Sharkoon

usb:v357Dp7788*
 ID_MODEL_FROM_DATABASE=JMicron JMS567 ATA/ATAPI Bridge

usb:v3636*
 ID_VENDOR_FROM_DATABASE=InVibro

usb:v3752*
 ID_VENDOR_FROM_DATABASE=Arculus Holdings, LLC

usb:v3752p0001*
 ID_MODEL_FROM_DATABASE=AuthentiKey

usb:v3767*
 ID_VENDOR_FROM_DATABASE=Fanatec

usb:v3767p0101*
 ID_MODEL_FROM_DATABASE=Speedster 3 Forceshock Wheel

usb:v3838*
 ID_VENDOR_FROM_DATABASE=WEM

usb:v3838p0001*
 ID_MODEL_FROM_DATABASE=5-in-1 Card Reader

usb:v3838p1031*
 ID_MODEL_FROM_DATABASE=2.4G Wireless Mouse

usb:v3923*
 ID_VENDOR_FROM_DATABASE=National Instruments Corp.

usb:v3923p12C0*
 ID_MODEL_FROM_DATABASE=DAQPad-6020E

usb:v3923p12D0*
 ID_MODEL_FROM_DATABASE=DAQPad-6507

usb:v3923p12E0*
 ID_MODEL_FROM_DATABASE=NI 4350

usb:v3923p12F0*
 ID_MODEL_FROM_DATABASE=NI 5102

usb:v3923p1750*
 ID_MODEL_FROM_DATABASE=DAQPad-6508

usb:v3923p17B0*
 ID_MODEL_FROM_DATABASE=USB-ISA-Bridge

usb:v3923p1820*
 ID_MODEL_FROM_DATABASE=DAQPad-6020E (68 pin I/O)

usb:v3923p1830*
 ID_MODEL_FROM_DATABASE=DAQPad-6020E (BNC)

usb:v3923p1F00*
 ID_MODEL_FROM_DATABASE=DAQPad-6024E

usb:v3923p1F10*
 ID_MODEL_FROM_DATABASE=DAQPad-6024E

usb:v3923p1F20*
 ID_MODEL_FROM_DATABASE=DAQPad-6025E

usb:v3923p1F30*
 ID_MODEL_FROM_DATABASE=DAQPad-6025E

usb:v3923p1F40*
 ID_MODEL_FROM_DATABASE=DAQPad-6036E

usb:v3923p1F50*
 ID_MODEL_FROM_DATABASE=DAQPad-6036E

usb:v3923p2F80*
 ID_MODEL_FROM_DATABASE=DAQPad-6052E

usb:v3923p2F90*
 ID_MODEL_FROM_DATABASE=DAQPad-6052E

usb:v3923p702A*
 ID_MODEL_FROM_DATABASE=GPIB-USB-B

usb:v3923p702B*
 ID_MODEL_FROM_DATABASE=GPIB-USB-B Initialization

usb:v3923p703C*
 ID_MODEL_FROM_DATABASE=USB-485 RS485 Cable

usb:v3923p709B*
 ID_MODEL_FROM_DATABASE=GPIB-USB-HS

usb:v3923p7166*
 ID_MODEL_FROM_DATABASE=USB-8451

usb:v3923p716E*
 ID_MODEL_FROM_DATABASE=USB-8451 Firmware Loader

usb:v3923p717A*
 ID_MODEL_FROM_DATABASE=USB-6008

usb:v3923p717B*
 ID_MODEL_FROM_DATABASE=USB-6009

usb:v3923p71D6*
 ID_MODEL_FROM_DATABASE=USB-6008 OEM

usb:v3923p71D7*
 ID_MODEL_FROM_DATABASE=USB-6009 OEM

usb:v3923p71D8*
 ID_MODEL_FROM_DATABASE=USB-6009 OEM

usb:v3923p7254*
 ID_MODEL_FROM_DATABASE=NI MIO (data acquisition card) firmware updater

usb:v3923p729E*
 ID_MODEL_FROM_DATABASE=USB-6251 (OEM) data acquisition card

usb:v3923p7346*
 ID_MODEL_FROM_DATABASE=USB-6229

usb:v3923p755B*
 ID_MODEL_FROM_DATABASE=myDAQ

usb:v3923p76AF*
 ID_MODEL_FROM_DATABASE=USB-6000

usb:v3923p76B0*
 ID_MODEL_FROM_DATABASE=USB-6000 OEM

usb:v3923p76BF*
 ID_MODEL_FROM_DATABASE=USB-6001

usb:v3923p76C0*
 ID_MODEL_FROM_DATABASE=USB-6001 OEM

usb:v3923p76C4*
 ID_MODEL_FROM_DATABASE=USB-6002

usb:v3923p76C5*
 ID_MODEL_FROM_DATABASE=USB-6002 OEM

usb:v3923p76C6*
 ID_MODEL_FROM_DATABASE=USB-6003

usb:v3923p76C7*
 ID_MODEL_FROM_DATABASE=USB-6003 OEM

usb:v40BB*
 ID_VENDOR_FROM_DATABASE=I-O Data

usb:v40BBp0A09*
 ID_MODEL_FROM_DATABASE=USB2.0-SCSI Bridge USB2-SC

usb:v4101*
 ID_VENDOR_FROM_DATABASE=i-rocks

usb:v4101p1301*
 ID_MODEL_FROM_DATABASE=IR-2510 usb phone

usb:v4102*
 ID_VENDOR_FROM_DATABASE=iRiver, Ltd.

usb:v4102p1001*
 ID_MODEL_FROM_DATABASE=iFP-100 series mp3 player

usb:v4102p1003*
 ID_MODEL_FROM_DATABASE=iFP-300 series mp3 player

usb:v4102p1005*
 ID_MODEL_FROM_DATABASE=iFP-500 series mp3 player

usb:v4102p1007*
 ID_MODEL_FROM_DATABASE=iFP-700 series mp3/ogg vorbis player

usb:v4102p1008*
 ID_MODEL_FROM_DATABASE=iFP-800 series mp3/ogg vorbis player

usb:v4102p100A*
 ID_MODEL_FROM_DATABASE=iFP-1000 series mp3/ogg vorbis player

usb:v4102p1014*
 ID_MODEL_FROM_DATABASE=T20 series mp3/ogg vorbis player (ums firmware)

usb:v4102p1019*
 ID_MODEL_FROM_DATABASE=T30

usb:v4102p1034*
 ID_MODEL_FROM_DATABASE=T60

usb:v4102p1040*
 ID_MODEL_FROM_DATABASE=M1Player

usb:v4102p1041*
 ID_MODEL_FROM_DATABASE=E100 (ums)

usb:v4102p1101*
 ID_MODEL_FROM_DATABASE=iFP-100 series mp3 player (ums firmware)

usb:v4102p1103*
 ID_MODEL_FROM_DATABASE=iFP-300 series mp3 player (ums firmware)

usb:v4102p1105*
 ID_MODEL_FROM_DATABASE=iFP-500 series mp3 player (ums firmware)

usb:v4102p1113*
 ID_MODEL_FROM_DATABASE=T10 (alternate)

usb:v4102p1117*
 ID_MODEL_FROM_DATABASE=T10

usb:v4102p1119*
 ID_MODEL_FROM_DATABASE=T30 series mp3/ogg/wma player

usb:v4102p1141*
 ID_MODEL_FROM_DATABASE=E100 (mtp)

usb:v4102p2002*
 ID_MODEL_FROM_DATABASE=H10 6GB

usb:v4102p2101*
 ID_MODEL_FROM_DATABASE=H10 20GB (mtp)

usb:v4102p2102*
 ID_MODEL_FROM_DATABASE=H10 5GB (mtp)

usb:v4102p2105*
 ID_MODEL_FROM_DATABASE=H10 5/6GB (mtp)

usb:v413C*
 ID_VENDOR_FROM_DATABASE=Dell Computer Corp.

usb:v413Cp0000*
 ID_MODEL_FROM_DATABASE=DRAC 5 Virtual Keyboard and Mouse

usb:v413Cp0001*
 ID_MODEL_FROM_DATABASE=DRAC 5 Virtual Media

usb:v413Cp0058*
 ID_MODEL_FROM_DATABASE=Port Replicator

usb:v413Cp1001*
 ID_MODEL_FROM_DATABASE=Keyboard Hub

usb:v413Cp1002*
 ID_MODEL_FROM_DATABASE=Keyboard Hub

usb:v413Cp1003*
 ID_MODEL_FROM_DATABASE=Keyboard Hub

usb:v413Cp1005*
 ID_MODEL_FROM_DATABASE=Multimedia Pro Keyboard Hub

usb:v413Cp2001*
 ID_MODEL_FROM_DATABASE=Keyboard HID Support

usb:v413Cp2002*
 ID_MODEL_FROM_DATABASE=SK-8125 Keyboard

usb:v413Cp2003*
 ID_MODEL_FROM_DATABASE=Keyboard SK-8115

usb:v413Cp2005*
 ID_MODEL_FROM_DATABASE=RT7D50 Keyboard

usb:v413Cp2010*
 ID_MODEL_FROM_DATABASE=Keyboard

usb:v413Cp2011*
 ID_MODEL_FROM_DATABASE=Multimedia Pro Keyboard

usb:v413Cp2100*
 ID_MODEL_FROM_DATABASE=SK-3106 Keyboard

usb:v413Cp2101*
 ID_MODEL_FROM_DATABASE=SK-3205 SmartCard Reader Keyboard

usb:v413Cp2105*
 ID_MODEL_FROM_DATABASE=Model L100 Keyboard

usb:v413Cp2106*
 ID_MODEL_FROM_DATABASE=QuietKey Keyboard

usb:v413Cp2107*
 ID_MODEL_FROM_DATABASE=KB212-B Quiet Key Keyboard

usb:v413Cp2113*
 ID_MODEL_FROM_DATABASE=KB216 Wired Keyboard

usb:v413Cp2134*
 ID_MODEL_FROM_DATABASE=Hub of E-Port Replicator

usb:v413Cp21D7*
 ID_MODEL_FROM_DATABASE=Dell Wireless 5560 HSPA+ Mobile Broadband Modem

usb:v413Cp2500*
 ID_MODEL_FROM_DATABASE=DRAC4 Remote Access Card

usb:v413Cp2501*
 ID_MODEL_FROM_DATABASE=Keyboard and mouse dongle

usb:v413Cp2513*
 ID_MODEL_FROM_DATABASE=internal USB Hub of E-Port Replicator

usb:v413Cp3010*
 ID_MODEL_FROM_DATABASE=Optical Wheel Mouse

usb:v413Cp3012*
 ID_MODEL_FROM_DATABASE=Optical Wheel Mouse

usb:v413Cp3016*
 ID_MODEL_FROM_DATABASE=Optical 5-Button Wheel Mouse

usb:v413Cp301A*
 ID_MODEL_FROM_DATABASE=Dell MS116 Optical Mouse

usb:v413Cp301B*
 ID_MODEL_FROM_DATABASE=Universal Bluetooth Receiver

usb:v413Cp3200*
 ID_MODEL_FROM_DATABASE=Mouse

usb:v413Cp4001*
 ID_MODEL_FROM_DATABASE=Axim X5

usb:v413Cp4002*
 ID_MODEL_FROM_DATABASE=Axim X3

usb:v413Cp4003*
 ID_MODEL_FROM_DATABASE=Axim X30

usb:v413Cp4004*
 ID_MODEL_FROM_DATABASE=Axim Sync

usb:v413Cp4005*
 ID_MODEL_FROM_DATABASE=Axim Sync

usb:v413Cp4006*
 ID_MODEL_FROM_DATABASE=Axim Sync

usb:v413Cp4007*
 ID_MODEL_FROM_DATABASE=Axim Sync

usb:v413Cp4008*
 ID_MODEL_FROM_DATABASE=Axim Sync

usb:v413Cp4009*
 ID_MODEL_FROM_DATABASE=Axim Sync

usb:v413Cp4011*
 ID_MODEL_FROM_DATABASE=Axim X51v

usb:v413Cp5103*
 ID_MODEL_FROM_DATABASE=AIO Printer A940

usb:v413Cp5105*
 ID_MODEL_FROM_DATABASE=AIO Printer A920

usb:v413Cp5107*
 ID_MODEL_FROM_DATABASE=AIO Printer A960

usb:v413Cp5109*
 ID_MODEL_FROM_DATABASE=Photo AIO Printer 922

usb:v413Cp5110*
 ID_MODEL_FROM_DATABASE=Photo AIO Printer 962

usb:v413Cp5111*
 ID_MODEL_FROM_DATABASE=Photo AIO Printer 942

usb:v413Cp5112*
 ID_MODEL_FROM_DATABASE=Photo AIO Printer 924

usb:v413Cp5113*
 ID_MODEL_FROM_DATABASE=Photo AIO Printer 944

usb:v413Cp5114*
 ID_MODEL_FROM_DATABASE=Photo AIO Printer 964

usb:v413Cp5115*
 ID_MODEL_FROM_DATABASE=Photo AIO Printer 926

usb:v413Cp5116*
 ID_MODEL_FROM_DATABASE=AIO Printer 946

usb:v413Cp5117*
 ID_MODEL_FROM_DATABASE=Photo AIO Printer 966

usb:v413Cp5118*
 ID_MODEL_FROM_DATABASE=AIO 810

usb:v413Cp5124*
 ID_MODEL_FROM_DATABASE=Laser MFP 1815

usb:v413Cp5128*
 ID_MODEL_FROM_DATABASE=Photo AIO 928

usb:v413Cp5133*
 ID_MODEL_FROM_DATABASE=968 AIO Printer

usb:v413Cp5200*
 ID_MODEL_FROM_DATABASE=Laser Printer

usb:v413Cp5202*
 ID_MODEL_FROM_DATABASE=Printing Support

usb:v413Cp5203*
 ID_MODEL_FROM_DATABASE=Printing Support

usb:v413Cp5210*
 ID_MODEL_FROM_DATABASE=Printing Support

usb:v413Cp5211*
 ID_MODEL_FROM_DATABASE=1110 Laser Printer

usb:v413Cp5220*
 ID_MODEL_FROM_DATABASE=Laser MFP 1600n

usb:v413Cp5225*
 ID_MODEL_FROM_DATABASE=Printing Support

usb:v413Cp5226*
 ID_MODEL_FROM_DATABASE=Printing Support

usb:v413Cp5228*
 ID_MODEL_FROM_DATABASE=Laser Printer 1720dn

usb:v413Cp5300*
 ID_MODEL_FROM_DATABASE=Laser Printer

usb:v413Cp5400*
 ID_MODEL_FROM_DATABASE=Laser Printer

usb:v413Cp5401*
 ID_MODEL_FROM_DATABASE=Laser Printer

usb:v413Cp5404*
 ID_MODEL_FROM_DATABASE=1250c Color Printer

usb:v413Cp5513*
 ID_MODEL_FROM_DATABASE=WLA3310 Wireless Adapter [Intersil ISL3887]

usb:v413Cp5534*
 ID_MODEL_FROM_DATABASE=Hub of E-Port Replicator

usb:v413Cp5601*
 ID_MODEL_FROM_DATABASE=Laser Printer 3100cn

usb:v413Cp5602*
 ID_MODEL_FROM_DATABASE=Laser Printer 3000cn

usb:v413Cp5607*
 ID_MODEL_FROM_DATABASE=MFP Color Laser Printer 3115cn

usb:v413Cp5631*
 ID_MODEL_FROM_DATABASE=Laser Printer 5100cn

usb:v413Cp564A*
 ID_MODEL_FROM_DATABASE=C1765 series Multifunction Color LaserPrinter, Scanner & Copier

usb:v413Cp5905*
 ID_MODEL_FROM_DATABASE=Printing Support

usb:v413Cp8000*
 ID_MODEL_FROM_DATABASE=BC02 Bluetooth Adapter

usb:v413Cp8010*
 ID_MODEL_FROM_DATABASE=TrueMobile Bluetooth Module in

usb:v413Cp8100*
 ID_MODEL_FROM_DATABASE=TrueMobile 1180 802.11b Adapter [Intersil PRISM 3]

usb:v413Cp8102*
 ID_MODEL_FROM_DATABASE=TrueMobile 1300 802.11g Wireless Adapter [Intersil ISL3880]

usb:v413Cp8103*
 ID_MODEL_FROM_DATABASE=Wireless 350 Bluetooth

usb:v413Cp8104*
 ID_MODEL_FROM_DATABASE=Wireless 1450 Dual-band (802.11a/b/g) Adapter [Intersil ISL3887]

usb:v413Cp8105*
 ID_MODEL_FROM_DATABASE=U2 in HID - Driver

usb:v413Cp8106*
 ID_MODEL_FROM_DATABASE=Wireless 350 Bluetooth Internal Card in

usb:v413Cp8110*
 ID_MODEL_FROM_DATABASE=Wireless 3xx Bluetooth Internal Card

usb:v413Cp8111*
 ID_MODEL_FROM_DATABASE=Wireless 3xx Bluetooth Internal Card in

usb:v413Cp8114*
 ID_MODEL_FROM_DATABASE=Wireless 5700 Mobile Broadband (CDMA EV-DO) Minicard Modem

usb:v413Cp8115*
 ID_MODEL_FROM_DATABASE=Wireless 5500 Mobile Broadband (3G HSDPA) Minicard Modem

usb:v413Cp8116*
 ID_MODEL_FROM_DATABASE=Wireless 5505 Mobile Broadband (3G HSDPA) Minicard Modem

usb:v413Cp8117*
 ID_MODEL_FROM_DATABASE=Wireless 5700 Mobile Broadband (CDMA EV-DO) Expresscard Modem

usb:v413Cp8118*
 ID_MODEL_FROM_DATABASE=Wireless 5510 Mobile Broadband (3G HSDPA) Expresscard Status Port

usb:v413Cp8120*
 ID_MODEL_FROM_DATABASE=Bluetooth adapter

usb:v413Cp8121*
 ID_MODEL_FROM_DATABASE=Eastfold in HID

usb:v413Cp8122*
 ID_MODEL_FROM_DATABASE=Eastfold in DFU

usb:v413Cp8123*
 ID_MODEL_FROM_DATABASE=eHome Infrared Receiver

usb:v413Cp8124*
 ID_MODEL_FROM_DATABASE=eHome Infrared Receiver

usb:v413Cp8126*
 ID_MODEL_FROM_DATABASE=Wireless 355 Bluetooth

usb:v413Cp8127*
 ID_MODEL_FROM_DATABASE=Wireless 355 Module with Bluetooth 2.0 + EDR Technology.

usb:v413Cp8128*
 ID_MODEL_FROM_DATABASE=Wireless 5700-Sprint Mobile Broadband (CDMA EV-DO) Mini-Card Status Port

usb:v413Cp8129*
 ID_MODEL_FROM_DATABASE=Wireless 5700-Telus Mobile Broadband (CDMA EV-DO) Mini-Card Status Port

usb:v413Cp8131*
 ID_MODEL_FROM_DATABASE=Wireless 360 Bluetooth 2.0 + EDR module.

usb:v413Cp8133*
 ID_MODEL_FROM_DATABASE=Wireless 5720 VZW Mobile Broadband (EVDO Rev-A) Minicard GPS Port

usb:v413Cp8134*
 ID_MODEL_FROM_DATABASE=Wireless 5720 Sprint Mobile Broadband (EVDO Rev-A) Minicard Status Port

usb:v413Cp8135*
 ID_MODEL_FROM_DATABASE=Wireless 5720 TELUS Mobile Broadband (EVDO Rev-A) Minicard Diagnostics Port

usb:v413Cp8136*
 ID_MODEL_FROM_DATABASE=Wireless 5520 Cingular Mobile Broadband (3G HSDPA) Minicard Diagnostics Port

usb:v413Cp8137*
 ID_MODEL_FROM_DATABASE=Wireless 5520 Voda L Mobile Broadband (3G HSDPA) Minicard Status Port

usb:v413Cp8138*
 ID_MODEL_FROM_DATABASE=Wireless 5520 Voda I Mobile Broadband (3G HSDPA) Minicard EAP-SIM Port

usb:v413Cp8140*
 ID_MODEL_FROM_DATABASE=Wireless 360 Bluetooth

usb:v413Cp8142*
 ID_MODEL_FROM_DATABASE=Mobile 360 in DFU

usb:v413Cp8143*
 ID_MODEL_FROM_DATABASE=Broadcom BCM20702A0 Bluetooth

usb:v413Cp8147*
 ID_MODEL_FROM_DATABASE=F3507g Mobile Broadband Module

usb:v413Cp8156*
 ID_MODEL_FROM_DATABASE=Wireless 370 Bluetooth Mini-card

usb:v413Cp8157*
 ID_MODEL_FROM_DATABASE=Integrated Keyboard

usb:v413Cp8158*
 ID_MODEL_FROM_DATABASE=Integrated Touchpad / Trackstick

usb:v413Cp8160*
 ID_MODEL_FROM_DATABASE=Wireless 365 Bluetooth

usb:v413Cp8161*
 ID_MODEL_FROM_DATABASE=Integrated Keyboard

usb:v413Cp8162*
 ID_MODEL_FROM_DATABASE=Integrated Touchpad [Synaptics]

usb:v413Cp8171*
 ID_MODEL_FROM_DATABASE=Gobi Wireless Modem (QDL mode)

usb:v413Cp8172*
 ID_MODEL_FROM_DATABASE=Gobi Wireless Modem

usb:v413Cp8183*
 ID_MODEL_FROM_DATABASE=F3607gw Mobile Broadband Module

usb:v413Cp8184*
 ID_MODEL_FROM_DATABASE=F3607gw v2 Mobile Broadband Module

usb:v413Cp8185*
 ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem (QDL mode)

usb:v413Cp8186*
 ID_MODEL_FROM_DATABASE=Gobi 2000 Wireless Modem

usb:v413Cp8187*
 ID_MODEL_FROM_DATABASE=DW375 Bluetooth Module

usb:v413Cp818E*
 ID_MODEL_FROM_DATABASE=DW5560 miniPCIe HSPA+ Mobile Broadband Modem

usb:v413Cp8197*
 ID_MODEL_FROM_DATABASE=BCM20702A0 Bluetooth Module

usb:v413Cp81A0*
 ID_MODEL_FROM_DATABASE=Wireless 5808 Mobile Broadband (Sierra Wireless MC7355 Mini PCIE, 4G UMTS,HSDPA,HSPA+,LTE,1xRTT,EVDO Rev A,GSM,GPRS)

usb:v413Cp81A3*
 ID_MODEL_FROM_DATABASE=Hub of E-Port Replicator

usb:v413Cp81A8*
 ID_MODEL_FROM_DATABASE=Wireless 5808 Mobile Broadband (Sierra Wireless Mini PCIE, 4G UMTS,HSDPA,HSPA+,LTE,1xRTT,EVDO Rev A,GSM,GPRS)

usb:v413Cp8501*
 ID_MODEL_FROM_DATABASE=Bluetooth Adapter

usb:v413Cp9001*
 ID_MODEL_FROM_DATABASE=ATA Bridge

usb:v413Cp9009*
 ID_MODEL_FROM_DATABASE=Portable Device

usb:v413Cp9500*
 ID_MODEL_FROM_DATABASE=USB CP210x UART Bridge Controller [DW700]

usb:v413CpA001*
 ID_MODEL_FROM_DATABASE=Hub

usb:v413CpA005*
 ID_MODEL_FROM_DATABASE=Internal 2.0 Hub

usb:v413CpA101*
 ID_MODEL_FROM_DATABASE=Internal Dual SD Card module

usb:v413CpA102*
 ID_MODEL_FROM_DATABASE=iDRAC Virtual NIC

usb:v413CpA503*
 ID_MODEL_FROM_DATABASE=AC511 Sound Bar

usb:v413CpA700*
 ID_MODEL_FROM_DATABASE=Hub (in 1905FP LCD Monitor)

usb:v413CpB007*
 ID_MODEL_FROM_DATABASE=Streak 5 Android Tablet

usb:v4146*
 ID_VENDOR_FROM_DATABASE=USBest Technology

usb:v4146p9281*
 ID_MODEL_FROM_DATABASE=Iomega Micro Mini 128MB Flash Drive

usb:v4146pBA01*
 ID_MODEL_FROM_DATABASE=Intuix Flash Drive

usb:v4168*
 ID_VENDOR_FROM_DATABASE=Targus

usb:v4168p1010*
 ID_MODEL_FROM_DATABASE=Wireless Compact Laser Mouse

usb:v4242*
 ID_VENDOR_FROM_DATABASE=USB Design by Example

usb:v4242p4201*
 ID_MODEL_FROM_DATABASE=Buttons and Lights HID device

usb:v4242p4220*
 ID_MODEL_FROM_DATABASE=Echo 1 Camera

usb:v4255*
 ID_VENDOR_FROM_DATABASE=GoPro

usb:v4255p1000*
 ID_MODEL_FROM_DATABASE=9FF2 [Digital Photo Display]

usb:v4255p2000*
 ID_MODEL_FROM_DATABASE=HD2-14 [Hero 2 Camera]

usb:v4317*
 ID_VENDOR_FROM_DATABASE=Broadcom Corp.

usb:v4317p0700*
 ID_MODEL_FROM_DATABASE=U.S. Robotics USR5426 802.11g Adapter

usb:v4317p0701*
 ID_MODEL_FROM_DATABASE=U.S. Robotics USR5425 Wireless MAXg Adapter

usb:v4317p0711*
 ID_MODEL_FROM_DATABASE=Belkin F5D7051 v3000 802.11g

usb:v4317p0720*
 ID_MODEL_FROM_DATABASE=Dynex DX-BUSB

usb:v4317p0721*
 ID_MODEL_FROM_DATABASE=Dynex DX-EBUSB

usb:v4348*
 ID_VENDOR_FROM_DATABASE=WinChipHead

usb:v4348p5523*
 ID_MODEL_FROM_DATABASE=USB->RS 232 adapter with Prolific PL 2303 chipset

usb:v4348p5537*
 ID_MODEL_FROM_DATABASE=13.56Mhz RFID Card Reader and Writer

usb:v4348p5584*
 ID_MODEL_FROM_DATABASE=CH34x printer adapter cable

usb:v4572*
 ID_VENDOR_FROM_DATABASE=Shuttle, Inc.

usb:v4572p4572*
 ID_MODEL_FROM_DATABASE=Shuttle PN31 Remote

usb:v4586*
 ID_VENDOR_FROM_DATABASE=Panram

usb:v4586p1026*
 ID_MODEL_FROM_DATABASE=Crystal Bar Flash Drive

usb:v4670*
 ID_VENDOR_FROM_DATABASE=EMS Production

usb:v4670p9394*
 ID_MODEL_FROM_DATABASE=Game Cube USB Memory Adaptor 64M

usb:v46F4*
 ID_VENDOR_FROM_DATABASE=QEMU

usb:v4752*
 ID_VENDOR_FROM_DATABASE=Miditech

usb:v4752p0011*
 ID_MODEL_FROM_DATABASE=Midistart-2

usb:v4757*
 ID_VENDOR_FROM_DATABASE=GW Instek

usb:v4757p2009*
 ID_MODEL_FROM_DATABASE=PEL-2000 Series Electronic Load (CDC)

usb:v4757p2010*
 ID_MODEL_FROM_DATABASE=PEL-2000 Series Electronic Load (CDC)

usb:v4766*
 ID_VENDOR_FROM_DATABASE=Aceeca

usb:v4766p0001*
 ID_MODEL_FROM_DATABASE=MEZ1000 RDA

usb:v4855*
 ID_VENDOR_FROM_DATABASE=Memorex

usb:v4855p7288*
 ID_MODEL_FROM_DATABASE=Ultra Traveldrive 160G 2.5" HDD

usb:v4971*
 ID_VENDOR_FROM_DATABASE=SimpleTech

usb:v4971p1004*
 ID_MODEL_FROM_DATABASE=Hitachi LifeStudio Desk (3.5" HDD) [w/o flash key]

usb:v4971p1013*
 ID_MODEL_FROM_DATABASE=Touro Desk Pro

usb:v4971p1015*
 ID_MODEL_FROM_DATABASE=Touro Desk 3.0

usb:v4971p8001*
 ID_MODEL_FROM_DATABASE=G-Tech G-DRIVE Mobile

usb:v4971pCB01*
 ID_MODEL_FROM_DATABASE=SP-U25/120G

usb:v4971pCD15*
 ID_MODEL_FROM_DATABASE=Simple Drive Mini (2.5" HDD)

usb:v4971pCE07*
 ID_MODEL_FROM_DATABASE=SimpleDrive (3.5" HDD)

usb:v4971pCE12*
 ID_MODEL_FROM_DATABASE=FV-U35

usb:v4971pCE17*
 ID_MODEL_FROM_DATABASE=1TB SimpleDrive II USB External Hard Drive

usb:v4971pCE18*
 ID_MODEL_FROM_DATABASE=(re)Drive

usb:v4971pCE21*
 ID_MODEL_FROM_DATABASE=JMicron JM20329 SATA Bridge [eg. HITACHI SimpleDrive mini]

usb:v4971pCE22*
 ID_MODEL_FROM_DATABASE=Hitachi SimpleTough (3.5" HDD)

usb:v4D46*
 ID_VENDOR_FROM_DATABASE=Musical Fidelity

usb:v4D46p0001*
 ID_MODEL_FROM_DATABASE=V-Link

usb:v4D46p0002*
 ID_MODEL_FROM_DATABASE=V-DAC II

usb:v5032*
 ID_VENDOR_FROM_DATABASE=Grandtec

usb:v5032p0BB8*
 ID_MODEL_FROM_DATABASE=Grandtec USB1.1 DVB-T (cold)

usb:v5032p0BB9*
 ID_MODEL_FROM_DATABASE=Grandtec USB1.1 DVB-T (warm)

usb:v5032p0FA0*
 ID_MODEL_FROM_DATABASE=Grandtec USB1.1 DVB-T (cold)

usb:v5032p0FA1*
 ID_MODEL_FROM_DATABASE=Grandtec USB1.1 DVB-T (warm)

usb:v50C2*
 ID_VENDOR_FROM_DATABASE=Averatec (?)

usb:v50C2p4013*
 ID_MODEL_FROM_DATABASE=WLAN Adapter

usb:v5131*
 ID_VENDOR_FROM_DATABASE=MSR

usb:v5131p2007*
 ID_MODEL_FROM_DATABASE=MSR-101U Mini HID magnetic card reader

usb:v5173*
 ID_VENDOR_FROM_DATABASE=Sweex

usb:v5173p1809*
 ID_MODEL_FROM_DATABASE=ZD1211

usb:v5219*
 ID_VENDOR_FROM_DATABASE=I-Tetra

usb:v5219p1001*
 ID_MODEL_FROM_DATABASE=Cetus CDC Device

usb:v5332*
 ID_VENDOR_FROM_DATABASE=Clearly Superior Technologies, Inc.

usb:v5332p1300*
 ID_MODEL_FROM_DATABASE=CST2545-5W (L-Trac)

usb:v5345*
 ID_VENDOR_FROM_DATABASE=Owon

usb:v5345p1234*
 ID_MODEL_FROM_DATABASE=PDS6062T Oscilloscope

usb:v534C*
 ID_VENDOR_FROM_DATABASE=SatoshiLabs

usb:v534Cp0001*
 ID_MODEL_FROM_DATABASE=Bitcoin Wallet [TREZOR]

usb:v534Cp0002*
 ID_MODEL_FROM_DATABASE=Bitcoin Wallet [TREZOR v2]

usb:v534D*
 ID_VENDOR_FROM_DATABASE=MacroSilicon

usb:v534Dp0021*
 ID_MODEL_FROM_DATABASE=MS210x Video Grabber [EasierCAP]

usb:v534Dp6021*
 ID_MODEL_FROM_DATABASE=VGA Display Adapter

usb:v5354*
 ID_VENDOR_FROM_DATABASE=Meyer Instruments (MIS)

usb:v5354p0017*
 ID_MODEL_FROM_DATABASE=PAXcam2

usb:v544D*
 ID_VENDOR_FROM_DATABASE=Transmeta Corp.

usb:v5543*
 ID_VENDOR_FROM_DATABASE=UC-Logic Technology Corp.

usb:v5543p0002*
 ID_MODEL_FROM_DATABASE=SuperPen WP3325U Tablet

usb:v5543p0003*
 ID_MODEL_FROM_DATABASE=Tablet WP4030U

usb:v5543p0004*
 ID_MODEL_FROM_DATABASE=Tablet WP5540U

usb:v5543p0005*
 ID_MODEL_FROM_DATABASE=Tablet WP8060U

usb:v5543p0041*
 ID_MODEL_FROM_DATABASE=Genius PenSketch 6x8 Tablet

usb:v5543p0042*
 ID_MODEL_FROM_DATABASE=Tablet PF1209

usb:v5543p004A*
 ID_MODEL_FROM_DATABASE=XP-Pen Artist 10S tablet

usb:v5543p004D*
 ID_MODEL_FROM_DATABASE=Tablet Monitor MSP19U

usb:v5543p0064*
 ID_MODEL_FROM_DATABASE=Aiptek HyperPen 10000U

usb:v5543p3031*
 ID_MODEL_FROM_DATABASE=Graphics tablet [DrawImage G3, Ugee G3]

usb:v5555*
 ID_VENDOR_FROM_DATABASE=Epiphan Systems Inc.

usb:v5555p1110*
 ID_MODEL_FROM_DATABASE=VGA2USB

usb:v5555p1120*
 ID_MODEL_FROM_DATABASE=KVM2USB

usb:v5555p2222*
 ID_MODEL_FROM_DATABASE=DVI2USB

usb:v5555p3333*
 ID_MODEL_FROM_DATABASE=VGA2USB Pro

usb:v5555p3337*
 ID_MODEL_FROM_DATABASE=KVM2USB Pro

usb:v5555p3340*
 ID_MODEL_FROM_DATABASE=VGA2USB LR

usb:v5555p3344*
 ID_MODEL_FROM_DATABASE=KVM2USB LR

usb:v5555p3411*
 ID_MODEL_FROM_DATABASE=DVI2USB Solo

usb:v5555p3422*
 ID_MODEL_FROM_DATABASE=DVI2USB Duo

usb:v5555p3500*
 ID_MODEL_FROM_DATABASE=DVI2USB3

usb:v5555p3501*
 ID_MODEL_FROM_DATABASE=DVI2USB3 Rev3

usb:v5555p3510*
 ID_MODEL_FROM_DATABASE=DVI2USB3_ET

usb:v5555p3520*
 ID_MODEL_FROM_DATABASE=SDI2USB3

usb:v55AA*
 ID_VENDOR_FROM_DATABASE=OnSpec Electronic, Inc.

usb:v55AAp0015*
 ID_MODEL_FROM_DATABASE=Hard Drive

usb:v55AAp0102*
 ID_MODEL_FROM_DATABASE=SuperDisk

usb:v55AAp0103*
 ID_MODEL_FROM_DATABASE=IDE Hard Drive

usb:v55AAp0201*
 ID_MODEL_FROM_DATABASE=DDI to Reader-19

usb:v55AAp1234*
 ID_MODEL_FROM_DATABASE=ATAPI Bridge

usb:v55AApA103*
 ID_MODEL_FROM_DATABASE=Sandisk SDDR-55 SmartMedia Card Reader

usb:v55AApB000*
 ID_MODEL_FROM_DATABASE=USB to CompactFlash Card Reader

usb:v55AApB004*
 ID_MODEL_FROM_DATABASE=OnSpec MMC/SD Reader/Writer

usb:v55AApB00B*
 ID_MODEL_FROM_DATABASE=USB to Memory Stick Card Reader

usb:v55AApB00C*
 ID_MODEL_FROM_DATABASE=USB to SmartMedia Card Reader

usb:v55AApB012*
 ID_MODEL_FROM_DATABASE=Mitsumi FA402M 8-in-2 Card Reader

usb:v55AApB200*
 ID_MODEL_FROM_DATABASE=Compact Flash Reader

usb:v55AApB204*
 ID_MODEL_FROM_DATABASE=MMC/ SD Reader

usb:v55AApB207*
 ID_MODEL_FROM_DATABASE=Memory Stick Reader

usb:v5654*
 ID_VENDOR_FROM_DATABASE=Gotview

usb:v5654pCA42*
 ID_MODEL_FROM_DATABASE=MasterHD 3

usb:v5656*
 ID_VENDOR_FROM_DATABASE=Uni-Trend Group Limited

usb:v5656p0832*
 ID_MODEL_FROM_DATABASE=UT2000/UT3000 Digital Storage Oscilloscope

usb:v595A*
 ID_VENDOR_FROM_DATABASE=IRTOUCHSYSTEMS Co. Ltd.

usb:v595Ap0001*
 ID_MODEL_FROM_DATABASE=Touchscreen

usb:v5986*
 ID_VENDOR_FROM_DATABASE=Bison Electronics Inc.

usb:v5986p0100*
 ID_MODEL_FROM_DATABASE=Acer Orbicam

usb:v5986p0101*
 ID_MODEL_FROM_DATABASE=USB2.0 Camera

usb:v5986p0102*
 ID_MODEL_FROM_DATABASE=Acer Crystal Eye Webcam

usb:v5986p0105*
 ID_MODEL_FROM_DATABASE=Acer Crystal Eye Webcam

usb:v5986p0137*
 ID_MODEL_FROM_DATABASE=HP Webcam

usb:v5986p0141*
 ID_MODEL_FROM_DATABASE=BisonCam, NB Pro

usb:v5986p0149*
 ID_MODEL_FROM_DATABASE=HP Webcam-101

usb:v5986p014C*
 ID_MODEL_FROM_DATABASE=MSI Integrated Webcam

usb:v5986p01A6*
 ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam

usb:v5986p01A7*
 ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam

usb:v5986p01A9*
 ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam

usb:v5986p0200*
 ID_MODEL_FROM_DATABASE=Acer OrbiCam

usb:v5986p0202*
 ID_MODEL_FROM_DATABASE=Fujitsu Webcam

usb:v5986p0203*
 ID_MODEL_FROM_DATABASE=BisonCam NB Pro 1300

usb:v5986p0205*
 ID_MODEL_FROM_DATABASE=Lenovo EasyCamera

usb:v5986p0217*
 ID_MODEL_FROM_DATABASE=Integrated Webcam

usb:v5986p0241*
 ID_MODEL_FROM_DATABASE=BisonCam, NB Pro

usb:v5986p0268*
 ID_MODEL_FROM_DATABASE=SunplusIT INC. Integrated Camera

usb:v5986p026A*
 ID_MODEL_FROM_DATABASE=Integrated Camera

usb:v5986p0292*
 ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam

usb:v5986p0294*
 ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam

usb:v5986p0295*
 ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam

usb:v5986p0299*
 ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam

usb:v5986p029C*
 ID_MODEL_FROM_DATABASE=Lenovo EasyCamera

usb:v5986p02AC*
 ID_MODEL_FROM_DATABASE=HP TrueVision HD Webcam

usb:v5986p02D0*
 ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam [R5U877]

usb:v5986p02D2*
 ID_MODEL_FROM_DATABASE=ThinkPad Integrated Camera

usb:v5986p02D5*
 ID_MODEL_FROM_DATABASE=Integrated Camera

usb:v5986p03B3*
 ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam

usb:v5986p03D0*
 ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam [R5U877]

usb:v5986p0400*
 ID_MODEL_FROM_DATABASE=BisonCam, NB Pro

usb:v5986p0535*
 ID_MODEL_FROM_DATABASE=Lenovo EasyCamera integrated webcam

usb:v5986p055A*
 ID_MODEL_FROM_DATABASE=Lenovo Integrated Webcam

usb:v5986p0652*
 ID_MODEL_FROM_DATABASE=Lenovo EasyCamera

usb:v5986p0670*
 ID_MODEL_FROM_DATABASE=Lenovo EasyCamera

usb:v5986p0671*
 ID_MODEL_FROM_DATABASE=Lenovo EasyCamera

usb:v5986p0706*
 ID_MODEL_FROM_DATABASE=ThinkPad P50 Integrated Camera

usb:v5986p2113*
 ID_MODEL_FROM_DATABASE=SunplusIT Integrated Camera

usb:v5986pA002*
 ID_MODEL_FROM_DATABASE=Lenovo EasyCamera Integrated Webcam

usb:v59E3*
 ID_VENDOR_FROM_DATABASE=Nonolith Labs

usb:v5A57*
 ID_VENDOR_FROM_DATABASE=Zinwell

usb:v5A57p0260*
 ID_MODEL_FROM_DATABASE=RT2570

usb:v5A57p0280*
 ID_MODEL_FROM_DATABASE=802.11a/b/g/n USB Wireless LAN Card

usb:v5A57p0282*
 ID_MODEL_FROM_DATABASE=802.11b/g/n USB Wireless LAN Card

usb:v5A57p0283*
 ID_MODEL_FROM_DATABASE=802.11b/g/n USB Wireless LAN Card

usb:v5A57p0284*
 ID_MODEL_FROM_DATABASE=802.11a/b/g/n USB Wireless LAN Card

usb:v5A57p0290*
 ID_MODEL_FROM_DATABASE=ZW-N290 802.11n [Realtek RTL8192U]

usb:v5A57p5257*
 ID_MODEL_FROM_DATABASE=Metronic 495257 wifi 802.11ng

usb:v6000*
 ID_VENDOR_FROM_DATABASE=Beholder International Ltd.

usb:v6000p0001*
 ID_MODEL_FROM_DATABASE=Trident TVBOX Video Grabber

usb:v6000pDEC0*
 ID_MODEL_FROM_DATABASE=TV Wander

usb:v6000pDEC1*
 ID_MODEL_FROM_DATABASE=TV Voyage

usb:v601A*
 ID_VENDOR_FROM_DATABASE=Ingenic Semiconductor Ltd.

usb:v601Ap4740*
 ID_MODEL_FROM_DATABASE=XBurst Jz4740 boot mode

usb:v601Ap4760*
 ID_MODEL_FROM_DATABASE=JZ4760 Boot Device

usb:v6022*
 ID_VENDOR_FROM_DATABASE=Xektek

usb:v6022p0500*
 ID_MODEL_FROM_DATABASE=SuperPro Universal Device Programmer

usb:v6189*
 ID_VENDOR_FROM_DATABASE=Sitecom

usb:v6189p182D*
 ID_MODEL_FROM_DATABASE=LN-029 10/100 Ethernet Adapter

usb:v6189p2068*
 ID_MODEL_FROM_DATABASE=USB to serial cable (v2)

usb:v6244*
 ID_VENDOR_FROM_DATABASE=LightingSoft AG

usb:v6244p0101*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI5A

usb:v6244p0201*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI5C

usb:v6244p0300*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI6 Firmware download

usb:v6244p0301*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI6C

usb:v6244p0302*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI6A

usb:v6244p0303*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI6D

usb:v6244p0400*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad STICK1A

usb:v6244p0401*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad STICK1A

usb:v6244p0410*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI7 Firmware Download

usb:v6244p0411*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI7A

usb:v6244p0420*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI8A Firmware Download

usb:v6244p0421*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI8A

usb:v6244p0430*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI8C Firmware Download

usb:v6244p0431*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI8C

usb:v6244p0440*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI9A Firmware Download

usb:v6244p0441*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI9A

usb:v6244p0450*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI9C Firmware Download

usb:v6244p0451*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI9C

usb:v6244p0460*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad STICK2 Firmware download

usb:v6244p0461*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad STICK2

usb:v6244p0470*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad STICK1B Firmware download

usb:v6244p0471*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad STICK1B

usb:v6244p0480*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad STICK3 Firmware download

usb:v6244p0481*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad STICK3

usb:v6244p0490*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI9D Firmware Download

usb:v6244p0491*
 ID_MODEL_FROM_DATABASE=Intelligent Usb Dmx Interface SIUDI9D

usb:v6244p0500*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad STICK2B Firmware download

usb:v6244p0501*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad STICK2B

usb:v6244p0520*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad (STICK2C Firmware download, 32/64bits

usb:v6244p0521*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad (STICK2C, 32/64bits)

usb:v6244p0540*
 ID_MODEL_FROM_DATABASE=Sunlite Universal Smart Handy Interface (SUSHI1A Firmware download, 32/64bits)

usb:v6244p0541*
 ID_MODEL_FROM_DATABASE=Sunlite Universal Smart Handy Interface (SUSHI1A, 32/64bits)

usb:v6244p0570*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad (STICK4A Firmware download, 32/64bits)

usb:v6244p0571*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad (STICK4A, 32/64bits)

usb:v6244p0580*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad (STICK5A Firmware download, 32/64bits)

usb:v6244p0581*
 ID_MODEL_FROM_DATABASE=Touch Sensitive Intelligent Control Keypad (STICK5A, 32/64bits)

usb:v6244p0590*
 ID_MODEL_FROM_DATABASE=Intelligent Dmx Interface (SIUDI9S Firmware Download, 32/64bits)

usb:v6244p0591*
 ID_MODEL_FROM_DATABASE=Intelligent Dmx Interface (SIUDI9S, 32/64bits)

usb:v6244p0600*
 ID_MODEL_FROM_DATABASE=Intelligent Dmx Interface (SIUDI9M Firmware Download, 32/64bits)

usb:v6244p0601*
 ID_MODEL_FROM_DATABASE=Intelligent Dmx Interface (SIUDI9M, 32/64bits)

usb:v6244p0610*
 ID_MODEL_FROM_DATABASE=Intelligent Dmx Interface SIUDI10A Firmware Download

usb:v6244p0611*
 ID_MODEL_FROM_DATABASE=Intelligent Dmx Interface SIUDI10A

usb:v6253*
 ID_VENDOR_FROM_DATABASE=TwinHan Technology Co., Ltd

usb:v6253p0100*
 ID_MODEL_FROM_DATABASE=Ir reciver f. remote control

usb:v636C*
 ID_VENDOR_FROM_DATABASE=CoreLogic, Inc.

usb:v6472*
 ID_VENDOR_FROM_DATABASE=Sony Corp.

usb:v6472p01C8*
 ID_MODEL_FROM_DATABASE=PlayStation Portable [Mass Storage]

usb:v6547*
 ID_VENDOR_FROM_DATABASE=Arkmicro Technologies Inc.

usb:v6547p0232*
 ID_MODEL_FROM_DATABASE=ARK3116 Serial

usb:v6557*
 ID_VENDOR_FROM_DATABASE=Emtec

usb:v6557p5500*
 ID_MODEL_FROM_DATABASE=Mass Storage Device

usb:v6557p8005*
 ID_MODEL_FROM_DATABASE=Car Key

usb:v6615*
 ID_VENDOR_FROM_DATABASE=IRTOUCHSYSTEMS Co. Ltd.

usb:v6615p0001*
 ID_MODEL_FROM_DATABASE=Touchscreen

usb:v6615p0020*
 ID_MODEL_FROM_DATABASE=IRTOUCH InfraRed TouchScreen

usb:v6615p0081*
 ID_MODEL_FROM_DATABASE=TouchScreen

usb:v6666*
 ID_VENDOR_FROM_DATABASE=Prototype product Vendor ID

usb:v6666p0667*
 ID_MODEL_FROM_DATABASE=WiseGroup Smart Joy PSX, PS-PC Smart JoyPad

usb:v6666p1C40*
 ID_MODEL_FROM_DATABASE=TELEMIC 802.15.4 Sensor node (Bootloader)

usb:v6666p1C41*
 ID_MODEL_FROM_DATABASE=TELEMIC 802.15.4 Sensor node

usb:v6666p2667*
 ID_MODEL_FROM_DATABASE=JCOP BlueZ Smartcard reader

usb:v6666p8802*
 ID_MODEL_FROM_DATABASE=SmartJoy Dual Plus PS2 converter

usb:v6666p8804*
 ID_MODEL_FROM_DATABASE=WiseGroup SuperJoy Box 5

usb:v6677*
 ID_VENDOR_FROM_DATABASE=WiseGroup, Ltd.

usb:v6677p8802*
 ID_MODEL_FROM_DATABASE=SmartJoy Dual Plus PS2 converter

usb:v6677p8811*
 ID_MODEL_FROM_DATABASE=Deluxe Dance Mat

usb:v675D*
 ID_VENDOR_FROM_DATABASE=Humanscale

usb:v675Dp062A*
 ID_MODEL_FROM_DATABASE=Switch Mouse

usb:v6891*
 ID_VENDOR_FROM_DATABASE=3Com

usb:v6891pA727*
 ID_MODEL_FROM_DATABASE=3CRUSB10075 802.11bg [ZyDAS ZD1211]

usb:v695C*
 ID_VENDOR_FROM_DATABASE=Opera1

usb:v695Cp3829*
 ID_MODEL_FROM_DATABASE=Opera1 DVB-S (warm state)

usb:v6993*
 ID_VENDOR_FROM_DATABASE=Yealink Network Technology Co., Ltd.

usb:v6993pB001*
 ID_MODEL_FROM_DATABASE=VoIP Phone

usb:v6A75*
 ID_VENDOR_FROM_DATABASE=Shanghai Jujo Electronics Co., Ltd

usb:v7104*
 ID_VENDOR_FROM_DATABASE=CME (Central Music Co.)

usb:v7104p2202*
 ID_MODEL_FROM_DATABASE=UF5/UF6/UF7/UF8 MIDI Master Keyboard

usb:v726C*
 ID_VENDOR_FROM_DATABASE=StackFoundry LLC

usb:v726Cp2149*
 ID_MODEL_FROM_DATABASE=EntropyKing Random Number Generator

usb:v7302*
 ID_VENDOR_FROM_DATABASE=Solinftec

usb:v7302p0001*
 ID_MODEL_FROM_DATABASE=HUB 4X232

usb:v734C*
 ID_VENDOR_FROM_DATABASE=TBS Technologies China

usb:v734Cp5920*
 ID_MODEL_FROM_DATABASE=Q-Box II DVB-S2 HD

usb:v734Cp5928*
 ID_MODEL_FROM_DATABASE=Q-Box II DVB-S2 HD

usb:v7373*
 ID_VENDOR_FROM_DATABASE=Beijing STONE Technology Co. Ltd.

usb:v7373p5740*
 ID_MODEL_FROM_DATABASE=Intelligent TFT-LCD Module

usb:v7392*
 ID_VENDOR_FROM_DATABASE=Edimax Technology Co., Ltd

usb:v7392p7711*
 ID_MODEL_FROM_DATABASE=EW-7711UTn nLite Wireless Adapter [Ralink RT3070]

usb:v7392p7717*
 ID_MODEL_FROM_DATABASE=EW-7717UN 802.11n Wireless Adapter [Ralink RT2770]

usb:v7392p7718*
 ID_MODEL_FROM_DATABASE=EW-7718UN 802.11n Wireless Adapter [Ralink RT2870]

usb:v7392p7722*
 ID_MODEL_FROM_DATABASE=EW-7722UTn 802.11n Wireless Adapter [Ralink RT3072]

usb:v7392p7733*
 ID_MODEL_FROM_DATABASE=EW-7733UnD 802.11abgn 3x3:3 [Ralink RT3573]

usb:v7392p7811*
 ID_MODEL_FROM_DATABASE=EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]

usb:v7392p7822*
 ID_MODEL_FROM_DATABASE=EW-7612UAn V2 802.11n Wireless Adapter [Realtek RTL8192CU]

usb:v7392pA611*
 ID_MODEL_FROM_DATABASE=EW-7611ULB 802.11b/g/n and Bluetooth 4.0 Adapter

usb:v7392pA711*
 ID_MODEL_FROM_DATABASE=EW-7711MAC 802.11ac Wireless Adapter

usb:v7392pA811*
 ID_MODEL_FROM_DATABASE=EW-7811UTC 802.11ac Wireless Adapter

usb:v7392pB711*
 ID_MODEL_FROM_DATABASE=EW-7722UAC 802.11a/b/g/n/ac (2x2) Wireless Adapter [MediaTek MT7612U]

usb:v7392pB822*
 ID_MODEL_FROM_DATABASE=EW-7822ULC 802.11ac Wireless Adapter [Realtek RTL8812AU]

usb:v73D8*
 ID_VENDOR_FROM_DATABASE=Progeny Dental Equipment Specialists

usb:v73D8p0104*
 ID_MODEL_FROM_DATABASE=VetPro DR, Size 1

usb:v73D8p0105*
 ID_MODEL_FROM_DATABASE=VetPro DR, Size 2

usb:v7669*
 ID_VENDOR_FROM_DATABASE=Venable Instruments

usb:v7669p350C*
 ID_MODEL_FROM_DATABASE=Model 350c, Frequency Response Analyzer

usb:v7669p5140*
 ID_MODEL_FROM_DATABASE=Model 5140, Frequency Response Analyzer

usb:v7669p6305*
 ID_MODEL_FROM_DATABASE=Model 6305, Frequency Response Analyzer

usb:v7669p6320*
 ID_MODEL_FROM_DATABASE=Model 6320, Frequency Response Analyzer

usb:v7669p6340*
 ID_MODEL_FROM_DATABASE=Model 6340, Frequency Response Analyzer

usb:v7669p7405*
 ID_MODEL_FROM_DATABASE=Model 7405, Frequency Response Analyzer

usb:v7669p7420*
 ID_MODEL_FROM_DATABASE=Model 7420, Frequency Response Analyzer

usb:v7669p7440*
 ID_MODEL_FROM_DATABASE=Model 7440, Frequency Response Analyzer

usb:v7669p8805*
 ID_MODEL_FROM_DATABASE=Model 8805, Frequency Response Analyzer

usb:v7669p8820*
 ID_MODEL_FROM_DATABASE=Model 8820, Frequency Response Analyzer

usb:v7669p8840*
 ID_MODEL_FROM_DATABASE=Model 8840, Frequency Response Analyzer

usb:v7825*
 ID_VENDOR_FROM_DATABASE=Other World Computing

usb:v7825pA2A4*
 ID_MODEL_FROM_DATABASE=External SATA Hard Drive Adapter cable PA023U3

usb:v7825pB0B3*
 ID_MODEL_FROM_DATABASE=miniStack MAX

usb:v8070*
 ID_VENDOR_FROM_DATABASE=ACCES I/O Products, Inc.

usb:v8070p8003*
 ID_MODEL_FROM_DATABASE=USB-DIO-96

usb:v8070p8070*
 ID_MODEL_FROM_DATABASE=USB-AO16-16A

usb:v8086*
 ID_VENDOR_FROM_DATABASE=Intel Corp.

usb:v8086p0001*
 ID_MODEL_FROM_DATABASE=AnyPoint (TM) Home Network 1.6 Mbps Wireless Adapter

usb:v8086p0044*
 ID_MODEL_FROM_DATABASE=CPU DRAM Controller

usb:v8086p0046*
 ID_MODEL_FROM_DATABASE=HD Graphics

usb:v8086p0100*
 ID_MODEL_FROM_DATABASE=Personal Audio Player 3000

usb:v8086p0101*
 ID_MODEL_FROM_DATABASE=Personal Audio Player 3000

usb:v8086p0110*
 ID_MODEL_FROM_DATABASE=Easy PC Camera

usb:v8086p0120*
 ID_MODEL_FROM_DATABASE=PC Camera CS120

usb:v8086p0180*
 ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m

usb:v8086p0181*
 ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m

usb:v8086p0182*
 ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m

usb:v8086p0186*
 ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m

usb:v8086p0188*
 ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m

usb:v8086p0189*
 ID_MODEL_FROM_DATABASE=Centrino Advanced-N 6230 Bluetooth adapter

usb:v8086p0200*
 ID_MODEL_FROM_DATABASE=AnyPoint(TM) Wireless II Network 11Mbps Adapter [Atmel AT76C503A]

usb:v8086p0431*
 ID_MODEL_FROM_DATABASE=Pro Video PC Camera

usb:v8086p0510*
 ID_MODEL_FROM_DATABASE=Digital Movie Creator

usb:v8086p0630*
 ID_MODEL_FROM_DATABASE=Pocket PC Camera

usb:v8086p0780*
 ID_MODEL_FROM_DATABASE=CS780 Microphone Input

usb:v8086p07D3*
 ID_MODEL_FROM_DATABASE=BLOB boot loader firmware

usb:v8086p07DC*
 ID_MODEL_FROM_DATABASE=Bluetooth 4.0* Smart Ready (low energy)

usb:v8086p0A66*
 ID_MODEL_FROM_DATABASE=RealSense 3D Camera (Front F200)

usb:v8086p0AA5*
 ID_MODEL_FROM_DATABASE=RealSense SR300

usb:v8086p0AD2*
 ID_MODEL_FROM_DATABASE=RealSense D410

usb:v8086p0AD3*
 ID_MODEL_FROM_DATABASE=RealSense D415

usb:v8086p0B07*
 ID_MODEL_FROM_DATABASE=RealSense D435

usb:v8086p0B64*
 ID_MODEL_FROM_DATABASE=RealSense L515

usb:v8086p0DAD*
 ID_MODEL_FROM_DATABASE=Cherry MiniatureCard Keyboard

usb:v8086p1010*
 ID_MODEL_FROM_DATABASE=AnyPoint(TM) Home Network 10 Mbps Phoneline Adapter

usb:v8086p110A*
 ID_MODEL_FROM_DATABASE=Bluetooth Controller from (Ericsson P4A)

usb:v8086p110B*
 ID_MODEL_FROM_DATABASE=Bluetooth Controller from (Intel/CSR)

usb:v8086p1110*
 ID_MODEL_FROM_DATABASE=PRO/Wireless LAN Module

usb:v8086p1111*
 ID_MODEL_FROM_DATABASE=PRO/Wireless 2011B 802.11b Adapter [Intersil PRISM 2.5]

usb:v8086p1122*
 ID_MODEL_FROM_DATABASE=Integrated Hub

usb:v8086p1134*
 ID_MODEL_FROM_DATABASE=Hollister Mobile Monitor

usb:v8086p1139*
 ID_MODEL_FROM_DATABASE=In-Target Probe (ITP)

usb:v8086p1234*
 ID_MODEL_FROM_DATABASE=Prototype Reader/Writer

usb:v8086p1403*
 ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m

usb:v8086p1405*
 ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m

usb:v8086p1406*
 ID_MODEL_FROM_DATABASE=WiMAX Connection 2400m

usb:v8086p2448*
 ID_MODEL_FROM_DATABASE=82801 PCI Bridge

usb:v8086p3100*
 ID_MODEL_FROM_DATABASE=PRO/DSL 3220 Modem - WAN

usb:v8086p3101*
 ID_MODEL_FROM_DATABASE=PRO/DSL 3220 Modem

usb:v8086p3240*
 ID_MODEL_FROM_DATABASE=AnyPoint® 3240 Modem - WAN

usb:v8086p3241*
 ID_MODEL_FROM_DATABASE=AnyPoint® 3240 Modem

usb:v8086p8602*
 ID_MODEL_FROM_DATABASE=Miniature Card Slot

usb:v8086p8C26*
 ID_MODEL_FROM_DATABASE=8 Series/C220 Series  EHCI #1

usb:v8086p8C2D*
 ID_MODEL_FROM_DATABASE=8 Series/C220 Series EHCI #2

usb:v8086p8C31*
 ID_MODEL_FROM_DATABASE=eXtensible Host Controller

usb:v8086p9303*
 ID_MODEL_FROM_DATABASE=8x930Hx Hub

usb:v8086p9500*
 ID_MODEL_FROM_DATABASE=CE 9500 DVB-T

usb:v8086p9890*
 ID_MODEL_FROM_DATABASE=82930 Test Board

usb:v8086pA36D*
 ID_MODEL_FROM_DATABASE=Host Controller

usb:v8086pBEEF*
 ID_MODEL_FROM_DATABASE=SCM Miniature Card Reader/Writer

usb:v8086pC013*
 ID_MODEL_FROM_DATABASE=Wireless HID Station

usb:v8086pDEAD*
 ID_MODEL_FROM_DATABASE=Galileo

usb:v8086pF001*
 ID_MODEL_FROM_DATABASE=XScale PXA27x Bulverde flash

usb:v8086pF1A5*
 ID_MODEL_FROM_DATABASE=Z-U130 [Value Solid State Drive]

usb:v8087*
 ID_VENDOR_FROM_DATABASE=Intel Corp.

usb:v8087p0020*
 ID_MODEL_FROM_DATABASE=Integrated Rate Matching Hub

usb:v8087p0024*
 ID_MODEL_FROM_DATABASE=Integrated Rate Matching Hub

usb:v8087p0025*
 ID_MODEL_FROM_DATABASE=Wireless-AC 9260 Bluetooth Adapter

usb:v8087p0026*
 ID_MODEL_FROM_DATABASE=AX201 Bluetooth

usb:v8087p0029*
 ID_MODEL_FROM_DATABASE=AX200 Bluetooth

usb:v8087p0032*
 ID_MODEL_FROM_DATABASE=AX210 Bluetooth

usb:v8087p0033*
 ID_MODEL_FROM_DATABASE=AX211 Bluetooth

usb:v8087p0036*
 ID_MODEL_FROM_DATABASE=BE200 Bluetooth

usb:v8087p0716*
 ID_MODEL_FROM_DATABASE=Modem Flashloader

usb:v8087p07DA*
 ID_MODEL_FROM_DATABASE=Centrino Bluetooth Wireless Transceiver

usb:v8087p07DB*
 ID_MODEL_FROM_DATABASE=Atom C2000 Root Hub

usb:v8087p07DC*
 ID_MODEL_FROM_DATABASE=Bluetooth wireless interface

usb:v8087p07EB*
 ID_MODEL_FROM_DATABASE=Oaktrail tablet

usb:v8087p0A2A*
 ID_MODEL_FROM_DATABASE=Bluetooth wireless interface

usb:v8087p0A2B*
 ID_MODEL_FROM_DATABASE=Bluetooth wireless interface

usb:v8087p0A9E*
 ID_MODEL_FROM_DATABASE=Edison

usb:v8087p0AA7*
 ID_MODEL_FROM_DATABASE=Wireless-AC 3168 Bluetooth

usb:v8087p0AAA*
 ID_MODEL_FROM_DATABASE=Bluetooth 9460/9560 Jefferson Peak (JfP)

usb:v8087p0FFF*
 ID_MODEL_FROM_DATABASE=Intel Android Bootloader Interface

usb:v8087p8000*
 ID_MODEL_FROM_DATABASE=Integrated Rate Matching Hub

usb:v8087p8001*
 ID_MODEL_FROM_DATABASE=Integrated Hub

usb:v8087p8002*
 ID_MODEL_FROM_DATABASE=8 channel internal hub

usb:v8087p8008*
 ID_MODEL_FROM_DATABASE=Integrated Rate Matching Hub

usb:v8087p800A*
 ID_MODEL_FROM_DATABASE=Hub

usb:v80EE*
 ID_VENDOR_FROM_DATABASE=VirtualBox

usb:v80EEp0021*
 ID_MODEL_FROM_DATABASE=USB Tablet

usb:v80EEp0022*
 ID_MODEL_FROM_DATABASE=multitouch tablet

usb:v8282*
 ID_VENDOR_FROM_DATABASE=Keio

usb:v8282p3201*
 ID_MODEL_FROM_DATABASE=Retro Adapter

usb:v8282p3301*
 ID_MODEL_FROM_DATABASE=Retro Adapter Mouse

usb:v8301*
 ID_VENDOR_FROM_DATABASE=Hapurs

usb:v8301p0089*
 ID_MODEL_FROM_DATABASE=HPBT05R 2.4 G Mini Wireless Touchpad Keyboard

usb:v8341*
 ID_VENDOR_FROM_DATABASE=EGO Systems, Inc.

usb:v8341p2000*
 ID_MODEL_FROM_DATABASE=Flashdisk

usb:v8564*
 ID_VENDOR_FROM_DATABASE=Transcend Information, Inc.

usb:v8564p1000*
 ID_MODEL_FROM_DATABASE=JetFlash

usb:v8564p4000*
 ID_MODEL_FROM_DATABASE=microSD/SD/CF UHS-II Card Reader [RDF8, RDF9]

usb:v8564p6000*
 ID_MODEL_FROM_DATABASE=digital photo frame PF830

usb:v8564p6002*
 ID_MODEL_FROM_DATABASE=digital photo frame PF830

usb:v8564p7000*
 ID_MODEL_FROM_DATABASE=StoreJet 25H3

usb:v8644*
 ID_VENDOR_FROM_DATABASE=Intenso GmbG

usb:v8644p8003*
 ID_MODEL_FROM_DATABASE=Micro Line

usb:v8644p800B*
 ID_MODEL_FROM_DATABASE=Micro Line (4GB)

usb:v8E06*
 ID_VENDOR_FROM_DATABASE=CH Products, Inc.

usb:v8E06pF700*
 ID_MODEL_FROM_DATABASE=DT225 Trackball

usb:v8EA3*
 ID_VENDOR_FROM_DATABASE=Doosl

usb:v8EA3pA02C*
 ID_MODEL_FROM_DATABASE=Wireless Presenter Receiver

usb:v9016*
 ID_VENDOR_FROM_DATABASE=Sitecom

usb:v9016p182D*
 ID_MODEL_FROM_DATABASE=WL-022 802.11b Adapter

usb:v9022*
 ID_VENDOR_FROM_DATABASE=TeVii Technology Ltd.

usb:v9022pD630*
 ID_MODEL_FROM_DATABASE=DVB-S S630

usb:v9022pD650*
 ID_MODEL_FROM_DATABASE=DVB-S2 S650

usb:v9022pD660*
 ID_MODEL_FROM_DATABASE=DVB-S2 S660

usb:v9148*
 ID_VENDOR_FROM_DATABASE=GeoLab, Ltd

usb:v9148p0004*
 ID_MODEL_FROM_DATABASE=R3 Compatible Device

usb:v9516*
 ID_VENDOR_FROM_DATABASE=Studiologic

usb:v9710*
 ID_VENDOR_FROM_DATABASE=MosChip Semiconductor

usb:v9710p7703*
 ID_MODEL_FROM_DATABASE=MCS7703 Serial Port Adapter

usb:v9710p7705*
 ID_MODEL_FROM_DATABASE=MCS7705 Parallel port adapter

usb:v9710p7715*
 ID_MODEL_FROM_DATABASE=MCS7715 Parallel and serial port adapter

usb:v9710p7717*
 ID_MODEL_FROM_DATABASE=MCS7717 3-port hub with serial and parallel adapter

usb:v9710p7720*
 ID_MODEL_FROM_DATABASE=MCS7720 Dual serial port adapter

usb:v9710p7730*
 ID_MODEL_FROM_DATABASE=MCS7730 10/100 Mbps Ethernet adapter

usb:v9710p7780*
 ID_MODEL_FROM_DATABASE=MCS7780 4Mbps Fast IrDA Adapter

usb:v9710p7784*
 ID_MODEL_FROM_DATABASE=MCS7784 115.2Kb IrDA Adapter

usb:v9710p7810*
 ID_MODEL_FROM_DATABASE=MCS7810 Serial Port Adapter

usb:v9710p7820*
 ID_MODEL_FROM_DATABASE=MCS7820 Dual Serial Port Adapter

usb:v9710p7830*
 ID_MODEL_FROM_DATABASE=MCS7830 10/100 Mbps Ethernet adapter

usb:v9710p7832*
 ID_MODEL_FROM_DATABASE=MCS7832 10/100 Mbps Ethernet adapter

usb:v9710p7840*
 ID_MODEL_FROM_DATABASE=MCS7820/MCS7840 2/4 port serial adapter

usb:v9710p9990*
 ID_MODEL_FROM_DATABASE=MCS9990 PCIe Host Controller

usb:v9849*
 ID_VENDOR_FROM_DATABASE=Bestmedia CD Recordable GmbH & Co. KG

usb:v9849p0701*
 ID_MODEL_FROM_DATABASE=Platinum MyDrive HP

usb:v9886*
 ID_VENDOR_FROM_DATABASE=Astro Gaming

usb:v9886p0015*
 ID_MODEL_FROM_DATABASE=A50

usb:v9999*
 ID_VENDOR_FROM_DATABASE=Odeon

usb:v9999p0001*
 ID_MODEL_FROM_DATABASE=JAF Mobile Phone Flasher Interface

usb:v99FA*
 ID_VENDOR_FROM_DATABASE=Grandtec

usb:v99FAp8988*
 ID_MODEL_FROM_DATABASE=V.cap Camera Device

usb:v9AC4*
 ID_VENDOR_FROM_DATABASE=J. Westhues

usb:v9AC4p4B8F*
 ID_MODEL_FROM_DATABASE=ProxMark-3 RFID Instrument

usb:v9E88*
 ID_VENDOR_FROM_DATABASE=Marvell Semiconductor, Inc.

usb:v9E88p9E8F*
 ID_MODEL_FROM_DATABASE=Plug Computer Basic [SheevaPlug]

usb:vA014*
 ID_VENDOR_FROM_DATABASE=Insignia (Best Buy)

usb:vA014pB014*
 ID_MODEL_FROM_DATABASE=Desktop Microphone NS-PAUM50

usb:vA108*
 ID_VENDOR_FROM_DATABASE=Ingenic Semiconductor Co.,Ltd

usb:vA108p1000*
 ID_MODEL_FROM_DATABASE=X1000

usb:vA108p4775*
 ID_MODEL_FROM_DATABASE=JZ4775 Boot Device

usb:vA128*
 ID_VENDOR_FROM_DATABASE=AnMo Electronics Corp. / Dino-Lite (?)

usb:vA128p0610*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)

usb:vA128p0611*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)

usb:vA128p0612*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C120 + HV7131R)

usb:vA128p0613*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)

usb:vA128p0614*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)

usb:vA128p0615*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)

usb:vA128p0616*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C120 + HV7131R)

usb:vA128p0617*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)

usb:vA128p0618*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope (SN9C201 + HV7131R)

usb:vA168*
 ID_VENDOR_FROM_DATABASE=AnMo Electronics Corporation

usb:vA168p0610*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope

usb:vA168p0611*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope

usb:vA168p0613*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope

usb:vA168p0614*
 ID_MODEL_FROM_DATABASE=Dino-Lite Pro Digital Microscope

usb:vA168p0615*
 ID_MODEL_FROM_DATABASE=Dino-Lite Pro Digital Microscope

usb:vA168p0617*
 ID_MODEL_FROM_DATABASE=Dino-Lite Pro Digital Microscope

usb:vA168p0618*
 ID_MODEL_FROM_DATABASE=Dino-Lite Digital Microscope

usb:vA466*
 ID_VENDOR_FROM_DATABASE=Haikou Xingong Electronics Co.,Ltd

usb:vA466p0A53*
 ID_MODEL_FROM_DATABASE=TL866II Plus Device Programmer [MiniPRO]

usb:vA600*
 ID_VENDOR_FROM_DATABASE=ASIX s.r.o.

usb:vA600p5500*
 ID_MODEL_FROM_DATABASE=zuban H2OPS - GPS for canoeing

usb:vA600pA000*
 ID_MODEL_FROM_DATABASE=SIGMA Logic Analyzer

usb:vA600pA002*
 ID_MODEL_FROM_DATABASE=EMUSB interface pro MU Beta

usb:vA600pC000*
 ID_MODEL_FROM_DATABASE=MREL Data Trap II

usb:vA600pC001*
 ID_MODEL_FROM_DATABASE=VUTS DMU4

usb:vA600pC002*
 ID_MODEL_FROM_DATABASE=Electrone MASH

usb:vA600pC005*
 ID_MODEL_FROM_DATABASE=MREL HTU HandiTrap cable

usb:vA600pC006*
 ID_MODEL_FROM_DATABASE=JRC COmeter

usb:vA600pE110*
 ID_MODEL_FROM_DATABASE=OK1ZIA Davac 4.x

usb:vA600pE112*
 ID_MODEL_FROM_DATABASE=OK1ZIA Antenna rotator

usb:vA600pE113*
 ID_MODEL_FROM_DATABASE=OK1ZIA GPIO

usb:vA600pE114*
 ID_MODEL_FROM_DATABASE=OK1ZIA HD&Keyb

usb:vA727*
 ID_VENDOR_FROM_DATABASE=3Com

usb:vA727p6893*
 ID_MODEL_FROM_DATABASE=3CRUSB20075 OfficeConnect Wireless 108Mbps 11g Adapter [Atheros AR5523]

usb:vA727p6895*
 ID_MODEL_FROM_DATABASE=AR5523

usb:vA727p6897*
 ID_MODEL_FROM_DATABASE=AR5523

usb:vA88A*
 ID_VENDOR_FROM_DATABASE=Clas Ohlsson

usb:vA88Ap3003*
 ID_MODEL_FROM_DATABASE=PCFree Multimedia Remote Control PC

usb:vAAAA*
 ID_VENDOR_FROM_DATABASE=MXT

usb:vAAAAp8815*
 ID_MODEL_FROM_DATABASE=microSD CardReader

usb:vAAAAp8816*
 ID_MODEL_FROM_DATABASE=microSD CardReader

usb:vAB12*
 ID_VENDOR_FROM_DATABASE=aplic

usb:vAB12p34CD*
 ID_MODEL_FROM_DATABASE=JMICRON JMS578 SATA 6Gb/s bridge

usb:vABCD*
 ID_VENDOR_FROM_DATABASE=LogiLink

usb:vABCDp1234*
 ID_MODEL_FROM_DATABASE=UDisk flash drive

usb:vABCDp6104*
 ID_MODEL_FROM_DATABASE=PCCloneEX Lite+ SATA docking station [QP0017]

usb:vABCDpCDEE*
 ID_MODEL_FROM_DATABASE=Petcam

usb:vB58E*
 ID_VENDOR_FROM_DATABASE=Blue Microphones

usb:vB58Ep9E84*
 ID_MODEL_FROM_DATABASE=Yeti Stereo Microphone

usb:vBA77*
 ID_VENDOR_FROM_DATABASE=Clockmaker

usb:vBA77p7147*
 ID_MODEL_FROM_DATABASE=Agterbosch

usb:vC216*
 ID_VENDOR_FROM_DATABASE=Card Device Expert Co., LTD

usb:vC216p0180*
 ID_MODEL_FROM_DATABASE=MSR90 MagStripe reader

usb:vC251*
 ID_VENDOR_FROM_DATABASE=Keil Software, Inc.

usb:vC251p1705*
 ID_MODEL_FROM_DATABASE=MCB2300

usb:vC251p2710*
 ID_MODEL_FROM_DATABASE=ULink

usb:vC251p2723*
 ID_MODEL_FROM_DATABASE=ULink-ME

usb:vC502*
 ID_VENDOR_FROM_DATABASE=AGPTek

usb:vC502p0029*
 ID_MODEL_FROM_DATABASE=Rocker

usb:vCACE*
 ID_VENDOR_FROM_DATABASE=CACE Technologies Inc.

usb:vCACEp0002*
 ID_MODEL_FROM_DATABASE=AirPCAP Classic 802.11 packet capture adapter

usb:vCACEp0300*
 ID_MODEL_FROM_DATABASE=AirPcap NX [Atheros AR9170+AR9104]

usb:vCD12*
 ID_VENDOR_FROM_DATABASE=SMART TECHNOLOGY INDUSTRIAL LTD.

usb:vD208*
 ID_VENDOR_FROM_DATABASE=Ultimarc

usb:vD208p0310*
 ID_MODEL_FROM_DATABASE=Mini-PAC Arcade Control Interface

usb:vD209*
 ID_VENDOR_FROM_DATABASE=Ultimarc

usb:vD209p0301*
 ID_MODEL_FROM_DATABASE=I-PAC Arcade Control Interface

usb:vD209p0501*
 ID_MODEL_FROM_DATABASE=Ultra-Stik Ultimarc Ultra-Stik Player 1

usb:vD209p1571*
 ID_MODEL_FROM_DATABASE=A-PAC Arcade Control Interface

usb:vD904*
 ID_VENDOR_FROM_DATABASE=LogiLink

usb:vD904p0003*
 ID_MODEL_FROM_DATABASE=Laser Mouse (ID0009A)

usb:vE2B7*
 ID_VENDOR_FROM_DATABASE=Jie Li

usb:vE2B7p0811*
 ID_MODEL_FROM_DATABASE=CD002

usb:vE2B7p0812*
 ID_MODEL_FROM_DATABASE=CD005 MP3 Player

usb:vE4E4*
 ID_VENDOR_FROM_DATABASE=Xorcom Ltd.

usb:vE4E4p1130*
 ID_MODEL_FROM_DATABASE=Astribank series

usb:vE4E4p1131*
 ID_MODEL_FROM_DATABASE=Astribank series

usb:vE4E4p1132*
 ID_MODEL_FROM_DATABASE=Astribank series

usb:vE4E4p1140*
 ID_MODEL_FROM_DATABASE=Astribank series

usb:vE4E4p1141*
 ID_MODEL_FROM_DATABASE=Astribank series

usb:vE4E4p1142*
 ID_MODEL_FROM_DATABASE=Astribank series

usb:vE4E4p1150*
 ID_MODEL_FROM_DATABASE=Astribank series

usb:vE4E4p1151*
 ID_MODEL_FROM_DATABASE=Astribank series

usb:vE4E4p1152*
 ID_MODEL_FROM_DATABASE=Astribank series

usb:vE4E4p1160*
 ID_MODEL_FROM_DATABASE=Astribank 2 series

usb:vE4E4p1161*
 ID_MODEL_FROM_DATABASE=Astribank 2 series

usb:vE4E4p1162*
 ID_MODEL_FROM_DATABASE=Astribank 2 series

usb:vEB03*
 ID_VENDOR_FROM_DATABASE=MakingThings

usb:vEB03p0920*
 ID_MODEL_FROM_DATABASE=Make Controller Kit

usb:vEB1A*
 ID_VENDOR_FROM_DATABASE=eMPIA Technology, Inc.

usb:vEB1Ap17DE*
 ID_MODEL_FROM_DATABASE=KWorld V-Stream XPERT DTV - DVB-T USB cold

usb:vEB1Ap17DF*
 ID_MODEL_FROM_DATABASE=KWorld V-Stream XPERT DTV - DVB-T USB warm

usb:vEB1Ap2571*
 ID_MODEL_FROM_DATABASE=M035 Compact Web Cam

usb:vEB1Ap2710*
 ID_MODEL_FROM_DATABASE=SilverCrest Webcam

usb:vEB1Ap2750*
 ID_MODEL_FROM_DATABASE=ECS Elitegroup G220 integrated Webcam

usb:vEB1Ap2761*
 ID_MODEL_FROM_DATABASE=EeePC 701 integrated Webcam

usb:vEB1Ap2776*
 ID_MODEL_FROM_DATABASE=Combined audio and video input device

usb:vEB1Ap2800*
 ID_MODEL_FROM_DATABASE=EM2800 Video Capture

usb:vEB1Ap2801*
 ID_MODEL_FROM_DATABASE=EM2801 Video Capture

usb:vEB1Ap2820*
 ID_MODEL_FROM_DATABASE=EM2820 Video Capture

usb:vEB1Ap2821*
 ID_MODEL_FROM_DATABASE=EM2820 Video Capture

usb:vEB1Ap2840*
 ID_MODEL_FROM_DATABASE=EM2840 Video Capture

usb:vEB1Ap2841*
 ID_MODEL_FROM_DATABASE=EM2840 Video Capture

usb:vEB1Ap2861*
 ID_MODEL_FROM_DATABASE=EasyCAP DC60+ [EM2861]

usb:vEB1Ap2863*
 ID_MODEL_FROM_DATABASE=Video Grabber

usb:vEB1Ap2870*
 ID_MODEL_FROM_DATABASE=Pinnacle PCTV Stick

usb:vEB1Ap2881*
 ID_MODEL_FROM_DATABASE=EM2881 Video Controller

usb:vEB1Ap50A3*
 ID_MODEL_FROM_DATABASE=Gadmei UTV380 TV Box

usb:vEB1Ap50A6*
 ID_MODEL_FROM_DATABASE=Gadmei UTV330 TV Box

usb:vEB1Ap5166*
 ID_MODEL_FROM_DATABASE=video grabber 28282

usb:vEB1Ap5184*
 ID_MODEL_FROM_DATABASE=VIDBOX NW06 [EM28281]

usb:vEB1Ap8179*
 ID_MODEL_FROM_DATABASE=Terratec Cinergy T2 Stick HD

usb:vEB1ApE305*
 ID_MODEL_FROM_DATABASE=KWorld PlusTV Analog Stick

usb:vEB1ApE355*
 ID_MODEL_FROM_DATABASE=KWorld DVB-T 355U Digital TV Dongle

usb:vEB2A*
 ID_VENDOR_FROM_DATABASE=KWorld

usb:vEF18*
 ID_VENDOR_FROM_DATABASE=SMART TECHNOLOGY INDUSTRIAL LTD.

usb:vF003*
 ID_VENDOR_FROM_DATABASE=Hewlett Packard

usb:vF003p6002*
 ID_MODEL_FROM_DATABASE=PhotoSmart C500

usb:vF007*
 ID_VENDOR_FROM_DATABASE=Teslong

usb:vF007pA999*
 ID_MODEL_FROM_DATABASE=Endoscope Camera

usb:vF007pB999*
 ID_MODEL_FROM_DATABASE=Otoscope Camera

usb:vF182*
 ID_VENDOR_FROM_DATABASE=Leap Motion

usb:vF182p0003*
 ID_MODEL_FROM_DATABASE=Controller

usb:vF3F0*
 ID_VENDOR_FROM_DATABASE=CCT, Inc

usb:vF3F0p0740*
 ID_MODEL_FROM_DATABASE=multi-function device

usb:vF3F0p1340*
 ID_MODEL_FROM_DATABASE=multi-function printer

usb:vF3F0p1440*
 ID_MODEL_FROM_DATABASE=printer device

usb:vF3F0p1921*
 ID_MODEL_FROM_DATABASE=printer

usb:vF4EC*
 ID_VENDOR_FROM_DATABASE=Atten Electronics / Siglent Technologies

usb:vF4ECpEE38*
 ID_MODEL_FROM_DATABASE=Digital Storage Oscilloscope

usb:vF4ED*
 ID_VENDOR_FROM_DATABASE=Shenzhen Siglent Co., Ltd.

usb:vF4EDpEE37*
 ID_MODEL_FROM_DATABASE=SDG1010 Waveform Generator

usb:vF4EDpEE3A*
 ID_MODEL_FROM_DATABASE=SDG1010 Waveform Generator (TMC mode)

usb:vF766*
 ID_VENDOR_FROM_DATABASE=Hama

usb:vF766p0001*
 ID_MODEL_FROM_DATABASE=PC-Gamepad "Greystorm"

usb:vFA11*
 ID_VENDOR_FROM_DATABASE=DyingLight

usb:vFA11p5AFE*
 ID_MODEL_FROM_DATABASE=DyingLight

usb:vFC08*
 ID_VENDOR_FROM_DATABASE=Conrad Electronic SE

usb:vFC08p0101*
 ID_MODEL_FROM_DATABASE=MIDI Cable UA0037

usb:vFF00*
 ID_VENDOR_FROM_DATABASE=Power Delivery

usb:vFFEE*
 ID_VENDOR_FROM_DATABASE=FNK Tech

usb:vFFEEp0100*
 ID_MODEL_FROM_DATABASE=Card Reader Controller RTS5101/RTS5111/RTS5116
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       (    \Q      pl  #   ql      l     l     l     l  $    m     %m  6   9m     pm  	   |m     m     m     m     m     m     m     m    n    o    p     q  8   3q  %   lq  F   q  v   q     Pr     cr     kr  
   {r  	   r  
   r  8   r     r     r  7   r     )s     2s  1   Hs     zs     s  2   s  %   s  '   s  %   t  '   Ct     kt     pt     rt     t     t     t  
   t     t     t     t     u  
   u     (u     8u     Eu     Ru  $   Xu     }u     u     u      u     u     u     v     v  !   8v     Zv     ov     v  #   v     v  `   Lw  Z   w     x     #x     ?x     Ax     Ex     \x     bx     kx     x  0   x  3   x     y     y     7y     Ny     hy     y     y     y  
   y     y     y     y     y     y  %   z     2z     Qz     ez     {z     z     z     z     z     z     z  *   {  3   9{  1   m{  E   {  C   {  <   )|  1   f|  2   |     |     |     }     $}      A}     b}     }     }     }     }  &   }  &   ~     D~  7   c~  1   ~     ~  +   ~          7  #   U     y  5                     -   &      T     u       "     8   Ӏ          +     =     Z  	   i  #   s               ȁ                 )   .     X     w       "     P   ւ     '     <  H   Q  &             ك  !     ,        /     ;     ?  	   \  !   f  *          '   ˄                    4  $   L     q                    ̅            
     
   *     5  1   H  
   z                 3   ʆ  >     $   =     b     y               ɇ       +        )     E  o   c  #   ӈ            $   -     R     l  '     9               z   !  "             Ɗ  8   ڊ       
   *     5     B     \     |       +   5     a     y            "        ڌ       (        %  #   =  &   a  ?     '   ȍ  @        1     =     M     ]     t  "     0        ڎ     ߎ       7        5     =     I     Z     p     |       0             Ώ            2   
  %   @     f     {  *     6     +             6     I  "     !   =  d   _  e   Ē  d   *  i     o     H   i       1   Ŕ  )        !     (     *     ?  /   N     ~       5        ڕ  K        E          ;  +   P  *   |  )     )   ї  -     )   )     S     p     t  7   z  D               '     P   )     z       	             ę     Ǚ                 '        D  +   S            )        ֛  9        -     B     X     m       "                  Ĝ  (   ќ                 "     +   /  -   [                    ɝ     ڝ            O        ^     t       
          %   Ş       )   
  !   4  "   V     y       +        ؟                 !         B     ^     w                     ֠                    7     K  4   [                    ١               (     A     ^     u        !        ˢ  4     M     2   h            *   ӣ  8        7     D     [     s            3     $     +        4  
   I     W     Y     q     x       7     ;   ץ       !   2     T     j       '     %   ʦ          
           6     M     ^     b     h          ʨ     ݨ                    "  '   9  
   a     l     {            
                  ҩ  H     L   8                    Ī  %   Ӫ            #   ,     P     m                 «       "     (        <     X  %   e       2        ج       #          *   6     a     c     v  #   {            	     	     "   ʭ  ;     #   )  <   M  
          
     .   Į  	          `        p  !     )        ѯ     կ     ۯ                         *     A     T     j            "                       *     A     W     k       )     a   ñ     %     B  g   ^     Ʋ     K     e  -          !   ĳ       "     '     Q   B               ʴ  
   ޴                    <     Y     v       #        ҵ  
                   .      A  #   b                 -   ˶       )        =     Z     p       ,        з  
          	     "     %   )     O     T     i  
   p     {  &     )        ո  5     ^        }  $     %          ^     _     }   T     һ  &     )     '   ڼ  >     D   A  !     '     -   н  #        "  )   B     l  )          )   о  ,        '     G     `     {       E     #             )     F     b     }             q        D  :   a                                   3     O  0   d            #               )     &   G  #   n  -                            *  )   F     p  %     %     ,     '     :   !     \  -   {  0     /        
       '   ,     T     f  '   {  $     "               
     2   "  Q   U  *     +               )   
  o   7       6                          0         H  !   i  "     #                         !   7     Y  
   o     z  <               %        '     0     4     :     Z  d   s  *     (     ,   ,     Y     r  0          
                         0        L  !   _            $                             5     F  "   c  $                                  ,     D  '   a       +     "                       /  '   C     k            <                %   !     G     `     w       m             .     H     b     {  +     3     1     
   '  '   5  -   ]  '     '     .     	   
          0     L     h            /               *   	  ?   4     t  B     p        ;  /               .   !  O   P  )               	     <        6  5   T                           :        :  1   M       L                                 %     4     =     [     d     z            	                                       3     I     c     j  
   q  
     
     	          #     )                    P   &     w            n     F   <  N     
     "                    .   +  .   Z  /     V     -     -   >  $   l  -     #     0     6     
   K     Y     l       
     (     1     (     )   $     N     g                 !                  
      &     G  %   _       &               0         )     J     i                       7     .   &     U  !   m  4     #                  $  '   9     a                 #     %     "        =     R     g     |                           ,         -     <     L     h                 #                _     B   z                         '     >     Z  &   x       
               J     i   <       &               7        R     b     }  ;     V     +   $  "   P     s  &     !          r     0   `  "             Z  /   x       H     F     w   M  N          (   ,     U     q  )   }       $     ,     &     '   2     Z  %   s                           $     '     *   ;  (   f                      J        +  -   G  +   u                 "     +               D   7  J   |            %     "   (  9   K                       "             &      9     Z     n                 $             	          6  %   Q     w                      %             4     G     [     c  [   w            !             '     @     T     Y  7   v                                   &  /   @  7   p  4     /        
     *  -   B     p  @               3        (  &   ?     f     x                 1        
          5     H     ]     d  $   z  	     	     )          
     1                       (      :  !   [     }            J     "        /     ;     G     ]     v                                             
        0    =    U    d    ~     '    &    &     "   '    J L   W 9        0       - !   A    c )        3               $    6    F    W    l 
   { #    #    $            &       >    M    b    v                 	    7        D   1 ]   v .    %    ,   ) [   V ;    w    $   f 7    )    &    K   	 $   `	 #   	 /   	    	    	    
 "   0
 &   S
 U   z
 @   
 Q       c    |     +        R    L   C .            F       "
    8
    M
    d
    z
    
    
     
    
    
     2   * !   ] #                               8    P    h $            (    #       /    H    \    { )                    '    '   D '   l     0            -    8   K !    '            +        !   2     T &   u             .        )   & !   P B   r F    E    B   B    )   , &   V    } $        0         O   - >   }     >    &       .    I    f         ]   P   Z  E "    :    (    ^   '             6    E    ^    n     C            M        U     d  ?     %          B     .   +! 2   Z! .   ! 2   !    !    ! &   !    "    9"    U"    ]"    l"    " '   "    "    "    " 
   "     #    # .   #    D#    c#    # 5   #    #    #    $ %    $ 2   F$     y$ !   $    $ 4   $    
% v   % s   =& #   & "   &    &    &    '    ' 	    '     *' /   K' E   {' F   ' +   ( %   4( #   Z( )   ~( (   (    ( #   (    )    )) #   C)    g)    v)    {)    ) (   ) !   )    ) %   ) $   * )   B*    l* #   * $   * )   * $   * G   "+ O   j+ N   + Z   	, \   d, U   , E   - H   ]- +   - %   - -   - '   &. 6   N. -   . '   . &   . (   / )   +/ 6   U/ 6   / *   / L   / >   ;0 ,   z0 :   0 )   0 (   1 *   51 %   `1 E   1 (   1 '   1 .   2 <   L2 +   2 *   2 :   2 =   3 P   Y3 (   3    3    3    4    4 '   )4 <   Q4    4 &   4 7   4    5     5 ;   65 +   r5 &   5 %   5 3   5 o   6    6    6 k   6 1   57    g7    7 )   7 ^   7    8    (8    -8 
   L8 4   W8 @   8     8 0   8    9    =9    T9    s9 ,   9    9    9 +   9 1   ": ,   T: !   : )   :    : $   : -   ; ?   5;    u;    ; -   ; #   ; A   ; N   1< ?   <    < *   <    = &   #= .   J=     y= -   =    = 1   =    > -   >    > '   > 1   ?    E?    b? 9   ~? X   ? '   @ -   9@    g@ =   A    ZA    bA I   xA #   A 
   A    A    A %   B    CB    C T   5C    C    C    C    C +   C    +D    FD 8   fD    D /   D ?   D f   (E =   E d   E    2F 
   CF    QF    eF    |F B   F P   F    (G    0G    BG 9   ZG    G    G    G    G    G    G    G 1   G    &H 
   =H    KH    _H H   zH ;   H    H    I F   .I K   uI B   I (   J    -J Q  MJ )   K +   K    K    L    TM    N    N    O    P =   0P >   nP    P    P    P    P 7   P    !Q (   1Q Q   ZQ ,   Q G   Q   !R 0   .S .   _S 5   S 7   S -   S 0   *T 2   [T 5   T 2   T    T    T H   U X   NU    U    U -   U }   U '   cV    V 	   V    V    V $   V    V    W    W :   X    X :   X    Y    ,Y $   JY %   oY U   Y    Y %   Z     *Z    KZ     `Z 6   Z    Z    Z    Z 7   Z    [    [    "[ 2   *[ 2   ][ 5   [    [    [     [    \ !   4\    V\    p\ c   \     \ )   ] )   ;]    e] "   ] Q   ] "   ] ;   ^ 0   W^ 0   ^ !   ^    ^ A   ^    =_    [_    u_     _ &   _     _ !   _    `    '` %   A`    g` !   `    ` (   ` "   `    a    )a c   >a +   a    a #   a    	b    (b    Hb    db #   b    b    b "   b (   b ,   $c T   Qc n   c D   d *   Zd :   d 7   d N   d "   Ge $   je    e    e    e    e P   e 1   @f @   rf #   f    f    f    f    g    g "   g A   Bg N   g #   g /   g    'h +   <h "   hh 6   h 0   h &   h    i    4i    Qi    pi    i    i    i    hj    6k    Kk    gk    mk >   yk "   k K   k    'l    8l %   Il    ol    sl    l    l    l    l s   l T   Im    m I   m    m    n ;   /n    kn %   n 1   n 2   n *   o    =o 5   Uo 9   o    o (   o 4   o    0p    Lp N   \p A   p 6   p 
   $q    /q #   Mq "   qq >   q    q    q    q )   q    r    "r    7r    Qr :   fr a   r 8   s _   <s    s )   s    s D   s 
   6t    Dt    [t    t ,   t D   +u    pu    vu 	   ~u    u    u    u    u    u    u    v    /v -   Iv &   wv 1   v    v     v    w    /w %   Ow    uw     w    w -   w ~    x $   x %   x    x    sy ,   Ez <   rz 1   z    z )   z    ({ 2   B{ 5   u{ l   { $   | :   =|    x|    |    | "   |     | "   	}     ,} !   M}    o} 6   }    }    } O   }    M~ %   g~ !   ~ ;   ~    ~     %    C   ;     B    $    1       7    N ?   n *       ـ         +    (   $    M    T    i    q    } .    =        A       Q )   ؂ >    D   A            
        H 7   = F   u V    [    ]   o '   ͈ 6    5   , <   b .    8   Ή &    ;   . $   j ;    :   ˊ 2    "   9 !   \ &   ~ "    Z   ȋ 2   # &   V "   } #    #   Č *    +    !   ?    a /     Y   0 5        (   ؎ &    #   ( "   L (   o     >    1    /   % =   U     #    1   ֐ 8    +   A 9   m !    '   ɑ )        (   0 6   Y     3    3   Ԓ :    5   C O   y &   ɓ -    B    A   a &       ʔ 2            9 7   Z 9    )   ̕     .       5 I   M i    6    0   8 	   i    s A   |     "   O H   r            Ƙ    Θ 1   ߘ '    1   9 .   k /    #   ʙ #    (    B   ; 2   ~        њ    ݚ D       A    [ C   q             +   ɛ     w    ;    >   Ȝ D       L    d <   |            ֝         "    <   7 ,   t '    )   ɞ     A       Q    e              '   ҟ     !    "   ;    ^ -   s     #            7    +   T 9    .        !    5       P 6   m /    ,   Ԣ     =    !   [    } *           ʣ     "        '    (   Ƥ (    &    %   ? N   e S    O       X &   i L    ;   ݦ ;    I   U     '    $   Ч '    $    &   B #   i I       ר     +    I   &    p M       ܩ     /   j         1   ѫ U    4   Y             A   Ŭ "    :   *    e    z         !   ɭ E       1 A   E %    Z           &    ,    I    Q    X 	   i    s 
               ů 
   ˯ 	   ٯ             +   *    V &   j     %    	   ϰ    ٰ                    # -   / -   ]                ұ $   V /   { ,    ~   ز k   W [   ó     *   .    Y    a    v H    H   Ӵ I    y   f B    =   # -   a :    +   ʶ ;    D   2    w         "       ַ )    2    =   F @       Ÿ         #   	 $   - -   R     <    3   ع 8    ,   E 8   r $    :   к -    3   9 P   m 4    *    %    )   D 5   n (    (   ͼ K    G   B *    >    W    4   L /    J    $    @   ! 3   b *    #    *    0    0   A 2   r (    0    =       = )   \ 1            -    7       =    O )   c )                /    (   3 +   \     h    (   t 4        (         %   5 2   [ A    &            "    X   7 {        9   *    d /   } ^    ,    &   9     ` I    j    @   6 2   w )    ;    %    '   6    ^ E    7   6    n 4   [ I        [    \   S     i   H )    L       )    I -   X     6    1    4    1   = !   o 3            $    !   	    + *   B H   m N    6    <   < 3   y         ^       9 ?   W 4                3    4    '   S &   { Q    O    &   D 3   k 1    0    F    +   I    u      :    <       *    = /   W *        #    #        '   9 $   a         $    3           ( #   H "   l !    0                 	   8    B    X         ,   '    T &   s         2    M       ; #   P    t     #            4    B   A 9    4    1       % 4   E (   z `           # ^   C     3        '       8    P '   h T                &   )    P    W !   k         0            <    -       4 &   S    z 0    -            !    \   @ )                    /   $ !   T    v #             !    &        > !   _ &                !    ,        ; /   \ 6    6    2       - R   < H    "    5       1 ,   L +   y 8    ,    G    *   S    ~ *    '    &    '   
 $   5    Z =   w =    7       + +   H 8   t     #    ,            9    Y +   ` !    
    H    "    X   % n   ~ =    *   + 1   V o    K       D (    Q     -   r )    Y    .   $ +   S ?    .    '    '    !   > )   ` t    M    {   M     2    1    A   G $           8 E           , k   1 %                    !   (    J .   g         #    >    '   * )   R    |         )    !    )       /    N "   n .    "    "    2    *   9 %   d "    2        8    0   8 $   i /    &    ;    5   ! @   W 4    D    %    )   8 ?   b Q    9    >   .    m )   v 8        '    +     4   I  '   ~            ;     "    ,   1 #   ^ R    R    R   ( M   {         ]                t    ,      V               (        g            /      r  *      M                !  ~  n            P  )    j                         P  <        `      0            R   x   3        0  2        b        r                       5                           Q                y    K          N    2    >    *            )    v  ?                   A  f        k  e                V             F         f    :    y     '  e   Q  6  d     U            J                                m                                      
         h     B  ,          \          9    #                       #  &        ~         O         J    I         K        S  o        s                     Q          R      c    %    s                        $  -          "                      /  N  G   m                     ^         3   /  "         Z  b          I      .        e  B                        3                                 :                 W            F    	    M       
                
          e  t  3  6                  U     7       f            {                       n   b  A    !          	     T                         t  X      z  ]         @                         p    9   z               Q         $   ^                  S   8     ,      d  h  (      u       D     @      N    [      N      [            X      	      	                  |        Y        o  Y                                     l  5  2                                       q      q  Z                8  n                                                    >  %  >                                  x  a        2   B                L               }             o   o                    -      *  w                  W                d           8  v  1            4     .  ;              7        %        A                     %         <                  G                              _      *                        d             k   H                     l  7       \      D  p        E                     p                  i     r  <      "  
       U  6          ~                                          8      {  #  v             _     B               O      P   _  j  D           D    w          ~            H        c            
          "                .             |    V      M  I    w  E                        R          f             ?                                      v        b  L                
                          ?   #   (      k    !   i     |          H              C      r  v  )      S    g            n    `                            l    u       z               a          [  D                     2      /      X         u                         x  }  '            
     ]          `         $          -                  5     \   Q                 $     {        ?  d    :                 )                  
      &   h            <    ?                      j   J                         n        8     I            G  Y          K       F  G    z  j                    _               C     5      Z    +              O          I                  "      O                     G      i    r   @          |           1             >                                  }   S      
        w      \     5          Y                U              M      `            R                           P  p      &       ;            &                        C              [              h  c                                 !    '      j           1  ;               y      1           [      ]     J    &                  R           /               +     J                        q                          =                  g         H        e           W                  {        O          |                                           :          q                              B             E  (              L             #           6                        z    L                  7                    (  =  .   -           ;  '          ;      t   ^   C  k          
                   s  6                           3                ]  X                P  f  0  a  $  W        9           9  m           
           y    V                T  q           i    K          y            @              K  X            Z         W      `  u  E      =    h    U     T      '          x       A  %      l       >   !        V             T  	         -             u                           S      7               4  =   a   T                   1  *                             g  :               x        Y                              .  E  Z    _      9             )   o  m                  L              c    4                                       A   @              }          4              +  ^  s    w  0  g    	                             ~              \  C        i      l           p          H      F  4     ,  ,    m    {  <      c                      k    M    N   
        a    ^  0      b                  +    }      t  F              +           =                                               s                 total memory: %d KiB
     No preferred mode available
     Preferred mode: %ux%u
   EDID checksum invalid   EDID version: %u.%u
   Failed to initialize video adapter   No info available   VBE info:   version: %d.%d  OEM software rev: %d.%d
  (leftmost)  (medial)  (rightmost)  - Partition start at %llu%sKiB  - Sector size %uB  - Total size %llu%sKiB  - Total size unknown %ds %ds remaining. %s appears to contain a %s filesystem which isn't known to reserve space for DOS-style boot.  Installing GRUB there could result in FILESYSTEM DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe disables this check, use at your own risk) %s appears to contain a %s partition map and LDM which isn't known to be a safe combination.  Installing GRUB there could result in FILESYSTEM DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe disables this check, use at your own risk) %s appears to contain a %s partition map which isn't known to reserve space for DOS-style boot.  Installing GRUB there could result in FILESYSTEM DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe disables this check, use at your own risk) %s does not support UUIDs %s doesn't exist. Please specify --target or --directory %s doesn't look like an EFI partition %s is deprecated. Use set gfxpayload=%s before linux command instead.
 %s is deprecated. VGA mode %d isn't recognized. Use set gfxpayload=WIDTHxHEIGHT[xDEPTH] before linux command instead.
 %s: HASH MISMATCH
 %s: OK
 %s: READ ERROR
 %s: error: %s: info: %s: not found %s: the command is not allowed when lockdown is enforced %s: warning: - Label `%s' - Last modification time %d-%02d-%02d %02d:%02d:%02d %s --MORE-- --ppc PATH|--x86 FILE -h HASH [-c FILE [-p PREFIX]] [FILE1 [FILE2 ...]] -l | -r | [-s] grubdev osdisk. .5 .sbat section can be embedded into EFI images only 16-bit protected interface supported
 16-bit protected interface unsupported
 32-bit protected interface supported
 32-bit protected interface unsupported
 =VAL > ACPI non-volatile storage RAM ACPI reclaimable RAM ACPI shutdown failed ADDR ADDR VALUE ADDR VALUE [MASK] ADDR [SIZE] ADDR1,MASK1[,ADDR2,MASK2[,...]] ADDRESS DNSSERVER APM disabled
 APM disengaged
 APM enabled
 APM engaged
 ASCII Accept DOS-style CR/NL line endings. Active input terminals: Active output terminals: Adapter `%s':
 Add PUBKEY_FILE to trusted keys. Add a DNS server Add a network address. Add a network route. Allow to interrupt with ESC. Ask for file name to reboot from. Assume input is hex. Assume input is passphrase. Assume input is raw. Attempting to decrypt master key... Attempting to install GRUB to a disk with multiple partition labels or both partition label and filesystem.  This is not supported yet. Attempting to install GRUB to a disk with multiple partition labels.  This is not supported yet. Attempting to install GRUB to a partitionless disk or to a partition.  This is a BAD idea. Available input terminals: Available output terminals: B B/s BIOS_DUMP [INT10_DUMP] BLOCK BYTE:BIT Background image mode. Base directory for hash list. Bless DIR of HFS or HFS+ partition for PPC macs. Bless FILE of HFS or HFS+ partition for intel macs. Boot BIOS-based system. Boot an operating system. Boot into single mode. Boot with debug messages. Boot with verbose messages. Booting `%s' Booting a command list Booting in blind mode Bootpath: %s
 Bootpath: unavailable
 Break into GDB CGA  COLOR COMMAND [ARGS] CPU Idle doesn't slow down processor
 CPU Idle slows down processor
 CS5536 at %d:%d.%d
 Can't create file: %s Can't enable ROM area. Change configured devices. Change partition type Check Alt key. Check Control key. Check Shift key. Check for CPU features. Check hashes of files with hash list FILE. Check if CPU supports 64-bit (long) mode (default). Check if CPU supports Physical Address Extension. Check if FILE can be booted as i386 PAE Xen unprivileged guest kernel Check if FILE can be booted as x86_64 Xen unprivileged guest kernel Check if FILE can be used as Xen x86 privileged guest kernel Check if FILE can be used as x86 multiboot kernel Check if FILE can be used as x86 multiboot2 kernel Check if FILE is ARM EFI file Check if FILE is ARM Linux Check if FILE is ARM64 EFI file Check if FILE is ARM64 Linux Check if FILE is BIOS bootsector Check if FILE is IA64 EFI file Check if FILE is IA64 Linux Check if FILE is MIPS Linux Check if FILE is MIPSEL Linux Check if FILE is POWERPC Linux Check if FILE is RISC-V 32bit EFI file Check if FILE is RISC-V 64bit EFI file Check if FILE is SPARC64 Linux Check if FILE is XNU (Mac OS X kernel) hibernated image Check if FILE is hiberfil.sys in hibernated state Check if FILE is i386 EFI file Check if FILE is i386 XNU (Mac OS X kernel) Check if FILE is i386 kFreeBSD Check if FILE is i386 kNetBSD Check if FILE is of specified type. Check if FILE is x86 Linux Check if FILE is x86 Linux supporting 32-bit protocol Check if FILE is x86 kFreeBSD Check if FILE is x86 kNetBSD Check if FILE is x86_64 EFI file Check if FILE is x86_64 XNU (Mac OS X kernel) Check if FILE is x86_64 kFreeBSD Check if FILE is x86_64 kNetBSD Check key modifier status. Check whether user is in USERLIST. Checks GRUB script configuration file for syntax errors. Clear bit at BYTE:BIT in CMOS. Clear the screen. Cleared active flag on %d. 
 Command failed Commands: Compare FILE with local file LOCAL. Compare file `%s' with `%s':
 Compare two files. Compute XNU UUID of the device. Compute or check hash checksum. Configure serial port. Continue loops Convert common font file formats into PF2 Copy FILE to local file LOCAL. Copy FILE to standard output. Could not locate FPSWA driver Couldn't find a free BootNNNN slot Couldn't find physical volume `%s'. Some modules may be missing from core image. Couldn't load sha256 Couldn't load sha512 Create BIOS-like structures for backward compatibility with existing OS. Create a blank environment block file. Current terminfo types: DEVICE DEVICE [PARTITION[+/-[TYPE]]] ... DEVICE must be an OS device (e.g. /dev/sda). DEVICE_NAME DIR DIRECTORY [OSBundleRequired] DNSSERVER Debug tool for filesystem driver. Declare memory regions as faulty (badram). Decompressor is too big Default server is ${net_default_server} Define a menu entry. Define a submenu. Delete a network address. Delete a network route. Delete the specified loopback drive. Delete variables. Determine driver. Determine filesystem UUID. Determine filesystem label. Determine filesystem type. Determine partition UUID. Determine partition map type. Device %s: Devid: %s
 Devid: unavailable Direct color, mask: %d/%d/%d/%d  pos: %d/%d/%d/%d Disable ACPI. Disable SMP. Disable all boot output. Disable/enable SMART (0/1). Discarding improperly nested partition (%s,%s,%s%d) Disk cache statistics: hits = %lu (%lu.%02lu%%), misses = %lu
 Disk count must precede disks list.
 Display FPSWA version. Display SMART health status. Display a line of text. Display blocklist of FILE. Display output on all consoles. Display power mode. Display the usage of this command and exit. Display this help and exit. Display/set current datetime. Do not apply any reed-solomon codes when embedding core.img. This option is only available on x86 BIOS targets. Do not output the trailing newline. Do not print messages. Do not probe any floppy drive. Do not use APM to halt the computer. Do nothing, successfully. Do nothing, unsuccessfully. Don't display boot diagnostic messages. Don't load host tables specified by comma-separated list. Don't reboot, just halt. Don't stop after first error. Don't update EBDA. May fix failures or hangs on some BIOSes but makes it ineffective with OS not receiving RSDP from GRUB. EFI bootloader id isn't specified. ENVVAR ENVVAR [ENVVAR] ... ERROR: no valid keyboard layout found. Check the input.
 ESC at any time exits. EXPRESSION EXPRESSION ] Elapsed time: %d.%03d s 
 Elapsed time: %d.%03d seconds 
 Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged. Emulate a keystroke sequence Enable interpretation of backslash escapes. Enable/disable RTS/CTS. Enter ZFS password:  Enter in KDB on boot. Enter normal mode. Enter passphrase for %s%s%s (%s):  Enter password:  Enter username:  Error in parsing command line arguments
 Evaluate an expression. Evaluate arguments as GRUB commands Execute syslinux config in new context Execute syslinux config in new context taking only menu entries Execute syslinux config in same context Execute syslinux config in same context taking only menu entries Exit failed Exit from GRUB. Exit from loops Exit from normal mode. Export variables. Export version 1 tables to the OS. Export version 2 and version 3 tables to the OS. FILE FILE [ARG ...] FILE [ARGS...] FILE | TEMPO [PITCH1 DURATION1] [PITCH2 DURATION2] ...  FILE... FILE1 FILE2 FILENAME COMMAND FILESYSTEM [VARIABLE] FILE|prompt FONTS FORMAT FPSWA protocol wasn't able to find the interface FPSWA revision: %x
 FROM-TO[,FROM-TO] FROM[K|M|G] TO[K|M|G] FT_Init_FreeType fails Failed to boot both default and fallback entries.
 Failed to create `device-mapper' tree Falling back to `%s' File size: %s
 File system `%s' doesn't support embedding Files differ at the offset %llu: 0x%x [%s], 0x%x [%s]
 Files differ in size: %llu [%s], %llu [%s]
 Filesystem cannot be accessed Filesystem type %s Fill hybrid MBR of GPT drive DEVICE. Specified partitions will be a part of hybrid MBR. Up to 3 partitions are allowed. TYPE is an MBR type. + means that partition is active. Only one partition can be active. Filter the result like linux does. Finalize loading of EFI emulator. First try the device HINT if currently running on ARC. If HINT ends in comma, also try subpartitions First try the device HINT if currently running on BIOS. If HINT ends in comma, also try subpartitions First try the device HINT if currently running on EFI. If HINT ends in comma, also try subpartitions First try the device HINT if currently running on IEEE1275. If HINT ends in comma, also try subpartitions First try the device HINT if direct hardware access is supported. If HINT ends in comma, also try subpartitions First try the device HINT. If HINT ends in comma, also try subpartitions Fix video problem. Freetype Error %d loading glyph 0x%x for U+0x%x%s Freeze ATA security settings until reset. Friday G GNU GRUB  version %s GRUB Boot Menu GRUB doesn't know how to halt this machine yet! GRUB emulator. GRUBDEVICE=PLAN9DEVICE Generate GRUB keyboard layout from Linux console one. Generate PBKDF2 password hash. Generate a standalone image (containing all modules) in the selected format Generates a bootable CD/USB/floppy image.  Arguments other than options to this program are passed to xorriso, and indicate source files, source directories, or any of the mkisofs options listed by the output of `%s'. Get crc32 checksum of FILE. Get disk cache info. Get eight bytes' value at the given offset. Get four bytes' value at the given offset. Get the UUID's value at the given offset. Get the byte's value at the given offset. Get the string specified at the given offset. Get two bytes' value at the given offset. Get/set ATA disk parameters. GiB GiB/s Glue 32-bit and 64-bit binary into Apple universal one. Graft point syntax (E.g. /boot/grub/grub.cfg=./grub.cfg) is accepted HASH HINT Halt the system, if possible using APM. Halts the computer.  This command does not work on all firmware implementations. Handle N bytes in output file. Hello World Hercules  Hexdump random data. ID IMAGE1 [IMAGE2 ...] MOUNTPOINT IMAGE_PATH COMMANDS INSTALL_DEVICE must be system device filename.
%s copies GRUB images into %s.  On some platforms, it may also install GRUB into the boot sector. If FILENAME is `-', the default value %s is used.

There is no `delete' command; if you want to delete the whole environment
block, use `rm %s'. Import ZFS wrapping key stored in FILE. Incorrect VDEV Incorrect virtual device: no type available Insert a module. Install GRUB on your drive. Installation finished. No error reported. Installing for %s platform.
 Insufficient privileges to access firmware, assuming BIOS Invalid command %s.
 Invalid device `%s'.
 Invalid disk count.
 Invalid parameter Invalid tempo in %s Invoke user configuration routing. K KERNEL ARGS KEYBOARD_KEY Keyboard key to quickly boot this entry. KiB KiB/s LOCALES Leaf virtual device (file or disk) Legacy `ask' parameter no longer supported. Legend: mask/position=red/green/blue/reserved Length of generated hash Length of salt Linux not supported yet List DNS servers List PCI devices. List Xen storage. List all files. List available video modes. If resolution is given show only modes matching it. List coreboot tables. List devices and files. List devices or files. List devices. List files in PATH. List memory map provided by firmware. List of supported video modes: List of users allowed to boot this entry. List or select an input terminal. List or select an output terminal. List the current variables. List the loaded fonts. List variables from environment block file. Load 64-bit XNU image. Load BIOS dump. Load DTB file. Load FreeBSD env. Load FreeBSD kernel module (ELF). Load FreeBSD kernel module. Load FreeDOS kernel.sys. Load Linux. Load NTLDR or BootMGR. Load NetBSD kernel module (ELF). Load NetBSD kernel module. Load Plan9 kernel. Load Truecrypt ISO. Load XNU extension directory. Load XNU extension package. Load XNU extension. Load XNU image. Load XNU ramdisk. It will be available in OS as md0. Load `device-properties' dump. Load a PXE image. Load a keyboard layout. Load a multiboot 2 kernel. Load a multiboot 2 module. Load a multiboot kernel. Load a multiboot module. Load a splash image for XNU. Load a xen hypervisor. Load a xen module. Load an image of hibernated XNU. Load and initialize EFI emulator. Load another boot loader. Load another config file but take only menu entries. Load another config file without changing context but take only menu entries. Load another config file without changing context. Load another config file. Load another coreboot payload Load background image for active terminal. Load host ACPI tables and tables specified by arguments. Load initrd. Load kOpenBSD ramdisk. Load kernel of FreeBSD. Load kernel of NetBSD. Load kernel of OpenBSD. Load module. Load only tables specified by comma-separated list. Load the same file in multiple ways. Load variables from environment block file. Load zfs crypto key. Loaded fonts: M MAC verification failed MODULE MODULES Mac-style bless on HFS or HFS+ Mail xorriso support requests to <bug-xorriso@gnu.org>. Make GRUB CD-ROM, disk, pendrive and floppy bootable image. Make a bootable image of GRUB. Make a virtual drive from a file. Make partition active Manage the BIOS drive mappings. Manipulate PCI devices. Match structures with the given handle. Match structures with the given type. Measure time used by COMMAND Memory type: DDR2. Memory type: Unknown. Menu entry identifier. Menu entry type. MiB MiB/s Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device or file completions. %s Minimum Emacs-like screen editing is supported. TAB lists completions. Press Ctrl-x or F10 to boot, Ctrl-c or F2 for a command-line or ESC to discard edits and return to the GRUB menu. Missing arguments
 Missing input file
 Monday Monochrome  More than one install device? Mount a crypto device. Mount all volumes with `boot' flag set. Mount all. Mount by UUID. Mount crypto devices. NAME NAME [VARIABLE] [HINTS] NOT RUNNING:  NUM NUMBER_OF_SECONDS Name	Ref Count	Dependencies
 Native disk drivers are in use. Refusing to use firmware disk interface. Netboot directory for %s created. Configure your DHCP server to point to %s
 Network protocols: New MBR is written to `%s'
 No CS5536 found No FPSWA found No boot time statistics is available
 No command is specified.
 No device is specified.
 No disk cache statistics available
 No drives have been remapped No known filesystem detected No path is specified.
 No path or device is specified.
 No virtual device tree available Non-chain 4  Not enough parameters to command.
 Now connect the remote debugger, please. Number of PBKDF2 iterations OPTIONS FILE OS disk #num ------> GRUB/BIOS device OS file %s open error: %s Option -- switches to native xorriso command mode. Options: Out of range lookup: %d
 Out of range substitution (%d, %d)
 Output buffer too small Override guessed mapping of Plan9 devices. P PARTITION COMMANDS PATH PBKDF2 hash of your password is %s
 PORT PORT VALUE [MASK] PUBKEY_ID Paletted  Parse legacy config in new context Parse legacy config in new context taking only menu entries Parse legacy config in same context Parse legacy config in same context taking only menu entries Part no: %s.
 Partition %d is active now. 
 Partition %s: Partition style `%s' doesn't support embedding Path: %s
 Path: unavailable Perform COMMANDS on partition.
Use `parttool PARTITION help' for the list of available commands. Perform a DNS lookup Perform an IPV6 autoconfiguration Perform both direct and reverse mappings. PiB PiB/s Planar  Play a tune. Pool GUID: %016llx
 Pool GUID: unavailable Pool name: %s
 Pool name: unavailable Pool state: active Pool state: destroyed Pool state: exported Pool state: level 2 ARC device Pool state: potentially active Pool state: reserved for hot spare Pool state: unavailable Pool state: uninitialized Possible arguments are: Possible commands are: Possible devices are: Possible files are: Possible partitions are: Possible things are: Prefix not specified (use the -p option). Prepares GRUB network boot images at net_directory/subdir assuming net_directory being TFTP root. Press any key to continue... Press any key to launch xnu Press enter to boot the selected OS, `e' to edit the commands before booting or `c' for a command-line. Press enter to boot the selected OS, `e' to edit the commands before booting or `c' for a command-line. ESC to return previous menu. Print Memory information. Print ZFS info about DEVICE. Print ZFS-BOOTFSOBJ or store it into VARIABLE Print a block list. Print and execute block argument. Print backtrace. Print drive identity and settings. Print sizes in a human readable format. Probe device information for a given path (or device, if the -d option is given). RAM holding coreboot tables RAM holding firmware code RAM slot number %d
 REGEXP STRING ROM image is present. Read 16-bit value from ADDR. Read 16-bit value from PORT. Read 32-bit value from ADDR. Read 32-bit value from PORT. Read 8-bit value from ADDR. Read 8-bit value from PORT. Read a CPU model specific register. Read only LENGTH bytes. Reboot failed Reboot into firmware setup menu. Reboot the computer. Reenter password:  Register %x of %x:%02x.%x is %x
 Remove PUBKEY_ID from trusted keys. Remove a DNS server Remove a module. Remove an environment variable. Remove any memory regions in specified range. Render Apple .disk_label. Reset all mappings to the default values. Retrieve SMBIOS information. Retrieve device info. Return from a function. Return to IEEE1275 prompt. Run `gdb %s %d', and set ARGS.HOLD to zero.
 Run `go' to resume GRUB. SBAT metadata SECS SHORTNAME SHORTNAME CARD ADDRESS [HWADDRESS] SHORTNAME NET [INTERFACE| gw GATEWAY] SIZE SOURCE|-u UUID|-a|-b STRING STRING ... Saturday Save read value into variable VARNAME. Save variables to environment block file. Say `Hello World'. Script `%s' contains no commands and will do nothing
 Search devices by UUID. If VARIABLE is specified, the first device found is set to a variable. Search devices by a file. Search devices by a filesystem UUID. Search devices by a filesystem label. Search devices by file, filesystem label or filesystem UUID. If --set is specified, the first device found is set to a variable. If no variable name is specified, `root' is used. Search devices by file. If VARIABLE is specified, the first device found is set to a variable. Search devices by label. If VARIABLE is specified, the first device found is set to a variable. Sector %llu is already in use by raid controller `%s'; avoiding it.  Please ask the manufacturer not to store data in MBR gap Sector %llu is already in use by the program `%s'; avoiding it.  This software may cause boot or other problems in future.  Please ask its authors not to store data in the boot track Select a structure when several match. Select device by its position on the bus. Select device by vendor and device IDs. Set Advanced Power Management
(1=low, ..., 254=high, 255=off). Set Automatic Acoustic Management
(0=off, 128=quiet, ..., 254=fast). Set OEMID of RSDP, XSDT and RSDT. Set OEMTABLE ID of RSDP, XSDT and RSDT. Set OEMTABLE revision of RSDP, XSDT and RSDT. Set `hidden' flag in partition type Set a variable to return value. Set a variable to the first device found. Set an environment variable. Set background color for active terminal. Set bit at BYTE:BIT in CMOS. Set creator field of RSDP, XSDT and RSDT. Set creator revision of RSDP, XSDT and RSDT. Set debug environment variable. Set drive to sleep mode. Set drive to standby mode. Set positional parameters. Set root device. Set standby timeout
(0=off, 1=5s, 2=10s, ..., 240=20m, 241=30m, ...). Set terminfo type of TERM to TYPE.
 Set the base frequency. Set the serial port address. Set the serial port parity. Set the serial port speed. Set the serial port stop bits. Set the serial port word length. Set the serial unit. Set up images to boot from DEVICE.

You should not normally run this program directly.  Use grub-install instead. Set user password (PBKDF2).  Set user password (plaintext). Unrecommended and insecure. Set variable with user input. Set variables. Setting partition type to 0x%x
 Shift positional parameters. Show ACPI information. Show APM information. Show CBMEM console content. Show a help message. Show a long list with more detailed information. Show boot time statistics. Show contents of FILE in hex. Show coreboot boot time statistics. Show loaded modules. Show memory contents. Show raw contents of ATA IDENTIFY sector. Show raw contents of a file or memory. Show raw dump of the CMOS contents. Show raw dump of the PCI configuration space. Show the contents of a file. Show the current mappings. Show the list of trusted keys. Show this message. Show version 1 tables only. Show version 2 and version 3 tables only. Shutdown failed Simulate grub-legacy `initrd' command Simulate grub-legacy `kernel' command Simulate grub-legacy `modulenounzip' command Simulate grub-legacy `password' command Simulate grub-legacy `password' command in menu entry mode Skip N bytes from output file. Skip offset bytes from the beginning of file. Skip signature-checking of the environment file. Skip signature-checking of the public key file. Slot "%s" opened
 Slot %d opened
 Sorry, no parttool is available for %s
 Specify filename. Specify hash to use. Specify one or more font files to load. Specify size for each read operation Specify the number of input files. Speed: %s 
 Start GDB stub on given port Stop GDB stub Storage information for `%s' does not include type Storage information for `%s' indicates neither a plain partition nor a plain disk Store matched component NUMBER in VARNAME. Store the value in the given variable name. Success Sunday Suppress normal output (warnings remain). Switch to native disk drivers. If no modules are specified default set (pata,ahci,usbms,ohci,uhci,ehci) is used Syntax error at line %u
 System management bus controller I/O space is at 0x%x
 T TARGET THEMES TPM unavailable Target format not specified (use the -O option). Terminal has specified geometry. Terminal is ASCII-only [default]. Terminal is logical-ordered UTF-8. Terminal is visually-ordered UTF-8. Test USB support. Test bit at BYTE:BIT in CMOS. Test file read speed. Test if REGEXP matches STRING. Test video subsystem in mode WxH. Test video subsystem. Text-only  The files are identical.
 The highlighted entry will be executed automatically in %ds. This VDEV is a RAIDZ%llu
 This VDEV is a mirror This entry can be booted by any user. Thursday TiB TiB/s Tool to edit environment block. Total flash size: %d B.
 Transform 64-bit UUID to format suitable for XNU. If -l is given keep it lowercase as done by blkid. Transform a system filename into GRUB one. Transform syslinux config into GRUB one. Translate SET1 characters to SET2 in STRING. Translate to lower case. Translate to upper case. Translates the string with the current settings. Tuesday USER PASSWORD USER PBKDF2_PASSWORD USERNAME[,USERNAME] UTF-8 Unable to create pipe: %s Unable to determine your platform. Use --target. Unable to fork: %s Unable to open stream from %s: %s Unable to retrieve pool state Uncompress data. Uncompress file before checksumming. Unknown TPM error Unknown address type %d
 Unknown command `%s'.
 Unknown compression format %s Unknown encoding Unknown extra argument `%s'. Unknown keyboard scan code 0x%02x
 Unknown keyboard scan identifier %s
 Unknown platform `%s-%s' Unknown video mode  Unknown virtual device type: %s
 Unload EFI emulator. Unrecognized compression `%s' Unrecognized pool state Unsupported address type %d
 Unsupported coverage specification: %d
 Unsupported hw address type %d
 Unsupported substitution specification: %d
 Unsupported substitution type: %d
 Usage: Usage: %s DEVICE
 Usage: %s [INFILE [OUTFILE]]
 Use CD-ROM as root. Use GDB remote debugger instead of DDB. Use STRING as menu entry body. Use compiled-in root device. Use serial console. Use the %C and %C keys to select which entry is highlighted. VAR INTERFACE NUMBER DESCRIPTION VARNAME VDEV element number %d isn't correct
 VDEV element number %d:
 VDEV with %d children
 Verbose countdown. Verify detached signature. Version %u.%u
32-bit CS = 0x%x, len = 0x%x, offset = 0x%x
16-bit CS = 0x%x, len = 0x%x
DS = 0x%x, len = 0x%x
 Virtual device is degraded Virtual device is faulted Virtual device is offline Virtual device is online Virtual device is removed WARNING: no console will be available to OS WARNING: no platform-specific install was performed WARNING: unsupported font feature parameters: %x
 WIDTHxHEIGHT. Wait for a specified number of seconds. Wait for keypress after every line of output. Warning: invalid background color `%s'
 Warning: invalid foreground color `%s'
 Warning: syntax error (missing slash) in `%s'
 Wednesday Write 16-bit VALUE to ADDR. Write 16-bit VALUE to PORT. Write 32-bit VALUE to ADDR. Write 32-bit VALUE to PORT. Write 8-bit VALUE to ADDR. Write 8-bit VALUE to PORT. Write a value to a CPU model specific register. Written SPD bytes: %d B.
 YUV  You need to specify at least one command.
 You will have to set `SystemPartition' and `OSLoader' manually. You've found a bug Your embedding area is unusually small.  core.img won't fit in it. Your xorriso doesn't support `--grub2-boot-info'. Some features are disabled. Please use xorriso 1.2.9 or later. Your xorriso doesn't support `--grub2-boot-info'. Your core image is too big. Boot as disk is disabled. Please use xorriso 1.2.9 or later. [--append|--remove] [TERMINAL1] [TERMINAL2] ... [--force|--bpb] FILE [--md5] PASSWD [FILE] [--no-mem-option] [--type=TYPE] FILE [ARG ...] [-1|-2] [--exclude=TABLE1,TABLE2|--load-only=TABLE1,TABLE2] FILE1 [FILE2] [...] [-c FILE [-p PREFIX]] [FILE1 [FILE2 ...]] [-d] DEVICENAME FILE. [-e|-n] STRING [-f FILE] [-f FILE] [-s|--skip-sig] [variable_name_to_whitelist] [...] [-f FILE] variable_name [...] [-f|-l|-u|-s|-n] [--hint HINT [--hint HINT] ...] NAME [-h|-p|-r] [FILE] [-l] GRUBUUID [VARNAME] [-l|-h|-a] [FILE ...] [-m (stretch|normal)] FILE [-s POSITION] [-d DEVICE] [-s POSITION] [-d DEVICE] [-v VAR] REGISTER[=VALUE[:MASK]] [-s SIZE] FILENAME [-s|--skip-sig] FILE SIGNATURE_FILE [PUBKEY_FILE] [-s|--skip-sig] PUBKEY_FILE [-t type] [-h handle] [-m match] (-b|-w|-d|-q|-s|-u) offset [--set variable] [ADDR|comUNIT][,SPEED] [ARG] [CARD [HWADDRESS]] [CARD] [DIR] [ENVVAR=VALUE] [ENVVAR] [KEYSTROKE1] [KEYSTROKE2] ... [LENGTH] [MODULE1 MODULE2 ...] [NUMBER:]VARNAME [NUM] [OPTIONS...] [OPTIONS] [OPTIONS] DISK [OPTIONS] FILE_OR_DEVICE [OPTIONS] FONT_FILES [OPTIONS] [SET1] [SET2] [STRING] [OPTION] SOURCE... [OPTION] [INSTALL_DEVICE] [OPTION]... [MODULES] [OPTION]... [PATH|DEVICE] [OPTS] [PATH] [PATTERN ...] [USERLIST] [VALUE]... [WxH[xD]] [WxH] [[-a|-u|-v] [-g WxH] [TERM] [TYPE]] [[year-]month-day] [hour:minute[:second]] [bus]:[slot][.func] [default=%s] [vendor]:[device] `%s' is miscompiled: its start address is 0x%llx instead of 0x%llx: ld.gold bug? `%s' is not a local disk `cryptomount' command fails: %s `loopback' command fails: %s `nvsetenv' failed. 
You will have to set `boot-device' variable manually.  At the IEEE1275 prompt, type:
  %s
 `obppath' not found in parent dirs of `%s', no IEEE1275 name discovery a value was assigned to the argument `%s' while it doesn't require an argument access denied add NOTE segment for CHRP IEEE1275 addr address not found alloc-mem failed assume input is a pxelinux configuration file. assume input is a syslinux configuration file. assume input is an isolinux configuration file. attempt to install to encrypted disk without cryptodisk enabled. Set `%s' in file `%s' attempt to read or write outside of disk `%s' attempt to read or write outside of partition attempt to read past the end of file attempt to redefine a function being executed attempt to seek outside of the file attempting to read the core image `%s' from GRUB attempting to read the core image `%s' from GRUB again available RAM available formats: available targets: bad shim signature bad signature base_addr = 0x%llx, length = 0x%llx, %s
 base_addr = 0x%llx, length = 0x%llx, type = 0x%x
 big file signature isn't implemented yet bitmap file `%s' is of unsupported format bless for ppc-based macs bless for x86-based macs blocklist FILE blocklists are incomplete blocklists are invalid blocksize is not divisible by 512 blocksize too large can't break 0 loops can't compress `%s' to `%s' can't determine filesystem on %s can't find command `%s' can't mount encrypted volume `%s': %s can't open `%s': %s can't open file %s, index %d: error %d can't retrieve blocklists can't retrieve blocklists: %s can't set %dx%d font size: Freetype error %d: %s cannot allocate TPM event buffer cannot allocate command buffer cannot close `%s': %s cannot compress the kernel image cannot copy `%s' to `%s': %s cannot delete `%s': %s cannot find EFI directory cannot find a GRUB drive for %s.  Check your device.map cannot find a device for %s (is /dev mounted?) cannot find locale `%s' cannot get file location `%s': %s cannot get translator command line for path `%s': %s cannot make temporary directory: %s cannot make temporary file: %s cannot open OS file `%s': %s cannot open `%s': %s cannot open configuration file `%s': %s cannot open directory `%s': %s cannot read `%s' correctly cannot read `%s': %s cannot rename the file %s to %s cannot rename the file %s to %s: %m cannot restore the original directory cannot save the original directory cannot seek `%s': %s cannot stat `%s': %s cannot sync `%s': %s cannot write to CD-ROM cannot write to `%s': %s cannot write to the stdout: %s card not found cat FILE checksum verification failed choose the compression to use for core image cmp FILE LOCAL comUNIT[,SPEED] compare fail at offset %llu compress GRUB files [optional] connection refused connection timeout convert to bold font core image is too big (0x%x > 0x%x) core.img version mismatch couldn't autoconfigure %s couldn't find IEEE1275 device path for %s.
You will have to set `boot-device' variable manually couldn't find a necessary member device of multi-device filesystem couldn't find geli consumer couldn't find geom `part' class couldn't open geom couldn't read ELI metadata couldn't retrieve UUID couldn't retrieve geli UUID couldn't retrieve random data couldn't retrieve random data for salt couldn't send network packet cp FILE LOCAL crc FILE cryptographic error number %d current directory of syslinux [default is parent directory of input file]. current directory of syslinux as it will be seen on runtime  [default is parent directory of input file]. cygwin_conv_path() failed delete device map if it already exists destination unreachable device count exceeds limit device tree must be supplied (see `devicetree' command) disable hinting disable shim_lock verifier disk `%s' not found disk does not exist, so falling back to partition device %s disk module to use (biosdisk or native). This option is only available on BIOS target. disk read fails at offset %lld, length %lld diskboot.img size must be %u bytes do not install bootsector do not probe for filesystems in DEVICE domain name component is too long don't update LED state don't update the `boot-device'/`Boot*' NVRAM variables. This option is only available on EFI and IEEE1275 targets. efibootmgr failed to register the boot entry: %s embed FILE as a device tree (DTB)
 embed FILE as a memdisk image
Implies `-p (memdisk)/boot/grub' and overrides any prefix supplied previously, but the prefix itself can be overridden by later options embed FILE as an early config embed FILE as public key for signature checking embed a specific DTB embedding is not possible, but this is required for RAID and LVM install embedding is not possible, but this is required for cross-disk install enable ARCS (big-endian mips machines, mostly SGI) boot. Disables HFS+, APM, sparc64 and boot as disk image for i386-pc enable sparc boot. Disables HFS+, APM, ARCS and boot as disk image for i386-pc enabling %s support ... enter: boot, `e': options, `c': cmd-line environment block too small error: %s.
 failed to copy Grub to the PReP partition failed to get FDT failed to get canonical path of `%s' failed to read the sectors of the core image failed to retrieve the structure field failure reading sector 0x%llx from `%s' failure to read password failure writing sector 0x%llx to `%s' false faulty RAM (BadRAM) file `%s' is too big file `%s' not found filename expected filename or tempo and notes expected filesystem `%s' does not support labels filesystem `%s' doesn't support blocklists filesystem on %s is neither HFS nor HFS+ firmware image is too big force autohint four arguments expected free-mem failed fwstart.img doesn't match the known good version. proceed at your own risk generate an image in FORMAT given argument is a system device, not a path grub-mkimage is compiled without XZ support grub> handle hex FILE ignore bitmap strikes when loading incorrect terminal dimensions specification initrd already loaded install FONTS [default=%s] install GRUB for TARGET platform [default=%s]; available targets: %s install GRUB images under the directory DIR/%s instead of the %s directory install THEMES [default=%s] install device isn't specified install even if problems are detected install only LOCALES [default=all] install only MODULES and their dependencies [default=all] interpret is not supported invalid DHCP option code invalid PBKDF2 password invalid arch-dependent ELF magic invalid arch-independent ELF magic invalid argument invalid block size invalid color specification `%s' invalid device tree invalid environment block invalid file name `%s' invalid font range invalid line format: %s invalid memory address (0x%s > 0x%s) invalid modinfo file `%s' invalid parameter %s invalid skip value %lld invalid variable name `%s' invalid video mode specification `%s' invalid zImage invalid zero blocksize ioctl GET_ARRAY_INFO error: %s ioctl GET_DISK_INFO error: %s ioctl RAID_VERSION error: %s kernel image is too big (0x%x > 0x%x) list network addresses list network cards list network routes ls PATH lzop file corrupted make the drive also bootable as floppy (default for fdX devices). May break on some BIOSes. match missing `%c' symbol missing mandatory option for `%s' missing p-list filename module `%s' isn't loaded module isn't loaded name need an image and mountpoint new read is position beyond the end of the written data no APM found no DHCP info found no DHCP option %u found no DHCP options found no DNS record found no DNS reply received no DNS servers configured no EFI routines are available for your platform no EFI routines are available when running in BIOS mode no IEEE1275 routines are available for your platform no SGI routines are available for your platform no `/' in canonical filename no command is specified no compression is available for your platform no decryption key available no hints available for your platform. Expect reduced performance no media in `%s' no network card found no random number generator is available for your OS no server is specified no structure matched the given options no such partition no suitable video mode found no symbol table no terminal specified no terminator in the core image non-sector-aligned data is found in the core file not a directory not a primary partition not a regular file not in function body offset one argument expected one of the --get options is required only ipv4 only ipv6 only one --get option is usable at a time other software is using the embedding area, and there is not enough room for core.img.  Such software is often trying to store data in a way that avoids detection.  We recommend you investigate out of memory output a generated image to FILE [default=stdout] output file must be specified overflow is detected passwords don't match peek out of range perform a DHCP autoconfiguration perform a bootp autoconfiguration persistent RAM persistent RAM (legacy) physical volume %s not found plain image kernel not supported - rebuild with CONFIG_(U)EFI_STUB enabled pre-load specified modules MODULES prefer ipv4 prefer ipv6 premature end of file premature end of file %s press CapsLock key press Insert key press NumLock key press ScrollLock key press SysRq press left alt press left ctrl press left shift press right alt press right ctrl press right shift print TARGET print verbose messages. public key %08 public key %08x not found read error at offset %llu: %s read text from FILE. relative subdirectory on network server relocation 0x%s is not implemented yet relocation 0x%x is not implemented yet requested buffer size is too large reserved RAM retrieve DHCP option and save it into VAR. If VAR is - then print the value. root directory as it will be seen on runtime [default=/]. root directory of TFTP server root directory of the syslinux disk [default=/]. route loop detected save ROM images in DIR [optional] save output in FILE [required] section name %s length is bigger than %lu select face index separate items in output using ASCII NUL characters serial port `%s' isn't found set [NAME=VALUE ...] set capslock mode set font ascent set font descent set font family name set font range set font size set input filename for 32-bit part. set input filename for 64-bit part. set input filename. Default is STDIN set insert mode set numlock mode set output filename. Default is STDOUT set pause mode set prefix directory set scrolllock mode set the label to render shim_lock protocol not found size stretch|normal symbol `%s' not found temporary terminal %s isn't found or it's not handled by terminfo terminal `%s' isn't found the ID of bootloader. This option is only available on EFI and Macs. the PReP partition is not empty. If you are sure you want to use it, run dd to clear it: `%s' the SMBIOS entry point structure was not found the argument `%s' requires an integer the chosen partition is not a PReP partition the device.map entry `%s' is invalid. Ignoring it. Please correct or delete your device.map the drive %s is defined multiple times in the device map %s the drive name `%s' in device.map is incorrect. Using %s instead. Please use the form [hfc]d[0-9]* (E.g. `hd0' or `cd') the field ends outside the structure the first sector of the core file is not sector-aligned the given offset is outside the structure the handle must be between 0 and 65535 the installation device is removable. This option is only available on EFI. the match must be a positive integer the partition type 0x%x isn't valid the sectors of the core file are too fragmented the size of `%s' is not %u the size of `%s' is too large the size of `%s' is too small the type must be between 0 and 255 this ELF file is not of the right type this GPT partition label contains no BIOS Boot Partition; embedding won't be possible this LDM has no Embedding Partition; embedding won't be possible this msdos-style partition label has no post-MBR gap; embedding won't be possible three arguments expected time out opening `%s' timeout reading `%s' timeout: could not resolve hardware address too deep nesting of symlinks translator `%s' for path `%s' has several non-option words, at least `%s' and `%s' translator `%s' for path `%s' is given only options, cannot find device part translator command line is empty for path `%s' two arguments expected type unable to identify a filesystem in %s; safety check can't be performed unaligned device size unexpected EFI error unexpected end of file unknown argument `%s' unknown compression %d unknown device type %s unknown filesystem unknown kind of RAID device `%s' unknown target format %s unknown target format %s
 unknown terminfo type `%s' unrecognised DHCP option format specification `%s' unrecognised network address `%s' unrecognised network interface `%s' unrecognized number unresolvable address %s unset [NAME ...] unsupported HTTP error %d: %s unsupported HTTP response unsupported RAID version: %d.%d unsupported gzip format unsupported instruction unsupported platform %s unsupported serial port flow control unsupported serial port parity unsupported serial port speed unsupported serial port stop bits number unsupported serial port word length use COLOR for background use COLOR for label use COLOR for label background use COLOR for text use DIR as the EFI System Partition root. use DIR for PPC MAC install. use FILE as font (PF2). use FILE as font for label use FILE as memdisk use FILE as the boot image [default=%s] use FILE as the core image [default=%s] use FILE as the device map [default=%s] use FILE as xorriso [optional] use GRUB files in the directory DIR [default=%s] use STRING as product name use STRING as product version use identifier file even if UUID is available use images and modules under DIR [default=%s/<platform>] use themes under DIR [default=%s] use translations under DIR [default=%s] variable variable `%s' isn't set verification requested but nobody cares: %s visually-ordered UTF-8 wait until a debugger will attach will not proceed with blocklists write output to FILE [default=stdout]. wrong ELI magic or version xnu_uuid DEVICE xorriso not found xz file corrupted or unsupported block options you can't delete this address you need to load the Xen Hypervisor first you need to load the kernel first your BIOS Boot Partition is too small; embedding won't be possible your LDM Embedding Partition is too small; embedding won't be possible your core.img is unusually large.  It won't fit in the embedding area your embedding area is unusually small.  core.img won't fit in it. Project-Id-Version: grub 2.06-pre2
Report-Msgid-Bugs-To: bug-grub@gnu.org
PO-Revision-Date: 2021-05-12 09:45+0200
Last-Translator: Frédéric Marchal <fmarchal@perso.be>
Language-Team: French <traduc@traduc.org>
Language: fr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Bugs: Report translation errors to the Language-Team address.
Plural-Forms: nplurals=2; plural=(n >= 2);
               mémoire totale : %d Kio
     Pas de mode préféré disponible
     Mode préféré : %ux%u
   Somme de contrôle EDID incorrecte   Version d'EDID : %u.%u
   Échec d'initialisation de l'adaptateur vidéo   Aucun renseignement disponible   renseignements VBE :   version : %d.%d  révision de logiciel OEM : %d.%d
  (initiale, ou finale pour les écritures de droite à gauche)  (médiane)  (finale, ou initiale pour les écritures de droite à gauche)  - La partition commence à %llu%s Kio  - Taille de secteur %u o  - Taille totale %llu%s Kio  - Taille totale inconnue %d s Plus que %d s. %s a l'air de contenir un système de fichiers %s qui pourrait ne pas réserver de place pour un amorçage de type DOS. Installer GRUB à cet endroit risque de DÉTRUIRE le système de fichiers si des données importantes sont écrasées lors de l'installation de GRUB (--skip-fs-probe désactive ce contrôle, à utiliser à vos risques et périls) %s a l'air de contenir un plan de partition %s et un LDM, ce qui n'est pas souvent une association fiable. Installer GRUB à cet endroit risque de DÉTRUIRE le système de fichiers si des données importantes sont écrasées lors de l'installation de GRUB (--skip-fs-probe désactive ce contrôle, à utiliser à vos risques et périls) %s a l'air de contenir un plan de partition %s qui pourrait ne pas réserver de place pour un amorçage de type DOS. Installer GRUB à cet endroit risque de DÉTRUIRE le système de fichiers si des données importantes sont écrasées lors de l'installation de GRUB (--skip-fs-probe désactive ce contrôle, à utiliser à vos risques et périls) %s ne prend pas en charge les UUID %s n'existe pas. Veuillez utiliser --target ou --directory %s ne ressemble pas à une partition EFI %s est obsolète. Utilisez plutôt « set gfxpayload=%s » avant la commande « linux ».
 %s est obsolète. Le mode VGA %d n'est pas reconnu. Utilisez plutôt « set gfxpayload=LARGxHAUT[xPROF] » avant la commande « linux ».
 %s : hachage non correspondant
 %s : succès
 %s : erreur de lecture
 %s : erreur : %s : information : %s : non disponible %s: la commande n'est pas permise quand verrouillage est de vigueur %s : attention : - Étiquette « %s » - Dernière date de modification %7$s %3$02d/%2$02d/%1$d %4$02d:%5$02d:%6$02d — Plus — --ppc CHEMIN|--x86 FICHIER -h HACHAGE [-c FICHIER [-p PRÉFIXE]] [FICHIER1 [FICHIER2 ...]] -l | -r | [-s] périph_grub dique_se. ,5 la section .sbat peut uniquement être incluse dans des images EFI Interface 16 bits protégée prise en charge
 Interface 16 bits protégée non prise en charge
 Interface 32 bits protégée prise en charge
 Interface 32 bits protégée non prise en charge
 =VAL > RAM de stockage non volatile de l'ACPI RAM de l'ACPI récupérable Échec d'arrêt avec l'ACPI ADRESSE ADRESSE VALEUR ADRESSE VALEUR [MASQUE] ADRESSE [TAILLE] ADRESSE1,MASQUE1[,ADRESSE2,MASQUE2] ... ADRESSE SERVEURDNS APM désactivée
 APM débrayée
 APM activée
 APM embrayée
 ASCII Accepter les fins de ligne de type DOS RC/PAL. Terminaux actifs en entrée : Terminaux actifs en sortie : Adaptateur « %s » :
 Ajouter FICHIER_CLÉ_PUBLIQUE aux clés de confiance. Ajouter un serveur DNS Ajouter une adresse réseau. Ajouter une route réseau. Permettre l'interruption avec Échap. Demander le nom du fichier sur lequel redémarrer. Entrée supposée hexadécimale. Mot de passe supposé en entrée. Entrée supposée brute. Tentative de déchiffrement de la clé principale… Tentative d'installation de GRUB sur un disque ayant plusieurs étiquettes de partition, ou à la fois une étiquette de partition et un système de fichier. Ce n'est pas encore possible. Tentative d'installation de GRUB sur un disque ayant plusieurs étiquettes de partition. Ce n'est pas encore possible. Tentative d'installation de GRUB sur un disque sans partition ou sur une partition. C'est une très mauvaise idée. Terminaux disponibles en entrée : Terminaux disponibles en sortie :  o  o/s COPIE_BIOS [COPIE_INT10] BLOC OCTET:BIT Mode de l'image d'arrière-plan. Répertoire de base pour la liste des hachages. Rendre RÉP de partition HFS ou HFS+ amorçable pour les Mac PowerPC. Rendre FICHIER de partition HFS ou HFS+ amorçable pour les Mac Intel. Démarrer le système en utilisant le BIOS. Démarrer un système d'exploitation. Démarrer en mode mono-utilisateur. Démarrer avec les messages de débogage. Démarrer en affichant plus de messages. Démarrage de « %s » Démarrage d'une liste de commandes Démarrage en mode aveugle Chemin d'amorçage : %s
 Chemin d'amorçage : indisponible
 Pause dans GDB CGA  COULEUR COMMANDE [ARGUMENTS] La veille ne ralentit pas le processeur
 La veille ralentit le processeur
 CS5536 à %d:%d.%d
 Impossible de créer le fichier : %s Impossible d'activer la zone de ROM. Modifier les périphériques configurés. Modifier le type de partition Vérifier l'état de la touche Alt. Vérifier l'état de la touche Ctrl. Vérifier l'état de la touche majuscule. Tester les capacités du processeur. Comparer les hachages de fichiers avec le FICHIER de liste de hachages. Vérifier si le processeur accepte le mode 64 bits (long, option par défaut). Vérifier si le processeur accepte l’extension d’adresses physiques (PAE). Vérifier si FICHIER peut être démarré comme un noyau de client Xen PAE i386 sans droit Vérifier si FICHIER peut être démarré comme un noyau de client Xen PAE x86_64 sans droit Vérifier si FICHIER peut être utilisé comme un noyau de client Xen x86 avec droits Vérifier si FICHIER peut être utilisé comme un noyau Multiboot x86 Vérifier si FICHIER peut être utilisé comme un noyau Multiboot 2 x86 Vérifier si FICHIER est un fichier EFI ARM Vérifier si FICHIER est un Linux ARM Vérifier si FICHIER est un fichier EFI ARM64 Vérifier si FICHIER est un Linux ARM64 Vérifier si FICHIER est un secteur d’amorçage BIOS Vérifier si FICHIER est un fichier EFI IA-64 Vérifier si FICHIER est un Linux IA-64 Vérifier si FICHIER est un Linux MIPS Vérifier si FICHIER est un Linux MIPSEL Vérifier si FICHIER est un Linux PowerPC Vérifier si FICHIER est un fichier EFI RISC-V 32 bits Vérifier si FICHIER est un fichier EFI RISC-V 64 bits Vérifier si FICHIER est un Linux SPARC-64 Vérifier si FICHIER est une image XNU (noyau de Mac OS X) d’hibernation Vérifier si FICHIER est hiberfil.sys en état d’hibernation Vérifier si FICHIER est un fichier EFI i386 Vérifier si FICHIER est un XNU i386 (noyau de Mac OS X) Vérifier si FICHIER est un kFreeBSD i386 Vérifier si FICHIER est un kNetBSD i386 Vérifier si FICHIER est du type indiqué. Vérifier si FICHIER est un Linux x86 Vérifier si FICHIER est un Linux x86 acceptant le protocole 32 bits Vérifier si FICHIER est un kFreeBSD x86 Vérifier si FICHIER est un kNetBSD x86 Vérifier si FICHIER est un fichier EFI x86_64 Vérifier si FICHIER est un XNU x86_64 (noyau de Mac OS X) Vérifier si FICHIER est un kFreeBSD x86_64 Vérifier si FICHIER est un kNetBSD x86_64 Vérifier l'état des touches spéciales (Maj, Alt, Ctrl). Vérifier si l'utilisateur fait partie de LISTE_UTILISATEURS. Vérifie les erreurs de syntaxe dans le fichier de configuration de script GRUB. Désactiver le bit à OCTET:BIT du CMOS. Effacer l'écran. Attribut actif effacé de %d. 
 La commande a échoué Commandes : Comparer FICHIER avec le fichier LOCAL. Comparer le fichier « %s » par rapport à « %s » :
 Comparer deux fichiers. Calculer l'UUID XNU du périphérique. Calculer ou vérifier la somme de contrôle du hachage. Configurer le port série. Continuer les boucles Convertir les formats de fichier de police habituels en PF2 Copier FICHIER vers le fichier local LOCAL. Copier FICHIER sur la sortie standard. Impossible de trouver le pilote FPSWA Impossible de trouver un emplacement BootNNNN libre Impossible de trouver le volume physique « %s ». Certains modules risquent de manquer dans l'image de base. Impossible de charger sha256 Impossible de charger sha512 Créer des structures de type BIOS pour compatibilité ascendante avec le système d'exploitation existant. Créer un fichier de bloc d'environnement vierge. Types de terminfo actuels : PÉRIPHÉRIQUE PÉRIPHÉRIQUE [PARTITION[+/-[TYPE]]] ... PÉRIPHÉRIQUE doit être un périphérique du système d'exploitation (par exemple /dev/sda). NOM_PÉRIPH RÉP RÉPERTOIRE [OSBundleRequired] SERVEURDNS Outil de débogage du pilote de système de fichier. Déclarer des régions de mémoire comme défectueuses (badram). Le décompresseur est trop grand Le serveur par défaut est ${net_default_server} Définir une entrée de menu. Définir un sous-menu. Supprimer une adresse réseau. Supprimer une route réseau. Supprimer le périphérique boucle indiqué. Supprimer les variables. Déterminer le pilote utilisé. Déterminer l'UUID du système de fichiers. Déterminer l'étiquette du système de fichiers. Déterminer le type de système de fichiers. Déterminer le UUID de partition. Déterminer le type de plan de partition. Périphérique %s : Identifiant de périphérique : %s
 Identifiant de périphérique : indisponible Couleur directe, masque : %d/%d/%d/%d  position : %d/%d/%d/%d Désactiver l'ACPI. Désactiver le SMP. Désactiver toutes les sorties au démarrage. Désactiver ou activer SMART (0/1). Abandon de partition imbriquée de façon incorrecte (%s,%s,%s%d) Statistiques de cache du disque : atteints = %lu (%lu.%02lu%%), ratés = %lu
 Le décompte des disques doit précéder la liste des disques.
 Afficher la version FPSWA. Afficher l'état de santé d'après SMART. Afficher une ligne de texte. Affiche la liste des blocs de FICHIER. Afficher les messages sur toutes les consoles. Afficher le mode d'alimentation. Afficher l'aide de cette commande et quitter. Afficher cette aide et quitter. Afficher ou définir la date et l'heure actuelle. Ne pas appliquer le code Reed-Solomon lors de l’embarquage de core.img. Cette option n'est disponible que sur les cibles BIOS x86. Ne pas afficher le changement de ligne final. Ne pas afficher les messages. N'examiner aucun lecteur de disquettes. Ne pas utiliser l'APM pour arrêter l'ordinateur. Ne rien faire, avec succès. Ne rien faire, avec échec. Ne pas afficher les messages de diagnostic au démarrage. Ne pas charger les tables d'hôte indiquées dans la liste, séparées par des virgules. Ne pas redémarrer, arrêter seulement. Ne pas s'arrêter après la première erreur. Ne pas mettre à jour l'EBDA. Cela peut corriger des dysfonctionnements sur certains BIOS, mais est souvent inefficace si le système d'exploitation ne reçoit pas de RSDP du GRUB. L'identifiant de chargeur d'amorçage EFI n'est pas indiqué. VAR_ENV VAR_ENV [VAR_ENV] ... Erreur : pas de disposition de clavier disponible. Vérifiez l'entrée.
 Échap à tout moment pour quitter. EXPRESSION EXPRESSION ] Temps écoulé : %d,%03d s 
 Temps écoulé : %d,%03d secondes 
 L'embarquage est impossible. GRUB ne peut être installé sur cette configuration qu'en utilisant les listes de blocs. Cependant, les listes de blocs ne sont PAS fiables et leur utilisation est déconseillée. Émuler une séquence de frappe Activer l'interprétation des séquences d'échappement par barre oblique inversée. Activer ou désactiver RTS/CTS Entrez le mot de passe ZFS :  Entrer dans KDB au démarrage. Passer en mode normal. Entrez le mot de passe pour %s%s%s (%s) :  Entrez le mot de passe :  Entrez le nom d'utilisateur :  Erreur d'analyse des arguments de la ligne de commandes
 Évaluer une expression. Évaluer les arguments comme des commandes GRUB Exécuter la configuration de syslinux dans le nouveau contexte Exécuter la configuration de syslinux dans le nouveau contexte en ne prenant que les entrées de menu Exécuter la configuration de syslinux dans le même contexte Exécuter la configuration de syslinux dans le même contexte en ne prenant que les entrées de menu Échec de sortie Quitter GRUB. Sortir des boucles. Sortir du mode normal. Exporter les variables. Exporter les tables en version 1 vers le système d'exploitation. Exporter les tables en version 2 et version 3 vers le système d'exploitation. FICHIER FICHIER [ARG ...] FICHIER [ARGUMENTS ...] FICHIER | MESURE [DEGRÉ1 DURÉE1] [DEGRÉ2 DURÉE2] ...  FICHIER ... FICHIER1 FICHIER2 FICHIER COMMANDE SYS_FIC [VARIABLE] FICHIER|prompt POLICES FORMAT Le protocole FPSWA n'a pas pu trouver l'interface Révision FPSWA : %x
 DE-À[,DE-À] DE[K|M|G] À[K|M|G] échec de FT_Init_FreeType Échec de démarrage de l'entrée par défaut et des entrées de repli.
 Échec de création de l'arborescence « device-mapper » Repli vers « %s » Taille de fichier : %s
 Le système de fichiers « %s » ne prend pas en charge l'embarquage Les fichiers sont différents à la position %llu : 0x%x [%s], 0x%x [%s]
 Les fichiers sont de tailles différentes : %llu [%s], %llu [%s]
 Le système de fichiers est inaccessible Type de système de fichiers %s Remplir le secteur d'amorçage principal (MBR) hybride du disque GPT PÉRIPHÉRIQUE. Les partitions indiquées feront partie du secteur d'amorçage principal hybride. Jusqu'à trois partitions sont permises. TYPE est un type de secteur d'amorçage principal. + signifie que la partition est active. Une seule partition peut être active. Filtrer le résultat comme linux le fait. Terminer le chargement de l'émulateur EFI. Essayer d'abord le CONSEIL (« hint ») de périphérique seulement si exécuté sur une plate-forme ARC. Si CONSEIL se finit par une virgule, essayer aussi les sous-partitions. Essayer d'abord le CONSEIL (« hint ») de périphérique si exécuté sur une plate-forme BIOS. Si CONSEIL se finit par une virgule, essayer aussi les sous-partitions. Essayer d'abord le CONSEIL (« hint ») de périphérique seulement si exécuté sur une plate-forme EFI. Si CONSEIL se finit par une virgule, essayer aussi les sous-partitions. Essayer d'abord le CONSEIL (« hint ») de périphérique si exécuté sur une plate-forme IEEE1275. Si CONSEIL se finit par une virgule, essayer aussi les sous-partitions. Essayer d'abord le CONSEIL (« hint ») de périphérique seulement si exécuté sur une plate-forme permettant un accès matériel direct. Si CONSEIL se finit par une virgule, essayer aussi les sous-partitions. Essayer d'abord le CONSEIL (« hint ») de périphérique. Si CONSEIL se finit par une virgule, essayer aussi les sous-partitions. Corriger un problème vidéo. Erreur %d de Freetype en chargeant glyphe 0x%x pour U+0x%x%s Figer les paramètres de sécurité ATA jusqu'au redémarrage. vendredi  Gi GNU GRUB  version %s Menu de démarrage GRUB GRUB ne sait pas encore comment arrêter cette machine. Émulateur GRUB PÉRIPHÉRIQUE_GRUB=PÉRIPHÉRIQUE_PLAN9 Générer une disposition de clavier GRUB à partir de celle de la console Linux. Générer un hachage PBKDF2 du mot de passe. Créer une image autonome (contenant tous les modules) au format choisi Créer une image amorçable de CD, USB ou disquette. Les arguments qui ne sont pas des options de ce programme sont passées à xorriso, et indiquent les fichiers source, répertoires source ou n’importe quelles options de mkisofs affichées en sortie de « %s ». Calculer la somme de contrôle CRC32 de FICHIER. Obtenir les renseignements de cache du disque. Obtenir la valeur sur huit octets à l'offset donné. Obtenir la valeur sur quatre octets à l'offset donné. Obtenir la valeur du UUID à l'offset donné. Obtenir la valeur de l'octet à l'offset donné. Obtenir la chaîne spécifiée à l'offset donné. Obtenir la valeur sur deux octets à l'offset donné. Obtenir ou définir les paramètres ATA du disque.  Gio  Gio/s Coller des binaires 32 et 64 bits dans un seul binaire universel Apple. La syntaxe de point de greffe (par exemple /boot/grub/grub.cfg=./grub.cfg) est acceptée HACHAGE CONSEIL Arrêter le système, si possible avec l'APM. Arrête l'ordinateur. Cette commande ne fonctionne pas avec toutes les implémentations de microprogramme (« firmware »). Traiter N octets du fichier de sortie. Bonjour à tous Hercules  Données aléatoires hexdump. IDENTIFIANT IMAGE1 [IMAGE2 ...] POINT_DE_MONTAGE CHEMIN_IMAGE COMMANDES PÉRIPHÉRIQUE_INSTALLATION doit être un nom de fichier de périphérique système.
%s copie les images GRUB sur %s. Sur certaines plates-formes, cela pourrait aussi installer GRUB sur le secteur d'amorçage. Si FICHIER est « - », la valeur par défaut %s est utilisée.

Il n’y a pas de commande « delete ». Si vous voulez supprimer tous
l’environnement, utilisez « rm %s ». Importer la clé de chiffrement ZFS stockée dans FICHIER. VDEV incorrect Périphérique virtuel incorrect : pas de type disponible Charger un module. Installer GRUB sur le disque. Installation terminée, sans erreur. Installation pour la plate-forme %s.
 Droits insuffisants pour accéder au microprogramme (« firmware »), BIOS supposé Commande %s incorrecte.
 Périphérique « %s » incorrect.
 Décompte de disques incorrect.
 Paramètre incorrect Temporisation incorrecte dans %s Accomplir la configuration de routage par utilisateur.  Ki NOYAU ARGUMENTS TOUCHE_CLAVIER Touche clavier pour démarrer rapidement cette entrée.  Kio  Kio/s LOCALES Périphérique virtuel feuille (fichier ou disque) L'ancien paramètre « ask » n'est plus permis. Légende : masque/position=rouge/vert/bleu/réservé Longueur du hachage généré. Longueur du salage. Linux n'est pas encore supporté Afficher les serveurs DNS Afficher les périphériques PCI. Afficher le stockage Xen. Afficher tous les fichiers. Afficher les modes vidéo. Si une résolution est donnée, n'afficher que les modes correspondants. Afficher les tables de coreboot. Afficher les périphériques et fichiers. Afficher les périphériques ou fichiers. Afficher les périphériques. Afficher les fichiers dans CHEMIN. Afficher la carte de mémoire transmise par le microprogramme (« firmware »). Liste des mode vidéo possibles : Liste d'utilisateurs autorisés à démarrer cette entrée. Afficher ou sélectionner un terminal d'entrée. Afficher ou sélectionner un terminal de sortie. Afficher les variables actuelles. Afficher les polices chargées. Afficher les variables depuis un fichier de bloc d'environnement. Charger l'image 64 bits XNU. Charger la copie du BIOS. Charger le fichier DTB. Charger l'environnement FreeBSD. Charger le module noyau FreeBSD (ELF). Charger le module noyau FreeBSD. Charger de kernel.sys de FreeDOS. Charger Linux. Charger NTLDR ou BootMGR. Charger le module noyau NetBSD (ELF). Charger le module noyau NetBSD. Charger un noyau de type Plan 9. Charger l’ISO Truecrypt. Charger le répertoire d'extensions XNU. Charger le paquet d'extension XNU. Charger l'extension XNU. Charger l'image XNU. Charger le disque mémoire XNU. Il sera disponible dans le système d'exploitation sous le nom md0. Charger la copie « device-properties ». Charger une image PXE. Charger une disposition de clavier. Charger un noyau Multiboot 2. Charger un module Multiboot 2. Charger un noyau Multiboot. Charger un module Multiboot. Charger l'image d'accueil pour XNU. Charger un hyperviseur Xen. Charger un module Xen. Charger l'image d'hibernation XNU. Charger et initialiser l'émulateur EFI. Charger un autre gestionnaire de démarrage. Charger un autre fichier de configuration, mais ne prendre que les entrées de menu. Charger un autre fichier de configuration sans modifier le contexte, mais ne prendre que les entrées de menu. Charger un autre fichier de configuration sans modifier le contexte. Charger un autre fichier de configuration. Charger une autre charge utile (« payload ») coreboot. Charger l'image d'arrière-plan pour le terminal actif. Charger les tables ACPI de l'hôte et les tables indiquées par les arguments. Charger l'image mémoire initiale. Charger le disque mémoire kOpenBSD. Charger le noyau FreeBSD. Charger le noyau NetBSD. Charger le noyau OpenBSD. Charger un module. Ne charger que les tables indiquées dans la liste, séparées par des virgules. Charger le même fichier de différentes façons. Charger les variables depuis un fichier de bloc d'environnement. Charger la clé de chiffrement ZFS. Polices chargées :  Mi échec de vérification de MAC MODULE MODULES bless de type mac pour HFS ou HFS+ Envoyer les demandes d'aide sur xorriso à <bug-xorriso@gnu.org>. Faire une image GRUB amorçable de CD, de disque, de clé USB ou de disquette. Faire une image de GRUB amorçable. Faire un disque virtuel à partir d'un fichier. Activer la partition Gérer les correspondances de disques BIOS. Manipuler les périphériques PCI. Correspondre aux structures avec l'identifiant donné. Correspondre aux structures avec le type donné. Mesurer le temps utilisé par COMMANDE Type de mémoire : DDR2. Type de mémoire : inconnu. Identifiant d'entrée de menu. Type d'entrée de menu.  Mio  Mio/s Édition de ligne basique de type Bash possible. Pour le premier mot, Tab affiche les complètements de commande possibles. Ailleurs, Tab affiche les complètements de périphériques ou fichiers possibles. %s Édition basique à l'écran de type Emacs possible. Tab affiche les complètements. Appuyez sur Ctrl-x ou F10 pour démarrer, Ctrl-c ou F2 pour une invite de commandes ou Échap pour revenir au menu GRUB. Arguments manquants
 Fichier d'entrée manquant
 lundi Monochrome  Plus d'un disque d'installation, alors qu'un seul est attendu. Monter un périphérique chiffré. Monter tous les volumes avec l'attribut d'amorçage (« boot ») défini. Tous les monter. Monter par UUID. Monter les périphériques chiffrés. NOM NOM [VARIABLE] [CONSEILS] Non exécuté :  NUM NOMBRE_DE_SECONDES Nom	Nombre Réf.	Dépendances
 Utilisation des pilotes natifs du disque. Refus d'utiliser l'interface disque du microprogramme (« firmware »). répertoire Netboot créé pour %s. Configurez le serveur DHCP pour pointer vers %s
 Protocoles réseau : Le nouveau secteur d'amorçage principal (MBR) est écrit sur « %s »
 Pas de CS5536 disponible Pas de FPSWA disponible Aucune statistique de temps de démarrage n'est disponible
 Aucune commande indiquée.
 Aucun périphérique n'est indiqué.
 Aucune statistique de cache du disque disponible
 Aucune correspondance de disque n'a été refaite. Aucun système de fichiers connu détecté Aucun chemin indiqué.
 Aucun chemin ni aucun périphérique n'est indiqué.
 Pas d'arborescence de périphériques virtuels disponible Non-chain 4  Paramètres manquants pour la commande.
 Veuillez connecter le débogueur distant maintenant. Nombre d'itérations PBKDF2 OPTIONS FICHIER disque nº num du système d'exploitation ------> périphérique GRUB ou BIOS erreur d'ouverture du fichier %s de système d'exploitation : %s L'option -- bascule en mode natif de commande xorriso. Options : Recherche hors limites : %d
 Substitution hors limites (%d, %d)
 Le tampon de sortie est trop petit Redéfinir l'équivalent supposé des périphériques Plan 9.  Pi PARTITION COMMANDES CHEMIN Le hachage PBKDF2 du mot de passe est %s
 PORT PORT VALEUR [MASQUE] IDENTIFIANT_CLÉ_PUBLIQUE Palette de couleurs  Analyser l'ancienne configuration dans le nouveau contexte Analyser l'ancienne configuration dans le nouveau contexte en ne prenant que les entrées de menu Analyser l'ancienne configuration dans le même contexte Analyser l'ancienne configuration dans le même contexte en ne prenant que les entrées de menu Numéro de modèle : %s.
 La partition %d est maintenant active. 
 Partition %s : Le style de partition « %s » ne prend pas en charge l'embarquage Chemin : %s
 Chemin : indisponible Exécuter les COMMANDES sur une partition.
Utiliser « parttool PARTITION help » pour obtenir la liste des commandes disponibles. Effectuer une résolution DNS Effectuer une configuration IPV6 automatique Activer les correspondances dans les deux sens (directe et inverse).  Pio  Pio/s Par plan  Émettre un son. GUID du pool : %016llx
 GUID du pool : indisponible Nom du pool : %s
 Nom du pool : indisponible État du pool : actif État du pool : détruit État du pool : exporté État du pool : périphérique ARC niveau 2 État du pool : potentiellement actif État du pool : réservé pour échange à chaud État du pool : indisponible État du pool : non initialisé Les arguments possibles sont : Les commandes possibles sont : Les périphériques possibles sont : Les fichiers possibles sont : Les partitions possibles sont : Les choses possibles sont : Préfixe non indiqué (utilisez l'option -p). Prépare les images d’amorçage en réseau GRUB dans net_directory/subdir en supposant que net_directory est la racine TFTP. Appuyez une touche pour continuer… Appuyez une touche pour démarrer XNU Appuyez sur Entrée pour démarrer le système sélectionné, « e » pour éditer les commandes avant de démarrer ou « c » pour obtenir une invite de commandes. Appuyez sur Entrée pour démarrer le système sélectionné, « e » pour éditer les commandes avant de démarrer ou « c » pour obtenir une invite de commandes. Échap pour revenir au menu précédent. Afficher les renseignements sur la mémoire. Afficher les renseignements ZFS à propos de PÉRIPHÉRIQUE. Afficher ZFS-BOOTFSOBJ ou la sauver dans VARIABLE Afficher une liste de blocs. Afficher et exécuter l'argument de bloc. Afficher la pile d'appel. Afficher les paramètres et l'identité du disque. Afficher les tailles au format lisible par un humain. Examiner les renseignements du périphérique pour un chemin (ou un périphérique avec l'option -d) donné. RAM contenant les tables de coreboot RAM contenant le code de microprogramme (« firmware ») Connecteur de RAM numéro %d
 EXPR_RAT CHAÎNE Une image ROM est présente. Lire la valeur 16 bits d'ADRESSE. Lire la valeur 16 bits du PORT. Lire la valeur 32 bits d'ADRESSE. Lire la valeur 32 bits du PORT. Lire la valeur 8 bits d'ADRESSE. Lire la valeur 8 bits du PORT. Lire un registre spécifique au modèle du processeur. Lire seulement LONGUEUR octets. Échec de redémarrage Redémarrer dans le menu de configuration de microprogramme (« firmware »). Redémarrer l'ordinateur. Entrez de nouveau le mot de passe :  Registre %x de %x:%02x.%x est %x
 Supprimer IDENTIFIANT_CLÉ_PUBLIQUE des clés de confiance. Retirer un serveur DNS Retirer un module. Retirer une variable d'environnement. Retirer toutes les régions de mémoire dans l'intervalle indiqué. Fournir le .disk_label Apple. Réinitialiser toutes les correspondances aux valeurs par défaut. Récupérer les informations SMBIOS. Récupérer les renseignements du périphérique. Terminer une fonction. Retourner à l'invite IEEE1275. Exécutez « gdb %s %d », et configurez ARGS.HOLD à zéro.
 Exécuter « go » pour revenir à GRUB. métadonnée SBAT SEC NOMCOURT NOMCOURT CARTE ADRESSE [ADRESSEMATÉRIELLE] NOMCOURT RÉS [INTERFACE| gw PASSERELLE] TAILLE SOURCE|-u UUID|-a|-b CHAÎNE CHAÎNE ... samedi Sauver la valeur lue dans la variable NOM_VAR. Sauver les variables dans un fichier de bloc d'environnement. Dire « Bonjour à tous ». Le script « %s » ne contient aucune commande et ne fera rien
 Chercher des périphériques par UUID. Si VARIABLE est indiquée, le premier périphérique trouvé est enregistré dans une variable. Chercher les périphériques par fichier. Chercher les périphériques par UUID de système de fichiers. Chercher les périphériques par étiquette de système de fichiers. Chercher des périphériques par nom de fichier, étiquette ou UUID de système de fichiers. Si --set est indiqué, le premier périphérique trouvé est enregistré dans une variable. Si aucun nom de variable n'est indiqué, « root » est utilisé. Chercher des périphériques par fichier. Si VARIABLE est indiquée, le premier périphérique trouvé est enregistré dans une variable. Chercher des périphériques par étiquette. Si VARIABLE est indiquée, le premier périphérique trouvé est enregistré dans une variable. Le secteur %llu est déjà utilisé par le contrôleur RAID « %s » ; à éviter. Veuillez demander au fabriquant de ne pas sauver de données dans la piste d'amorçage Le secteur %llu est déjà utilisé par le programme « %s » ; à éviter. Ce logiciel risque de poser des problèmes d'amorçage ou autre à l'avenir. Veuillez demander à ses auteurs de ne pas sauver de données dans la piste d'amorçage Sélectionner une structure si plusieurs correspondent. Sélectionner le périphérique en fonction de sa position sur le bus. Sélectionner le périphérique par identifiants de constructeur et de périphérique. Définir la gestion étendue de l'alimentation (APM)
(1=basse, ..., 254=haute, 255=arrêt). Définir la gestion acoustique automatique (AAM)
(0=arrêt, 128=silencieux, ..., 254=rapide). Définir l'OEMID de RSDP, XSDT et RSDT. Définir l'identifiant OEMTABLE de RSDP, XSDT et RSDT. Définir la révision OEMTABLE de RSDP, XSDT et RSDT. Définir l'attribut « caché » dans le type de partition Définir une variable pour renvoyer la valeur. Définir une variable au premier périphérique trouvé. Définir une variable d'environnement. Définir la couleur d'arrière-plan pour le terminal actif. Activer le bit à OCTET:BIT du CMOS. Définir l'identifiant du fabriquant de RSDP, XSDT et RSDT. Définir la révision du fabriquant de RSDP, XSDT et RSDT. Définir la variable d'environnement de débogage. Placer le lecteur en mode sommeil. Placer le lecteur en mode veille. Définir les paramètres positionnels. Définir le périphérique racine. Définir le délai de veille
(0=off, 1=5 s, 2=10 s, ..., 240=20 min, 241=30 min, ...). Définir le type de terminfo du TERMINAL à TYPE.
 Définir la fréquence de référence. Définir l'adresse du port série. Définir la parité du port série. Définir la vitesse du port série. Définir les bits d'arrêt du port série. Définir la taille de trame du port série. Définir le port série (unité). Préparer les images pour démarrer depuis PÉRIPHÉRIQUE.

Vous ne devriez normalement pas exécuter ce programme directement. Utilisez plutôt grub-install. Définir un mot de passe utilisateur (PBKDF2).  Définir le mot de passe utilisateur (texte en clair). Non recommandé et non sécurisé. Définir la variable avec la saisie de l'utilisateur. Définir les variables. Changement du type de partition à 0x%x
 Décaler les paramètres positionnels. Afficher les renseignements d'ACPI. Afficher les renseignements d'APM. Afficher le contenu de la console CBMEM. Afficher un message d'aide. Afficher une longue liste de renseignements plus détaillées. Afficher les statistiques de temps de démarrage. Afficher le contenu de FICHIER en hexadécimal. Afficher les statistiques de temps de démarrage de coreboot. Afficher les modules chargés. Afficher le contenu de la mémoire. Afficher le contenu brut du secteur ATA IDENTIFY. Afficher le contenu brut d'un fichier ou de la mémoire. Afficher la copie brute du contenu du CMOS. Afficher la copie brute de l'espace de configuration PCI. Afficher le contenu d'un fichier. Afficher les correspondances actuelles. Afficher la liste des clés de confiance. Afficher ce message. N'afficher que les tables en version 1. N'afficher que les tables en version 2 et version 3. Échec d'arrêt Simuler la commande « initrd » de l'ancien GRUB Simuler la commande « kernel » de l'ancien GRUB Simuler la commande « modulenounzip » de l'ancien GRUB Simuler la commande « password » de l'ancien GRUB Simuler la commande « password » de l'ancien GRUB en mode d'entrée de menu Sauter N octets du fichier de sortie. Sauter plusieurs octets au début du fichier. Sauter la vérification de signature du fichier d’environnement. Sauter la vérification de signature du fichier de clé publique. Emplacement de clé « %s » ouvert
 Emplacement de clé %d ouvert
 Désolé, aucun parttool n'est disponible pour %s
 Indiquer le nom de fichier. Indiquer le hachage à utiliser. Indiquer un ou plusieurs fichiers de police à charger. Indiquer la taille pour toutes les opérations de lecture Indiquer le nombre de fichiers d'entrée. Vitesse : %s 
 Démarrer la session GDB sur le port indiqué. Arrêter la session GDB Les renseignements de stockage pour « %s » ne contiennent pas le type Les renseignements de stockage pour « %s » n’indiquent ni une simple partition, ni un simple disque Sauver le composant NOMBRE correspondant dans NOM_VAR. Sauver la valeur dans le nom de variable donné. Réussite dimanche Supprimer la sortie normale (les avertissements sont conservés). Basculer vers les pilotes natifs de disque. Si aucun module n'est indiqué, l'ensemble par défaut (pata,ahci,usbms,ohci,uhci,ehci) est utilisé Erreur de syntaxe à la ligne %u
 L'espace d'E/S du contrôleur de bus du système de gestion est à 0x%x
  Ti CIBLE THÈMES TPM indisponible Format cible non indiqué (utilisez l'option -O). Le terminal a la géométrie indiquée. Le terminal est en ASCII seulement [par défaut]. Le terminal est en UTF-8 ordonné logiquement. Le terminal est en UTF-8 ordonné visuellement. Tester la prise en charge de l'USB. Tester le bit à OCTET:BIT du CMOS. Tester la vitesse de lecture du fichier. Tester si l'expression rationnelle EXPR_RAT correspond à CHAÎNE. Tester le sous-système vidéo en mode LARG×HAUT. Tester le sous-système vidéo. Texte seul  Les fichiers sont identiques.
 L'entrée sélectionnée sera exécutée automatiquement dans %d s. Ce VDEV est un RAIDZ%llu
 Ce VDEV est un miroir Cette entrée peut être démarrée par n'importe quel utilisateur. jeudi  Tio  Tio/s Outil pour éditer un bloc d'environnement. Taille flash totale : %d o.
 Transformer un UUID 64 bits au format convenable pour XNU. Si -l est donnée, le garder en minuscule comme avec blkid. Transformer un nom de fichier système vers le format GRUB. Transformer une configuration de syslinux vers le format GRUB. Convertir les caractères d’ENSEMBLE1 vers ENSEMBLE2 dans CHAÎNE. Convertir en minuscule. Convertir en majuscule. Traduit la chaîne en fonction de la configuration actuelle. mardi UTILISATEUR MOTDEPASSE UTILISATEUR MOTDEPASSE_PBKDF2 UTILISATEUR[,UTILISATEUR] UTF-8 Impossible de créer le tube : %s Impossible de déterminer la plate-forme. Utilisez --target. Impossible de bifurquer (« fork ») : %s Impossible d'ouvrir le flux de %s : %s Impossible de récupérer l'état du pool Décompresser les données. Décompresser le fichier avant de calculer la somme de contrôle. Erreur TPM inconnue type %d d'adresse inconnu
 Commande « %s » inconnue.
 Format de compression %s inconnu Encodage inconnu Argument facultatif « %s » inconnu. Code de touche 0x%02x inconnu
 Identifiant de touche %s inconnu
 Plate-forme « %s-%s » inconnue Mode vidéo inconnu  Type de périphérique virtuel inconnu : %s
 Décharger l'émulateur EFI. Compression « %s » non reconnue État du pool non reconnu type %d d'adresse non valable
 Spécification de couverture non prise en charge : %d
 type %d d'adresse matérielle non valable
 Spécification de substitution non prise en charge : %d
 Type de substitution non pris en charge : %d
 Utilisation : Utilisation : %s PÉRIPHÉRIQUE
 Utilisation : %s [FICHIER_ENTRÉE [FICHIER_SORTIE]]
 Utiliser le CD comme racine. Utiliser le débogueur distant GDB à la place de DDB. Utiliser CHAÎNE comme corps d'entrée de menu. Utiliser le périphérique racine intégré. Utiliser la console série. Utilisez les touches %C et %C pour sélectionner une entrée. VAR INTERFACE NUMÉRO DESCRIPTION NOM_VAR L'élément %d du VDEV n'est pas correct
 Élément %d du VDEV :
 VDEV avec %d enfants
 Décompte détaillé. Vérifier la signature détachée. Version %u.%u
CS 32 bits = 0x%x, longueur = 0x%x, position = 0x%x
CS 16 bits = 0x%x, longueur = 0x%x
DS = 0x%x, longueur = 0x%x
 Le périphérique virtuel est dégradé Le périphérique virtuel est en défaut Le périphérique virtuel est hors ligne Le périphérique virtuel est en ligne Le périphérique virtuel est retiré Attention : aucune console ne sera disponible pour ce système d'exploitation Attention : aucune installation spécifique à la plate-forme n'a été effectuée Attention : paramètres de fonctionnalité de police non pris en charge : %x
 LARGEURxHAUTEUR. Attendre le temps indiqué en seconde. Rester en attente d'appui sur une touche avant d'afficher la ligne suivante. Attention : couleur d'arrière-plan « %s » incorrecte
 Attention : couleur de premier plan « %s » incorrecte
 Attention : erreur de syntaxe (barre oblique manquante) dans « %s »
 mercredi Écrire la VALEUR 16 bits sur ADRESSE. Écrire la VALEUR 16 bits sur PORT. Écrire la VALEUR 32 bits sur ADRESSE. Écrire la VALEUR 32 bits sur PORT. Écrire la VALEUR 8 bits sur ADRESSE. Écrire la VALEUR 8 bits sur PORT. Écrire une valeur dans un registre spécifique du modèle de processeur. Octets SPD écrits : %d o.
 YUV  Vous devez indiquer au moins une commande.
 Veuillez définir « SystemPartition » et « OSLoader » vous-même. Vous avez découvert un bogue La zone d'embarquage est exceptionnellement petite. core.img n'y tiendra pas. Cette version de xorriso ne permet pas d'utiliser « --grub2-boot-info ». Certaines fonctionnalités sont désactivées. Veuillez utiliser au moins la version 1.2.9 de xorriso. Cette version de xorriso ne permet pas d'utiliser « --grub2-boot-info ». L'image de base est trop grande. Le démarrage en tant que disque est désactivé. Veuillez utiliser au moins la version 1.2.9 de xorriso. [--append|--remove] [TERMINAL1] [TERMINAL2] ... [--force|--bpb] FICHIER [--md5] MOT_DE_PASSE [FICHIER] [--no-mem-option] [--type=TYPE] FICHIER [ARG ...] [-1|-2] [--exclude=TABLE1,TABLE2|--load-only=TABLE1,TABLE2] FICHIER1 [FICHIER2] [...] [-c FICHIER [-p PRÉFIXE]] [FICHIER1 [FICHIER2 ...]] [-d] NOM_PÉRIPH FICHIER. [-e|-n] CHAÎNE [-f FICHIER] [-f FICHIER] [-s|--skip-sig] [nom_de_variable_à_autoriser] [...] [-f FICHIER] nom_de_variable [...] [-f|-l|-u|-s|-n] [--hint CONSEIL [--hint CONSEIL] ...] NOM [-h|-p|-r] [FICHIER] [-l] UUIDGRUB [NOM_VAR] [-l|-h|-a] [FICHIER ...] [-m (stretch|normal)] FICHIER [-s POSITION] [-d PÉRIPHÉRIQUE] [-s POSITION] [-d PÉRIPHÉRIQUE] [-v VAR] REGISTRE[=VALEUR[:MASQUE]] [-s TAILLE] FICHIER [-s|--skip-sig] FICHIER FICHIER_SIGNATURE [FICHIER_CLÉ_PUBLIQUE] [-s|--skip-sig] FICHIER_CLÉ_PUBLIQUE [-t type] [-h identifiant] [-m correspondance] (-b|-w|-d|-q|-s|-u) offset [--set variable] [ADRESSE|comUNITÉ][,VITESSE] [ARG] [CARTE [ADRESSEMATÉRIELLE]] [CARTE] [RÉP] [VAR_ENV=VALEUR] [VAR_ENV] [SEQ_FRAPPE1] [SEQ_FRAPPE2] ... [LONGUEUR] [MODULE1 MODULE2 ...] [NOMBRE:]NOM_VAR [NUM] [OPTIONS ...] [OPTIONS] [OPTIONS] DISQUE [OPTIONS] FICHIER_OU_PERIPH [OPTIONS] FICHIERS_POLICE [OPTIONS] [ENSEMBLE1] [ENSEMBLE2] [CHAÎNE] [OPTION] SOURCE ... [OPTION] [PÉRIPHÉRIQUE_INSTALLATION] [OPTIONS] ... [MODULES] [OPTIONS] ... [CHEMIN|PÉRIPHÉRIQUE] [OPTIONS] [CHEMIN] [MOTIF ...] [LISTE_UTILISATEURS] [VALEUR] ... [LARGxHAUT[xPROF]] [LARGxHAUT] [[-a|-u|-v] [-g LARGxHAUT] [TERMINAL] [TYPE]] [[année-]mois-jour] [heure:minute[:seconde]] [bus]:[connecteur][.fonc] [défaut=%s] [constructeur]:[périphérique] « %s » est mal compilé : son adresse de départ est 0x%llx au lieu de 0x%llx : peut-être est-ce dû à un bogue de ld.gold. « %s » n'est pas un disque local échec de la commande « cryptomount » : %s échec de la commande « loopback » : %s Échec de « nvsetenv »
Veuillez définir la variable « boot-device » vous-même. À l'invite IEEE1275, entrez :
  %s
 « obppath » non disponible dans les répertoire parents de « %s », pas de recherche de nom IEEE1275 une valeur a été affectée à l'argument « %s » alors qu'il n'a pas besoin d'argument accès refusé ajouter le segment NOTE pour CHRP IEEE1275 adresse adresse indisponible échec de alloc-mem l’entrée est supposée être un fichier de configuration de pxelinux. l’entrée est supposée être un fichier de configuration de syslinux. l’entrée est supposée être un fichier de configuration d’isolinux. tentative d’installer sur un disque chiffré sans cryptodisk activé. Définissez « %s » dans le fichier « %s » tentative de lecture ou d'écriture en dehors du disque « %s » tentative de lecture ou d'écriture en dehors de la partition tentative de lecture après la fin du fichier tentative de redéfinir une fonction en cours d'exécution tentative de recherche en dehors du fichier tentative de lecture de l'image de base « %s » par GRUB nouvelle tentative de lecture de l'image de base « %s » par GRUB RAM disponible formats disponibles : cibles disponibles : mauvaise signature du « shim » mauvaise signature adr_base = 0x%llx, longueur = 0x%llx, %s
 adr_base = 0x%llx, longueur = 0x%llx, type = 0x%x
 la signature d'un gros fichier n'est pas encore implémentée le fichier image « %s » n'est pas d'un format pris en charge bless pour les Mac PowerPC bless pour les Mac x86 blocklist FICHIER les listes de blocs sont incomplets les listes de blocs sont incorrectes la taille de bloc n'est pas divisible par 512 taille de bloc trop grande l'argument de break doit être un entier strictement positif impossible de compresser « %s » vers « %s » impossible de déterminer le système de fichiers sur %s impossible de trouver la commande « %s » impossible de monter le volume chiffré « %s » : %s impossible d'ouvrir « %s » : %s impossible d'ouvrir le fichier %s, index %d : erreur %d impossible de récupérer les listes de blocs impossible de récupérer les listes de blocs : %s impossible de définir la taille de police %dx%d : erreur %d de Freetype : %s impossible d'allouer le tampon d'événements de TPM impossible d'allouer le tampon de commande impossible de fermer « %s » : %s impossible de compresser l'image du noyau impossible de copier « %s » vers « %s » : %s impossible de supprimer « %s » : %s impossible de trouver le répertoire EFI impossible de trouver un périphérique GRUB pour %s. Vérifiez device.map. impossible de trouver un périphérique pour %s (/dev est-il monté ?) impossible de trouver la locale « %s » impossible d'obtenir l'emplacement du fichier « %s » : %s impossible d'obtenir la ligne de commande de traducteur pour le chemin « %s » : %s impossible de créer un répertoire temporaire : %s impossible de créer un ficher temporaire : %s impossible d'ouvrir le fichier « %s » du système d'exploitation : %s impossible d'ouvrir « %s » : %s impossible d'ouvrir le fichier de configuration « %s » : %s impossible d'ouvrir le répertoire « %s » : %s impossible de lire « %s » correctement impossible de lire « %s » : %s impossible de renommer le fichier %s en %s impossible de renommer le fichier %s en %s : %m impossible de restaurer le répertoire d'origine impossible de sauvegarder le répertoire d'origine impossible de parcourir « %s » : %s impossible d'obtenir l'état de « %s » : %s impossible de synchroniser « %s » avec « sync » : %s impossible d'écrire sur le CD impossible d'écrire sur « %s » : %s impossible d'écrire sur la sortie standard : %s carte indisponible cat FICHIER échec de vérification de somme de contrôle choisir la compression à utiliser pour l'image de base cmp FICHIER LOCAL comUNITÉ[,VITESSE] échec de comparaison à la position %llu compresser les fichiers GRUB [facultatif] connexion refusée délai de connexion dépassé convertir en police grasse L'image de base est trop grande (0x%x > 0x%x) la version de core.img ne correspond pas impossible de configurer %s automatiquement impossible de trouver le chemin de périphériques IEEE1275 pour %s.
Veuillez définir la variable « boot-device » vous-même. impossible de trouver un périphérique membre nécessaire d'un système de fichiers multipériphérique impossible de trouver l'utilisateur geli impossible de trouver la classe « part » de GEOM impossible d'ouvrir GEOM impossible de lire les métadonnées ELI impossible de récupérer l'UUID impossible de récupérer l'UUID geli impossible de récupérer les données aléatoires impossible de récupérer les données aléatoires pour le salage impossible d'envoyer un paquet réseau cp FICHIER LOCAL crc FICHIER erreur cryptographique numéro %d répertoire actuel de syslinux [par défaut: répertoire parent du fichier d’entrée]. répertoire actuel de syslinux tel qu'il sera vu en fonctionnement [répertoire parent du fichier d’entrée par défaut]. échec de cygwin_conv_path()  effacer la carte de périphériques si elle existe déjà destination inaccessible le nombre de périphériques dépasse la limite L'arborescence de périphériques doit être fournie (consultez la command « devicetree ») désactiver l'optimisation (« hinting ») désactiver le vérificateur shim_lock disque « %s » non disponible le disque n'existe pas, donc repli vers le périphérique de partition %s le module de disque à utiliser (biosdisk ou native). Cette option n'est disponible que sur la cible BIOS. échec de lecture du disque à la position %lld, longueur %lld la taille de diskboot.img doit être de %u octets ne pas installer le secteur d’amorçage ne pas chercher de systèmes de fichiers sur PÉRIPHÉRIQUE composant de nom de domaine trop long ne pas mettre à jour l'état de la DEL ne pas mettre à jour les variables NVRAM « boot-device » ou « Boot* ». Cette option n'est disponible que sur les cibles EFI et IEEE1275. efibootmgr n'a pas réussi à enregistrer l'entrée de démarrage: %s embarquer FICHIER comme arbre de périphériques (DTB)
 embarquer FICHIER comme une image de disque en mémoire (memdisk)
Implique « -p (memdisk)/boot/grub » et substitue tous les préfixes fournis précédemment, mais le préfixe lui-même peut être substitué par les options suivantes embarquer FICHIER comme une configuration de départ embarquer FICHIER comme clé publique pour la vérification de signatures embarquer un DTB spécifique l'embarquage est impossible, il est pourtant nécessaire pour les installations RAID et LVM l'embarquage est impossible, il est pourtant nécessaire pour les installations interdisques activer le démarrage ARCS (machines MIPS gros-boutistes, surtout SGI). Désactiver HFS+, APM, sparc64 et démarrer comme une image disque pour i386-pc activer le démarrage SPARC. Désactiver HFS+, APM, ARCS et démarrer comme une image disque pour i386-pc activation de la prise en charge de %s… Entrée : démarrage, « e » : option, « c » : invite de commandes bloc d'environnement trop petit erreur : %s.
 échec de copie de GRUB sur la partition PReP impossible d'obtenir FDT impossible d'obtenir le chemin canonique de « %s » échec de lecture des secteurs de l'image de base échec de la récupération du champ de la structure échec de lecture du secteur 0x%llx de « %s » échec de lecture du mot de passe échec d'écriture du secteur 0x%llx sur « %s » faux RAM défectueuse (BadRAM) le fichier « %s » est trop grand fichier « %s » non disponible nom de fichier attendu nom de fichier ou mesure et notes attendus le système de fichier « %s » ne prend pas en charge les étiquettes le système de fichier « %s » ne prend pas en charge les listes de blocs  Le système de fichiers sur %s n’est ni HFS, ni HFS+ l'image de microprogramme (« firmware ») est trop grande forcer l'optimisation (« hinting ») automatique quatre arguments attendus échec de free-mem fwstart.img ne correspond pas à la bonne version connue. Poursuivez à vos risques et périls générer une image au FORMAT l'argument donné est un périphérique système, pas un chemin grub-mkimage est compilé sans prise en charge de XZ grub> identifiant hex FICHIER ne pas utiliser les tracés bitmap déjà existants spécification des dimensions de terminal incorrecte image mémoire initiale déjà chargée installer les POLICES [%s par défaut] installer GRUB pour la plate-forme CIBLE [%s par défaut]; cibles disponibles: %s installer les images GRUB dans le répertoire RÉP/%s au lieu du répertoire %s installer les THÈMES [%s par défaut] le périphérique d'installation n'est pas indiqué installer même si des problèmes sont détectés n’installer que les LOCALES [tout par défaut] n’installer que les MODULES et leurs dépendances [tout par défaut] l'interprétation n'est pas prise en charge code d'option DHCP invalide mot de passe PBKDF2 non conforme numéro magique ELF dépendant de l'architecture incorrect numéro magique ELF indépendant de l'architecture incorrect argument incorrect taille de bloc incorrecte spécification de couleur « %s » incorrecte arborescence de périphériques incorrecte bloc d'environnement incorrect nom de fichier « %s » incorrect intervalle de caractères incorrect format de ligne incorrect : %s adresse mémoire invalide (0x%s > 0x%s) fichier modinfo « %s » incorrect paramètre %s incorrect valeur de saut %lld incorrecte nom de variable « %s » incorrect spécification « %s » de mode vidéo incorrecte zImage incorrecte taille zéro de bloc incorrecte erreur d'ioctl GET_ARRAY_INFO : %s erreur d'ioctl GET_DISK_INFO : %s erreur d'ioctl RAID_VERSION : %s L'image de noyau est trop grande (0x%x > 0x%x) afficher les adresses réseau afficher les cartes réseau afficher les routes réseau ls CHEMIN fichier lzop corrompu rendre aussi le disque amorçable, comme une disquette (par défaut pour les périphériques fdX). Ce paramètre risque de poser des problèmes avec certains BIOS. correspondance symbole « %c » manquant option obligatoire pour « %s » manquante nom de fichier p-list manquant le module « %s » n'est pas chargé le module n'est pas chargé nom une image et un point de montage sont nécessaires la nouvelle lecture est positionnée au delà de la fin des données écrites pas d'APM disponible aucun renseignement DHCP disponible pas d'option DHCP %u trouvée aucune option DHCP disponible aucun enregistrement DNS disponible aucune réponse DNS reçue aucun serveur DNS configuré pas de routine EFI disponible pour cette plate-forme pas de routine EFI disponible lors d’une exécution en mode BIOS pas de routine IEEE1275 disponible pour cette plate-forme pas de routine SGI disponible pour cette plate-forme pas de « / » dans le nom de fichier canonique aucune commande n'est indiquée pas de compression disponible pour cette plate-forme pas de clé de déchiffrement disponible pas de conseil (« hint ») disponible pour cette plate-forme. Performances réduites attendus pas de support dans « %s » aucune carte réseau disponible aucun générateur de nombres aléatoires n’est disponible pour ce système d’exploitation aucun serveur n'est indiqué aucune structure ne correspond aux options données cette partition n'existe pas aucun mode vidéo approprié disponible aucune table de symbole aucun terminal indiqué pas de terminateur dans l'image de base données non alignées sur des secteurs trouvées dans le fichier de l'image de base pas un répertoire pas une partition primaire pas un fichier normal n'est pas dans le corps d'une fonction offset un argument attendu une des options --get est requise IPv4 seulement IPv6 seulement seule une option --get est utilisable à la fois un autre logiciel utilise la zone d'embarquage, et il n'y a pas assez de place pour core.img. Ce genre de logiciel essaye souvent de sauver des données de façon à éviter les détections. Vous devriez examiner cela mémoire épuisée envoyer l'image générée dans FICHIER [stdout par défaut] le fichier de destination doit être indiqué un dépassement est détectée les mots de passe ne correspondent pas apreçu hors de portée effectuer une configuration automatique par DHCP effectuer une configuration bootp automatique RAM persistante RAM persistante (historique) volume physique %s non disponible simple image de noyau non prise en charge – reconstruisez avec CONFIG_(U)EFI_STUB activé précharger les modules MODULES indiqués IPv4 préférée IPv6 préférée fin prématurée de fichier fin prématurée du fichier %s appuyez sur la touche de verrouillage majuscule appuyez sur la touche d'insertion appuyez sur la touche Verr Num appuyez sur la touche Arrêt défil appuyez sur la touche Syst appuyez sur la touche Alt gauche appuyez sur la touche Ctrl gauche appuyez sur la touche majuscule gauche appuyez sur la touche Alt droite appuyez sur la touche Ctrl droite appuyez sur la touche majuscule droite afficher la CIBLE afficher les messages bavards. clé publique %08x clé publique %08x non disponible erreur de lecture à la position %llu : %s lire le texte depuis le FICHIER. sous-répertoire relatif sur le serveur réseau la délocalisation 0x%s n'est pas encore implémentée la délocalisation 0x%x n'est pas encore implémentée la taille demandée pour le tampon est trop grande RAM réservée récupérer l'option DHCP et la sauver dans VAR. Si VAR est -, afficher la valeur. répertoire racine tel qu’il sera vu en fonctionnement [/ par défaut] répertoire racine du serveur TFTP répertoire racine du disque syslinux [/ par défaut] boucle de route détectée sauver les images ROM dans RÉP [facultatif] sauver la sortie dans FICHIER [nécessaire] la longueur du nom de section %s est plus grande que %lu sélectionner l'indice de police d'écriture éléments séparés dans la sortie utilisant des caractères ASCII NUL le port série « %s » est indisponible set [NOM=VALEUR ...] définir le mode de verrouillage majuscule définir le talus de tête de la police définir le talus de pied de la police définir le nom de famille de la police définir l'intervalle de caractères définir la taille de police définir le nom de fichier d'entrée pour la partie 32 bits. définir le nom de fichier d'entrée pour la partie 64 bits. définir le nom de fichier d'entrée. STDIN par défaut définir le mode d'insertion définir le mode de verrouillage numérique définir le nom de fichier de sortie. STDOUT par défaut définir le mode de pause définir le répertoire de préfixe définir le mode de verrouillage défilement définir l'étiquette à fournir protocole shim_lock pas trouvé taille « stretch » (étiré) ou « normal » symbole « %s » non disponible temporaire Le terminal %s est indisponible ou n'est pas pris en charge par terminfo terminal « %s » non disponible l'IDENTIFIANT du chargeur d'amorçage. Cette option n'est disponible que sur EFI et Mac. la partition PReP n'est pas vide. Si vous voulez vraiment l'utiliser, utilisez dd pour l'effacer : « %s » la structure du point d'entrée SMBIOS n'a pas été trouvée l'argument « %s » nécessite un entier la partition choisie n'est pas une partition PReP L'entrée « %s » de device.map est incorrecte. Elle est ignorée. Veuillez corriger ou supprimer device.map le disque %s est défini plusieurs fois dans la carte de périphériques %s Le nom de périphérique « %s » dans device.map est incorrect. Utilisation de %s à la place. Veuillez utiliser le format [hfc]d[0-9]* (par exemple « hd0 » ou « cd ») le champs sort en dehors de la structure le premier secteur du fichier de l'image de base n'est pas aligné sur un secteur l'offset donné est en dehors de la structure l'identifiant doit être entre 0 et 65535 le périphérique d'installation est amovible. Cette option n'est disponible que sur EFI. la correspondance doit être un entier positif le type de partition 0x%x n'est pas valable les secteurs du fichier de l'image de base sont trop dispersés la taille de « %s » n'est pas égale à %u la taille de « %s » est trop grande la taille de « %s » est trop petite le type doit être entre 0 et 255 ce fichier ELF n'est pas du type adéquat cette étiquette de partition GPT ne contient pas de partition d'amorçage BIOS ; l'embarquage ne sera pas possible ce LDM n'a pas de partition d'embarquage ; l'embarquage ne sera pas possible cette étiquette de partition de type MSDOS n'a pas d'espace dans la piste d'amorçage ; l'embarquage ne sera pas possible trois arguments attendus délai dépassé lors de l'ouverture de « %s » délai dépassé lors de la lecture de « %s » délai dépassé : impossible de résoudre l'adresse matérielle trop de niveaux de liens symboliques plusieurs arguments fournis au traducteur « %s » pour le chemin « %s » ne sont pas des options, au moins « %s » et « %s » seules des options ont été fournies au traducteur « %s » pour le chemin « %s », impossible de trouver la partie relative au périphérique. la ligne de commande de traducteur est vide pour le chemin « %s » deux arguments attendus type impossible d'identifier le système de fichiers sur %s ; impossible d'effectuer un contrôle de sécurité taille de périphérique non alignée erreur EFI inattendue fin de fichier inattendue argument « %s » inconnu compression %d inconnue type de périphérique %s inconnu système de fichiers inconnu type de périphérique RAID « %s » inconnu format cible %s inconnu format cible %s inconnu
 type « %s » de terminfo inconnu spécification « %s » de format d'option DHCP non reconnue adresse réseau « %s » non reconnue interface réseau « %s » non reconnue nombre non reconnu adresse %s non résoluble unset [NOM ...] erreur %d HTTP non prise en charge : %s réponse HTTP non prise en charge version RAID non prise en charge : %d.%d format gzip non pris en charge instruction non priss en charge plate-forme %s non prise en charge contrôle de débit de port série non valable parité de port série non valable vitesse de port série non valable nombre de bits d'arrêt du port série non valable taille de trame du port série non valable utiliser COULEUR pour l'arrière-plan utiliser COULEUR pour l'étiquette utiliser COULEUR pour l'arrière-plan d'étiquette utiliser COULEUR pour le texte utiliser RÉP comme racine de la partition système EFI. Utiliser RÉP pour l’installation Mac PowerPC. utiliser FICHIER comme police (PF2). utiliser FICHIER comme police pour l'étiquette utiliser FICHIER comme disque mémoire utiliser FICHIER comme image de démarrage [%s par défaut] utiliser FICHIER comme image de base [%s par défaut] utiliser FICHIER comme carte de périphériques [%s par défaut] utiliser FICHIER à la place de xorriso [facultatif] utiliser les fichiers GRUB dans le répertoire RÉP [%s par défaut] utiliser CHAÎNE comme nom de produit utiliser CHAÎNE comme version de produit utiliser le ficher d'identifiant même si l'UUID est disponible utiliser les images et modules présents dans RÉP [%s/<plate-forme> par défaut] utiliser les thèmes présents dans RÉP [%s par défaut] utiliser les traductions présentes dans RÉP [%s par défaut] variable la variable « %s » n'est pas définie vérification requise mais personne ne s'en soucie : %s UTF-8 ordonné visuellement attendre qu'un débogueur soit attaché refus de continuer avec les listes de blocs écrire la sortie vers FICHIER [stdout par défaut]. mauvaise version ou numéro magique ELI xnu_uuid PÉRIPHÉRIQUE xorriso pas trouvé fichier XZ corrompu ou options de bloc non prises en charge impossible d'effacer cette adresse vous devez d'abord charger l'hyperviseur Xen le noyau doit d'abord être chargé la partition d'amorçage BIOS est trop petite ; l'embarquage ne sera pas possible la partition LDM d'embarquage est trop petite ; l'embarquage ne sera pas possible core.img est exceptionnellement grand. Il ne tiendra pas dans la zone d'embarquage la zone d'embarquage est exceptionnellement petite. core.img n'y tiendra pas.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        sNodeOrAnySubNodesHasError"] = 1048576] = "ThisNodeOrAnySubNodesHasError";
  NodeFlags3[NodeFlags3["HasAggregatedChildData"] = 2097152] = "HasAggregatedChildData";
  NodeFlags3[NodeFlags3["PossiblyContainsDynamicImport"] = 4194304] = "PossiblyContainsDynamicImport";
  NodeFlags3[NodeFlags3["PossiblyContainsImportMeta"] = 8388608] = "PossiblyContainsImportMeta";
  NodeFlags3[NodeFlags3["JSDoc"] = 16777216] = "JSDoc";
  NodeFlags3[NodeFlags3["Ambient"] = 33554432] = "Ambient";
  NodeFlags3[NodeFlags3["InWithStatement"] = 67108864] = "InWithStatement";
  NodeFlags3[NodeFlags3["JsonFile"] = 134217728] = "JsonFile";
  NodeFlags3[NodeFlags3["TypeCached"] = 268435456] = "TypeCached";
  NodeFlags3[NodeFlags3["Deprecated"] = 536870912] = "Deprecated";
  NodeFlags3[NodeFlags3["BlockScoped"] = 7] = "BlockScoped";
  NodeFlags3[NodeFlags3["Constant"] = 6] = "Constant";
  NodeFlags3[NodeFlags3["ReachabilityCheckFlags"] = 1536] = "ReachabilityCheckFlags";
  NodeFlags3[NodeFlags3["ReachabilityAndEmitFlags"] = 5632] = "ReachabilityAndEmitFlags";
  NodeFlags3[NodeFlags3["ContextFlags"] = 101441536] = "ContextFlags";
  NodeFlags3[NodeFlags3["TypeExcludesFlags"] = 81920] = "TypeExcludesFlags";
  NodeFlags3[NodeFlags3["PermanentlySetIncrementalFlags"] = 12582912] = "PermanentlySetIncrementalFlags";
  NodeFlags3[NodeFlags3["IdentifierHasExtendedUnicodeEscape"] = 256 /* ContainsThis */] = "IdentifierHasExtendedUnicodeEscape";
  NodeFlags3[NodeFlags3["IdentifierIsInJSDocNamespace"] = 4096 /* HasAsyncFunctions */] = "IdentifierIsInJSDocNamespace";
  return NodeFlags3;
})(NodeFlags || {});
var ModifierFlags = /* @__PURE__ */ ((ModifierFlags3) => {
  ModifierFlags3[ModifierFlags3["None"] = 0] = "None";
  ModifierFlags3[ModifierFlags3["Public"] = 1] = "Public";
  ModifierFlags3[ModifierFlags3["Private"] = 2] = "Private";
  ModifierFlags3[ModifierFlags3["Protected"] = 4] = "Protected";
  ModifierFlags3[ModifierFlags3["Readonly"] = 8] = "Readonly";
  ModifierFlags3[ModifierFlags3["Override"] = 16] = "Override";
  ModifierFlags3[ModifierFlags3["Export"] = 32] = "Export";
  ModifierFlags3[ModifierFlags3["Abstract"] = 64] = "Abstract";
  ModifierFlags3[ModifierFlags3["Ambient"] = 128] = "Ambient";
  ModifierFlags3[ModifierFlags3["Static"] = 256] = "Static";
  ModifierFlags3[ModifierFlags3["Accessor"] = 512] = "Accessor";
  ModifierFlags3[ModifierFlags3["Async"] = 1024] = "Async";
  ModifierFlags3[ModifierFlags3["Default"] = 2048] = "Default";
  ModifierFlags3[ModifierFlags3["Const"] = 4096] = "Const";
  ModifierFlags3[ModifierFlags3["In"] = 8192] = "In";
  ModifierFlags3[ModifierFlags3["Out"] = 16384] = "Out";
  ModifierFlags3[ModifierFlags3["Decorator"] = 32768] = "Decorator";
  ModifierFlags3[ModifierFlags3["Deprecated"] = 65536] = "Deprecated";
  ModifierFlags3[ModifierFlags3["JSDocPublic"] = 8388608] = "JSDocPublic";
  ModifierFlags3[ModifierFlags3["JSDocPrivate"] = 16777216] = "JSDocPrivate";
  ModifierFlags3[ModifierFlags3["JSDocProtected"] = 33554432] = "JSDocProtected";
  ModifierFlags3[ModifierFlags3["JSDocReadonly"] = 67108864] = "JSDocReadonly";
  ModifierFlags3[ModifierFlags3["JSDocOverride"] = 134217728] = "JSDocOverride";
  ModifierFlags3[ModifierFlags3["SyntacticOrJSDocModifiers"] = 31] = "SyntacticOrJSDocModifiers";
  ModifierFlags3[ModifierFlags3["SyntacticOnlyModifiers"] = 65504] = "SyntacticOnlyModifiers";
  ModifierFlags3[ModifierFlags3["SyntacticModifiers"] = 65535] = "SyntacticModifiers";
  ModifierFlags3[ModifierFlags3["JSDocCacheOnlyModifiers"] = 260046848] = "JSDocCacheOnlyModifiers";
  ModifierFlags3[ModifierFlags3["JSDocOnlyModifiers"] = 65536 /* Deprecated */] = "JSDocOnlyModifiers";
  ModifierFlags3[ModifierFlags3["NonCacheOnlyModifiers"] = 131071] = "NonCacheOnlyModifiers";
  ModifierFlags3[ModifierFlags3["HasComputedJSDocModifiers"] = 268435456] = "HasComputedJSDocModifiers";
  ModifierFlags3[ModifierFlags3["HasComputedFlags"] = 536870912] = "HasComputedFlags";
  ModifierFlags3[ModifierFlags3["AccessibilityModifier"] = 7] = "AccessibilityModifier";
  ModifierFlags3[ModifierFlags3["ParameterPropertyModifier"] = 31] = "ParameterPropertyModifier";
  ModifierFlags3[ModifierFlags3["NonPublicAccessibilityModifier"] = 6] = "NonPublicAccessibilityModifier";
  ModifierFlags3[ModifierFlags3["TypeScriptModifier"] = 28895] = "TypeScriptModifier";
  ModifierFlags3[ModifierFlags3["ExportDefault"] = 2080] = "ExportDefault";
  ModifierFlags3[ModifierFlags3["All"] = 131071] = "All";
  ModifierFlags3[ModifierFlags3["Modifier"] = 98303] = "Modifier";
  return ModifierFlags3;
})(ModifierFlags || {});
var RelationComparisonResult = /* @__PURE__ */ ((RelationComparisonResult3) => {
  RelationComparisonResult3[RelationComparisonResult3["None"] = 0] = "None";
  RelationComparisonResult3[RelationComparisonResult3["Succeeded"] = 1] = "Succeeded";
  RelationComparisonResult3[RelationComparisonResult3["Failed"] = 2] = "Failed";
  RelationComparisonResult3[RelationComparisonResult3["ReportsUnmeasurable"] = 8] = "ReportsUnmeasurable";
  RelationComparisonResult3[RelationComparisonResult3["ReportsUnreliable"] = 16] = "ReportsUnreliable";
  RelationComparisonResult3[RelationComparisonResult3["ReportsMask"] = 24] = "ReportsMask";
  RelationComparisonResult3[RelationComparisonResult3["ComplexityOverflow"] = 32] = "ComplexityOverflow";
  RelationComparisonResult3[RelationComparisonResult3["StackDepthOverflow"] = 64] = "StackDepthOverflow";
  RelationComparisonResult3[RelationComparisonResult3["Overflow"] = 96] = "Overflow";
  return RelationComparisonResult3;
})(RelationComparisonResult || {});
var GeneratedIdentifierFlags = /* @__PURE__ */ ((GeneratedIdentifierFlags2) => {
  GeneratedIdentifierFlags2[GeneratedIdentifierFlags2["None"] = 0] = "None";
  GeneratedIdentifierFlags2[GeneratedIdentifierFlags2["Auto"] = 1] = "Auto";
  GeneratedIdentifierFlags2[GeneratedIdentifierFlags2["Loop"] = 2] = "Loop";
  GeneratedIdentifierFlags2[GeneratedIdentifierFlags2["Unique"] = 3] = "Unique";
  GeneratedIdentifierFlags2[GeneratedIdentifierFlags2["Node"] = 4] = "Node";
  GeneratedIdentifierFlags2[GeneratedIdentifierFlags2["KindMask"] = 7] = "KindMask";
  GeneratedIdentifierFlags2[GeneratedIdentifierFlags2["ReservedInNestedScopes"] = 8] = "ReservedInNestedScopes";
  GeneratedIdentifierFlags2[GeneratedIdentifierFlags2["Optimistic"] = 16] = "Optimistic";
  GeneratedIdentifierFlags2[GeneratedIdentifierFlags2["FileLevel"] = 32] = "FileLevel";
  GeneratedIdentifierFlags2[GeneratedIdentifierFlags2["AllowNameSubstitution"] = 64] = "AllowNameSubstitution";
  return GeneratedIdentifierFlags2;
})(GeneratedIdentifierFlags || {});
var FlowFlags = /* @__PURE__ */ ((FlowFlags2) => {
  FlowFlags2[FlowFlags2["Unreachable"] = 1] = "Unreachable";
  FlowFlags2[FlowFlags2["Start"] = 2] = "Start";
  FlowFlags2[FlowFlags2["BranchLabel"] = 4] = "BranchLabel";
  FlowFlags2[FlowFlags2["LoopLabel"] = 8] = "LoopLabel";
  FlowFlags2[FlowFlags2["Assignment"] = 16] = "Assignment";
  FlowFlags2[FlowFlags2["TrueCondition"] = 32] = "TrueCondition";
  FlowFlags2[FlowFlags2["FalseCondition"] = 64] = "FalseCondition";
  FlowFlags2[FlowFlags2["SwitchClause"] = 128] = "SwitchClause";
  FlowFlags2[FlowFlags2["ArrayMutation"] = 256] = "ArrayMutation";
  FlowFlags2[FlowFlags2["Call"] = 512] = "Call";
  FlowFlags2[FlowFlags2["ReduceLabel"] = 1024] = "ReduceLabel";
  FlowFlags2[FlowFlags2["Referenced"] = 2048] = "Referenced";
  FlowFlags2[FlowFlags2["Shared"] = 4096] = "Shared";
  FlowFlags2[FlowFlags2["Label"] = 12] = "Label";
  FlowFlags2[FlowFlags2["Condition"] = 96] = "Condition";
  return FlowFlags2;
})(FlowFlags || {});
var OperationCanceledException = class {
};
var FileIncludeKind = /* @__PURE__ */ ((FileIncludeKind2) => {
  FileIncludeKind2[FileIncludeKind2["RootFile"] = 0] = "RootFile";
  FileIncludeKind2[FileIncludeKind2["SourceFromProjectReference"] = 1] = "SourceFromProjectReference";
  FileIncludeKind2[FileIncludeKind2["OutputFromProjectReference"] = 2] = "OutputFromProjectReference";
  FileIncludeKind2[FileIncludeKind2["Import"] = 3] = "Import";
  FileIncludeKind2[FileIncludeKind2["ReferenceFile"] = 4] = "ReferenceFile";
  FileIncludeKind2[FileIncludeKind2["TypeReferenceDirective"] = 5] = "TypeReferenceDirective";
  FileIncludeKind2[FileIncludeKind2["LibFile"] = 6] = "LibFile";
  FileIncludeKind2[FileIncludeKind2["LibReferenceDirective"] = 7] = "LibReferenceDirective";
  FileIncludeKind2[FileIncludeKind2["AutomaticTypeDirectiveFile"] = 8] = "AutomaticTypeDirectiveFile";
  return FileIncludeKind2;
})(FileIncludeKind || {});
var SymbolFlags = /* @__PURE__ */ ((SymbolFlags2) => {
  SymbolFlags2[SymbolFlags2["None"] = 0] = "None";
  SymbolFlags2[SymbolFlags2["FunctionScopedVariable"] = 1] = "FunctionScopedVariable";
  SymbolFlags2[SymbolFlags2["BlockScopedVariable"] = 2] = "BlockScopedVariable";
  SymbolFlags2[SymbolFlags2["Property"] = 4] = "Property";
  SymbolFlags2[SymbolFlags2["EnumMember"] = 8] = "EnumMember";
  SymbolFlags2[SymbolFlags2["Function"] = 16] = "Function";
  SymbolFlags2[SymbolFlags2["Class"] = 32] = "Class";
  SymbolFlags2[SymbolFlags2["Interface"] = 64] = "Interface";
  SymbolFlags2[SymbolFlags2["ConstEnum"] = 128] = "ConstEnum";
  SymbolFlags2[SymbolFlags2["RegularEnum"] = 256] = "RegularEnum";
  SymbolFlags2[SymbolFlags2["ValueModule"] = 512] = "ValueModule";
  SymbolFlags2[SymbolFlags2["NamespaceModule"] = 1024] = "NamespaceModule";
  SymbolFlags2[SymbolFlags2["TypeLiteral"] = 2048] = "TypeLiteral";
  SymbolFlags2[SymbolFlags2["ObjectLiteral"] = 4096] = "ObjectLiteral";
  SymbolFlags2[SymbolFlags2["Method"] = 8192] = "Method";
  SymbolFlags2[SymbolFlags2["Constructor"] = 16384] = "Constructor";
  SymbolFlags2[SymbolFlags2["GetAccessor"] = 32768] = "GetAccessor";
  SymbolFlags2[SymbolFlags2["SetAccessor"] = 65536] = "SetAccessor";
  SymbolFlags2[SymbolFlags2["Signature"] = 131072] = "Signature";
  SymbolFlags2[SymbolFlags2["TypeParameter"] = 262144] = "TypeParameter";
  SymbolFlags2[SymbolFlags2["TypeAlias"] = 524288] = "TypeAlias";
  SymbolFlags2[SymbolFlags2["ExportValue"] = 1048576] = "ExportValue";
  SymbolFlags2[SymbolFlags2["Alias"] = 2097152] = "Alias";
  SymbolFlags2[SymbolFlags2["Prototype"] = 4194304] = "Prototype";
  SymbolFlags2[SymbolFlags2["ExportStar"] = 8388608] = "ExportStar";
  SymbolFlags2[SymbolFlags2["Optional"] = 16777216] = "Optional";
  SymbolFlags2[SymbolFlags2["Transient"] = 33554432] = "Transient";
  SymbolFlags2[SymbolFlags2["Assignment"] = 67108864] = "Assignment";
  SymbolFlags2[SymbolFlags2["ModuleExports"] = 134217728] = "ModuleExports";
  SymbolFlags2[SymbolFlags2["All"] = -1] = "All";
  SymbolFlags2[SymbolFlags2["Enum"] = 384] = "Enum";
  SymbolFlags2[SymbolFlags2["Variable"] = 3] = "Variable";
  SymbolFlags2[SymbolFlags2["Value"] = 111551] = "Value";
  SymbolFlags2[SymbolFlags2["Type"] = 788968] = "Type";
  SymbolFlags2[SymbolFlags2["Namespace"] = 1920] = "Namespace";
  SymbolFlags2[SymbolFlags2["Module"] = 1536] = "Module";
  SymbolFlags2[SymbolFlags2["Accessor"] = 98304] = "Accessor";
  SymbolFlags2[SymbolFlags2["FunctionScopedVariableExcludes"] = 111550] = "FunctionScopedVariableExcludes";
  SymbolFlags2[SymbolFlags2["BlockScopedVariableExcludes"] = 111551 /* Value */] = "BlockScopedVariableExcludes";
  SymbolFlags2[SymbolFlags2["ParameterExcludes"] = 111551 /* Value */] = "ParameterExcludes";
  SymbolFlags2[SymbolFlags2["PropertyExcludes"] = 0 /* None */] = "PropertyExcludes";
  SymbolFlags2[SymbolFlags2["EnumMemberExcludes"] = 900095] = "EnumMemberExcludes";
  SymbolFlags2[SymbolFlags2["FunctionExcludes"] = 110991] = "FunctionExcludes";
  SymbolFlags2[SymbolFlags2["ClassExcludes"] = 899503] = "ClassExcludes";
  SymbolFlags2[SymbolFlags2["InterfaceExcludes"] = 788872] = "InterfaceExcludes";
  SymbolFlags2[SymbolFlags2["RegularEnumExcludes"] = 899327] = "RegularEnumExcludes";
  SymbolFlags2[SymbolFlags2["ConstEnumExcludes"] = 899967] = "ConstEnumExcludes";
  SymbolFlags2[SymbolFlags2["ValueModuleExcludes"] = 110735] = "ValueModuleExcludes";
  SymbolFlags2[SymbolFlags2["NamespaceModuleExcludes"] = 0] = "NamespaceModuleExcludes";
  SymbolFlags2[SymbolFlags2["MethodExcludes"] = 103359] = "MethodExcludes";
  SymbolFlags2[SymbolFlags2["GetAccessorExcludes"] = 46015] = "GetAccessorExcludes";
  SymbolFlags2[SymbolFlags2["SetAccessorExcludes"] = 78783] = "SetAccessorExcludes";
  SymbolFlags2[SymbolFlags2["AccessorExcludes"] = 13247] = "AccessorExcludes";
  SymbolFlags2[SymbolFlags2["TypeParameterExcludes"] = 526824] = "TypeParameterExcludes";
  SymbolFlags2[SymbolFlags2["TypeAliasExcludes"] = 788968 /* Type */] = "TypeAliasExcludes";
  SymbolFlags2[SymbolFlags2["AliasExcludes"] = 2097152 /* Alias */] = "AliasExcludes";
  SymbolFlags2[SymbolFlags2["ModuleMember"] = 2623475] = "ModuleMember";
  SymbolFlags2[SymbolFlags2["ExportHasLocal"] = 944] = "ExportHasLocal";
  SymbolFlags2[SymbolFlags2["BlockScoped"] = 418] = "BlockScoped";
  SymbolFlags2[SymbolFlags2["PropertyOrAccessor"] = 98308] = "PropertyOrAccessor";
  SymbolFlags2[SymbolFlags2["ClassMember"] = 106500] = "ClassMember";
  SymbolFlags2[SymbolFlags2["ExportSupportsDefaultModifier"] = 112] = "ExportSupportsDefaultModifier";
  SymbolFlags2[SymbolFlags2["ExportDoesNotSupportDefaultModifier"] = -113] = "ExportDoesNotSupportDefaultModifier";
  SymbolFlags2[SymbolFlags2["Classifiable"] = 2885600] = "Classifiable";
  SymbolFlags2[SymbolFlags2["LateBindingContainer"] = 6256] = "LateBindingContainer";
  return SymbolFlags2;
})(SymbolFlags || {});
var NodeCheckFlags = /* @__PURE__ */ ((NodeCheckFlags3) => {
  NodeCheckFlags3[NodeCheckFlags3["None"] = 0] = "None";
  NodeCheckFlags3[NodeCheckFlags3["TypeChecked"] = 1] = "TypeChecked";
  NodeCheckFlags3[NodeCheckFlags3["LexicalThis"] = 2] = "LexicalThis";
  NodeCheckFlags3[NodeCheckFlags3["CaptureThis"] = 4] = "CaptureThis";
  NodeCheckFlags3[NodeCheckFlags3["CaptureNewTarget"] = 8] = "CaptureNewTarget";
  NodeCheckFlags3[NodeCheckFlags3["SuperInstance"] = 16] = "SuperInstance";
  NodeCheckFlags3[NodeCheckFlags3["SuperStatic"] = 32] = "SuperStatic";
  NodeCheckFlags3[NodeCheckFlags3["ContextChecked"] = 64] = "ContextChecked";
  NodeCheckFlags3[NodeCheckFlags3["MethodWithSuperPropertyAccessInAsync"] = 128] = "MethodWithSuperPropertyAccessInAsync";
  NodeCheckFlags3[NodeCheckFlags3["MethodWithSuperPropertyAssignmentInAsync"] = 256] = "MethodWithSuperPropertyAssignmentInAsync";
  NodeCheckFlags3[NodeCheckFlags3["CaptureArguments"] = 512] = "CaptureArguments";
  NodeCheckFlags3[NodeCheckFlags3["EnumValuesComputed"] = 1024] = "EnumValuesComputed";
  NodeCheckFlags3[NodeCheckFlags3["LexicalModuleMergesWithClass"] = 2048] = "LexicalModuleMergesWithClass";
  NodeCheckFlags3[NodeCheckFlags3["LoopWithCapturedBlockScopedBinding"] = 4096] = "LoopWithCapturedBlockScopedBinding";
  NodeCheckFlags3[NodeCheckFlags3["ContainsCapturedBlockScopeBinding"] = 8192] = "ContainsCapturedBlockScopeBinding";
  NodeCheckFlags3[NodeCheckFlags3["CapturedBlockScopedBinding"] = 16384] = "CapturedBlockScopedBinding";
  NodeCheckFlags3[NodeCheckFlags3["BlockScopedBindingInLoop"] = 32768] = "BlockScopedBindingInLoop";
  NodeCheckFlags3[NodeCheckFlags3["NeedsLoopOutParameter"] = 65536] = "NeedsLoopOutParameter";
  NodeCheckFlags3[NodeCheckFlags3["AssignmentsMarked"] = 131072] = "AssignmentsMarked";
  NodeCheckFlags3[NodeCheckFlags3["ContainsConstructorReference"] = 262144] = "ContainsConstructorReference";
  NodeCheckFlags3[NodeCheckFlags3["ConstructorReference"] = 536870912] = "ConstructorReference";
  NodeCheckFlags3[NodeCheckFlags3["ContainsClassWithPrivateIdentifiers"] = 1048576] = "ContainsClassWithPrivateIdentifiers";
  NodeCheckFlags3[NodeCheckFlags3["ContainsSuperPropertyInStaticInitializer"] = 2097152] = "ContainsSuperPropertyInStaticInitializer";
  NodeCheckFlags3[NodeCheckFlags3["InCheckIdentifier"] = 4194304] = "InCheckIdentifier";
  NodeCheckFlags3[NodeCheckFlags3["PartiallyTypeChecked"] = 8388608] = "PartiallyTypeChecked";
  NodeCheckFlags3[NodeCheckFlags3["LazyFlags"] = 539358128] = "LazyFlags";
  return NodeCheckFlags3;
})(NodeCheckFlags || {});
var TypeFlags = /* @__PURE__ */ ((TypeFlags2) => {
  TypeFlags2[TypeFlags2["Any"] = 1] = "Any";
  TypeFlags2[TypeFlags2["Unknown"] = 2] = "Unknown";
  TypeFlags2[TypeFlags2["String"] = 4] = "String";
  TypeFlags2[TypeFlags2["Number"] = 8] = "Number";
  TypeFlags2[TypeFlags2["Boolean"] = 16] = "Boolean";
  TypeFlags2[TypeFlags2["Enum"] = 32] = "Enum";
  TypeFlags2[TypeFlags2["BigInt"] = 64] = "BigInt";
  TypeFlags2[TypeFlags2["StringLiteral"] = 128] = "StringLiteral";
  TypeFlags2[TypeFlags2["NumberLiteral"] = 256] = "NumberLiteral";
  TypeFlags2[TypeFlags2["BooleanLiteral"] = 512] = "BooleanLiteral";
  TypeFlags2[TypeFlags2["EnumLiteral"] = 1024] = "EnumLiteral";
  TypeFlags2[TypeFlags2["BigIntLiteral"] = 2048] = "BigIntLiteral";
  TypeFlags2[TypeFlags2["ESSymbol"] = 4096] = "ESSymbol";
  TypeFlags2[TypeFlags2["UniqueESSymbol"] = 8192] = "UniqueESSymbol";
  TypeFlags2[TypeFlags2["Void"] = 16384] = "Void";
  TypeFlags2[TypeFlags2["Undefined"] = 32768] = "Undefined";
  TypeFlags2[TypeFlags2["Null"] = 65536] = "Null";
  TypeFlags2[TypeFlags2["Never"] = 131072] = "Never";
  TypeFlags2[TypeFlags2["TypeParameter"] = 262144] = "TypeParameter";
  TypeFlags2[TypeFlags2["Object"] = 524288] = "Object";
  TypeFlags2[TypeFlags2["Union"] = 1048576] = "Union";
  TypeFlags2[TypeFlags2["Intersection"] = 2097152] = "Intersection";
  TypeFlags2[TypeFlags2["Index"] = 4194304] = "Index";
  TypeFlags2[TypeFlags2["IndexedAccess"] = 8388608] = "IndexedAccess";
  TypeFlags2[TypeFlags2["Conditional"] = 16777216] = "Conditional";
  TypeFlags2[TypeFlags2["Substitution"] = 33554432] = "Substitution";
  TypeFlags2[TypeFlags2["NonPrimitive"] = 67108864] = "NonPrimitive";
  TypeFlags2[TypeFlags2["TemplateLiteral"] = 134217728] = "TemplateLiteral";
  TypeFlags2[TypeFlags2["StringMapping"] = 268435456] = "StringMapping";
  TypeFlags2[TypeFlags2["Reserved1"] = 536870912] = "Reserved1";
  TypeFlags2[TypeFlags2["Reserved2"] = 1073741824] = "Reserved2";
  TypeFlags2[TypeFlags2["AnyOrUnknown"] = 3] = "AnyOrUnknown";
  TypeFlags2[TypeFlags2["Nullable"] = 98304] = "Nullable";
  TypeFlags2[TypeFlags2["Literal"] = 2944] = "Literal";
  TypeFlags2[TypeFlags2["Unit"] = 109472] = "Unit";
  TypeFlags2[TypeFlags2["Freshable"] = 2976] = "Freshable";
  TypeFlags2[TypeFlags2["StringOrNumberLiteral"] = 384] = "StringOrNumberLiteral";
  TypeFlags2[TypeFlags2["StringOrNumberLiteralOrUnique"] = 8576] = "StringOrNumberLiteralOrUnique";
  TypeFlags2[TypeFlags2["DefinitelyFalsy"] = 117632] = "DefinitelyFalsy";
  TypeFlags2[TypeFlags2["PossiblyFalsy"] = 117724] = "PossiblyFalsy";
  TypeFlags2[TypeFlags2["Intrinsic"] = 67359327] = "Intrinsic";
  TypeFlags2[TypeFlags2["StringLike"] = 402653316] = "StringLike";
  TypeFlags2[TypeFlags2["NumberLike"] = 296] = "NumberLike";
  TypeFlags2[TypeFlags2["BigIntLike"] = 2112] = "BigIntLike";
  TypeFlags2[TypeFlags2["BooleanLike"] = 528] = "BooleanLike";
  TypeFlags2[TypeFlags2["EnumLike"] = 1056] = "EnumLike";
  TypeFlags2[TypeFlags2["ESSymbolLike"] = 12288] = "ESSymbolLike";
  TypeFlags2[TypeFlags2["VoidLike"] = 49152] = "VoidLike";
  TypeFlags2[TypeFlags2["Primitive"] = 402784252] = "Primitive";
  TypeFlags2[TypeFlags2["DefinitelyNonNullable"] = 470302716] = "DefinitelyNonNullable";
  TypeFlags2[TypeFlags2["DisjointDomains"] = 469892092] = "DisjointDomains";
  TypeFlags2[TypeFlags2["UnionOrIntersection"] = 3145728] = "UnionOrIntersection";
  TypeFlags2[TypeFlags2["StructuredType"] = 3670016] = "StructuredType";
  TypeFlags2[TypeFlags2["TypeVariable"] = 8650752] = "TypeVariable";
  TypeFlags2[TypeFlags2["InstantiableNonPrimitive"] = 58982400] = "InstantiableNonPrimitive";
  TypeFlags2[TypeFlags2["InstantiablePrimitive"] = 406847488] = "InstantiablePrimitive";
  TypeFlags2[TypeFlags2["Instantiable"] = 465829888] = "Instantiable";
  TypeFlags2[TypeFlags2["StructuredOrInstantiable"] = 469499904] = "StructuredOrInstantiable";
  TypeFlags2[TypeFlags2["ObjectFlagsType"] = 3899393] = "ObjectFlagsType";
  TypeFlags2[TypeFlags2["Simplifiable"] = 25165824] = "Simplifiable";
  TypeFlags2[TypeFlags2["Singleton"] = 67358815] = "Singleton";
  TypeFlags2[TypeFlags2["Narrowable"] = 536624127] = "Narrowable";
  TypeFlags2[TypeFlags2["IncludesMask"] = 473694207] = "IncludesMask";
  TypeFlags2[TypeFlags2["IncludesMissingType"] = 262144 /* TypeParameter */] = "IncludesMissingType";
  TypeFlags2[TypeFlags2["IncludesNonWideningType"] = 4194304 /* Index */] = "IncludesNonWideningType";
  TypeFlags2[TypeFlags2["IncludesWildcard"] = 8388608 /* IndexedAccess */] = "IncludesWildcard";
  TypeFlags2[TypeFlags2["IncludesEmptyObject"] = 16777216 /* Conditional */] = "IncludesEmptyObject";
  TypeFlags2[TypeFlags2["IncludesInstantiable"] = 33554432 /* Substitution */] = "IncludesInstantiable";
  TypeFlags2[TypeFlags2["IncludesConstrainedTypeVariable"] = 536870912 /* Reserved1 */] = "IncludesConstrainedTypeVariable";
  TypeFlags2[TypeFlags2["IncludesError"] = 1073741824 /* Reserved2 */] = "IncludesError";
  TypeFlags2[TypeFlags2["NotPrimitiveUnion"] = 36323331] = "NotPrimitiveUnion";
  return TypeFlags2;
})(TypeFlags || {});
var ObjectFlags = /* @__PURE__ */ ((ObjectFlags3) => {
  ObjectFlags3[ObjectFlags3["None"] = 0] = "None";
  ObjectFlags3[ObjectFlags3["Class"] = 1] = "Class";
  ObjectFlags3[ObjectFlags3["Interface"] = 2] = "Interface";
  ObjectFlags3[ObjectFlags3["Reference"] = 4] = "Reference";
  ObjectFlags3[ObjectFlags3["Tuple"] = 8] = "Tuple";
  ObjectFlags3[ObjectFlags3["Anonymous"] = 16] = "Anonymous";
  ObjectFlags3[ObjectFlags3["Mapped"] = 32] = "Mapped";
  ObjectFlags3[ObjectFlags3["Instantiated"] = 64] = "Instantiated";
  ObjectFlags3[ObjectFlags3["ObjectLiteral"] = 128] = "ObjectLiteral";
  ObjectFlags3[ObjectFlags3["EvolvingArray"] = 256] = "EvolvingArray";
  ObjectFlags3[ObjectFlags3["ObjectLiteralPatternWithComputedProperties"] = 512] = "ObjectLiteralPatternWithComputedProperties";
  ObjectFlags3[ObjectFlags3["ReverseMapped"] = 1024] = "ReverseMapped";
  ObjectFlags3[ObjectFlags3["JsxAttributes"] = 2048] = "JsxAttributes";
  ObjectFlags3[ObjectFlags3["JSLiteral"] = 4096] = "JSLiteral";
  ObjectFlags3[ObjectFlags3["FreshLiteral"] = 8192] = "FreshLiteral";
  ObjectFlags3[ObjectFlags3["ArrayLiteral"] = 16384] = "ArrayLiteral";
  ObjectFlags3[ObjectFlags3["PrimitiveUnion"] = 32768] = "PrimitiveUnion";
  ObjectFlags3[ObjectFlags3["ContainsWideningType"] = 65536] = "ContainsWideningType";
  ObjectFlags3[ObjectFlags3["ContainsObjectOrArrayLiteral"] = 131072] = "ContainsObjectOrArrayLiteral";
  ObjectFlags3[ObjectFlags3["NonInferrableType"] = 262144] = "NonInferrableType";
  ObjectFlags3[ObjectFlags3["CouldContainTypeVariablesComputed"] = 524288] = "CouldContainTypeVariablesComputed";
  ObjectFlags3[ObjectFlags3["CouldContainTypeVariables"] = 1048576] = "CouldContainTypeVariables";
  ObjectFlags3[ObjectFlags3["ClassOrInterface"] = 3] = "ClassOrInterface";
  ObjectFlags3[ObjectFlags3["RequiresWidening"] = 196608] = "RequiresWidening";
  ObjectFlags3[ObjectFlags3["PropagatingFlags"] = 458752] = "PropagatingFlags";
  ObjectFlags3[ObjectFlags3["InstantiatedMapped"] = 96] = "InstantiatedMapped";
  ObjectFlags3[ObjectFlags3["ObjectTypeKindMask"] = 1343] = "ObjectTypeKindMask";
  ObjectFlags3[ObjectFlags3["ContainsSpread"] = 2097152] = "ContainsSpread";
  ObjectFlags3[ObjectFlags3["ObjectRestType"] = 4194304] = "ObjectRestType";
  ObjectFlags3[ObjectFlags3["InstantiationExpressionType"] = 8388608] = "InstantiationExpressionType";
  ObjectFlags3[ObjectFlags3["SingleSignatureType"] = 134217728] = "SingleSignatureType";
  ObjectFlags3[ObjectFlags3["IsClassInstanceClone"] = 16777216] = "IsClassInstanceClone";
  ObjectFlags3[ObjectFlags3["IdenticalBaseTypeCalculated"] = 33554432] = "IdenticalBaseTypeCalculated";
  ObjectFlags3[ObjectFlags3["IdenticalBaseTypeExists"] = 67108864] = "IdenticalBaseTypeExists";
  ObjectFlags3[ObjectFlags3["IsGenericTypeComputed"] = 2097152] = "IsGenericTypeComputed";
  ObjectFlags3[ObjectFlags3["IsGenericObjectType"] = 4194304] = "IsGenericObjectType";
  ObjectFlags3[ObjectFlags3["IsGenericIndexType"] = 8388608] = "IsGenericIndexType";
  ObjectFlags3[ObjectFlags3["IsGenericType"] = 12582912] = "IsGenericType";
  ObjectFlags3[ObjectFlags3["ContainsIntersections"] = 16777216] = "ContainsIntersections";
  ObjectFlags3[ObjectFlags3["IsUnknownLikeUnionComputed"] = 33554432] = "IsUnknownLikeUnionComputed";
  ObjectFlags3[ObjectFlags3["IsUnknownLikeUnion"] = 67108864] = "IsUnknownLikeUnion";
  ObjectFlags3[ObjectFlags3["IsNeverIntersectionComputed"] = 16777216] = "IsNeverIntersectionComputed";
  ObjectFlags3[ObjectFlags3["IsNeverIntersection"] = 33554432] = "IsNeverIntersection";
  ObjectFlags3[ObjectFlags3["IsConstrainedTypeVariable"] = 67108864] = "IsConstrainedTypeVariable";
  return ObjectFlags3;
})(ObjectFlags || {});
var SignatureFlags = /* @__PURE__ */ ((SignatureFlags4) => {
  SignatureFlags4[SignatureFlags4["None"] = 0] = "None";
  SignatureFlags4[SignatureFlags4["HasRestParameter"] = 1] = "HasRestParameter";
  SignatureFlags4[SignatureFlags4["HasLiteralTypes"] = 2] = "HasLiteralTypes";
  SignatureFlags4[SignatureFlags4["Abstract"] = 4] = "Abstract";
  SignatureFlags4[SignatureFlags4["IsInnerCallChain"] = 8] = "IsInnerCallChain";
  SignatureFlags4[SignatureFlags4["IsOuterCallChain"] = 16] = "IsOuterCallChain";
  SignatureFlags4[SignatureFlags4["IsUntypedSignatureInJSFile"] = 32] = "IsUntypedSignatureInJSFile";
  SignatureFlags4[SignatureFlags4["IsNonInferrable"] = 64] = "IsNonInferrable";
  SignatureFlags4[SignatureFlags4["IsSignatureCandidateForOverloadFailure"] = 128] = "IsSignatureCandidateForOverloadFailure";
  SignatureFlags4[SignatureFlags4["PropagatingFlags"] = 167] = "PropagatingFlags";
  SignatureFlags4[SignatureFlags4["CallChainFlags"] = 24] = "CallChainFlags";
  return SignatureFlags4;
})(SignatureFlags || {});
var DiagnosticCategory = /* @__PURE__ */ ((DiagnosticCategory2) => {
  DiagnosticCategory2[DiagnosticCategory2["Warning"] = 0] = "Warning";
  DiagnosticCategory2[DiagnosticCategory2["Error"] = 1] = "Error";
  DiagnosticCategory2[DiagnosticCategory2["Suggestion"] = 2] = "Suggestion";
  DiagnosticCategory2[DiagnosticCategory2["Message"] = 3] = "Message";
  return DiagnosticCategory2;
})(DiagnosticCategory || {});
function diagnosticCategoryName(d, lowerCase = true) {
  const name = DiagnosticCategory[d.category];
  return lowerCase ? name.toLowerCase() : name;
}
var ModuleResolutionKind = /* @__PURE__ */ ((ModuleResolutionKind2) => {
  ModuleResolutionKind2[ModuleResolutionKind2["Classic"] = 1] = "Classic";
  ModuleResolutionKind2[ModuleResolutionKind2["NodeJs"] = 2] = "NodeJs";
  ModuleResolutionKind2[ModuleResolutionKind2["Node10"] = 2] = "Node10";
  ModuleResolutionKind2[ModuleResolutionKind2["Node16"] = 3] = "Node16";
  ModuleResolutionKind2[ModuleResolutionKind2["NodeNext"] = 99] = "NodeNext";
  ModuleResolutionKind2[ModuleResolutionKind2["Bundler"] = 100] = "Bundler";
  return ModuleResolutionKind2;
})(ModuleResolutionKind || {});
var ModuleKind = /* @__PURE__ */ ((ModuleKind2) => {
  ModuleKind2[ModuleKind2["None"] = 0] = "None";
  ModuleKind2[ModuleKind2["CommonJS"] = 1] = "CommonJS";
  ModuleKind2[ModuleKind2["AMD"] = 2] = "AMD";
  ModuleKind2[ModuleKind2["UMD"] = 3] = "UMD";
  ModuleKind2[ModuleKind2["System"] = 4] = "System";
  ModuleKind2[ModuleKind2["ES2015"] = 5] = "ES2015";
  ModuleKind2[ModuleKind2["ES2020"] = 6] = "ES2020";
  ModuleKind2[ModuleKind2["ES2022"] = 7] = "ES2022";
  ModuleKind2[ModuleKind2["ESNext"] = 99] = "ESNext";
  ModuleKind2[ModuleKind2["Node16"] = 100] = "Node16";
  ModuleKind2[ModuleKind2["NodeNext"] = 199] = "NodeNext";
  ModuleKind2[ModuleKind2["Preserve"] = 200] = "Preserve";
  return ModuleKind2;
})(ModuleKind || {});
var ScriptKind = /* @__PURE__ */ ((ScriptKind3) => {
  ScriptKind3[ScriptKind3["Unknown"] = 0] = "Unknown";
  ScriptKind3[ScriptKind3["JS"] = 1] = "JS";
  ScriptKind3[ScriptKind3["JSX"] = 2] = "JSX";
  ScriptKind3[ScriptKind3["TS"] = 3] = "TS";
  ScriptKind3[ScriptKind3["TSX"] = 4] = "TSX";
  ScriptKind3[ScriptKind3["External"] = 5] = "External";
  ScriptKind3[ScriptKind3["JSON"] = 6] = "JSON";
  ScriptKind3[ScriptKind3["Deferred"] = 7] = "Deferred";
  return ScriptKind3;
})(ScriptKind || {});
var TransformFlags = /* @__PURE__ */ ((TransformFlags3) => {
  TransformFlags3[TransformFlags3["None"] = 0] = "None";
  TransformFlags3[TransformFlags3["ContainsTypeScript"] = 1] = "ContainsTypeScript";
  TransformFlags3[TransformFlags3["ContainsJsx"] = 2] = "ContainsJsx";
  TransformFlags3[TransformFlags3["ContainsESNext"] = 4] = "ContainsESNext";
  TransformFlags3[TransformFlags3["ContainsES2022"] = 8] = "ContainsES2022";
  TransformFlags3[TransformFlags3["ContainsES2021"] = 16] = "ContainsES2021";
  TransformFlags3[TransformFlags3["ContainsES2020"] = 32] = "ContainsES2020";
  TransformFlags3[TransformFlags3["ContainsES2019"] = 64] = "ContainsES2019";
  TransformFlags3[TransformFlags3["ContainsES2018"] = 128] = "ContainsES2018";
  TransformFlags3[TransformFlags3["ContainsES2017"] = 256] = "ContainsES2017";
  TransformFlags3[TransformFlags3["ContainsES2016"] = 512] = "ContainsES2016";
  TransformFlags3[TransformFlags3["ContainsES2015"] = 1024] = "ContainsES2015";
  TransformFlags3[TransformFlags3["ContainsGenerator"] = 2048] = "ContainsGenerator";
  TransformFlags3[TransformFlags3["ContainsDestructuringAssignment"] = 4096] = "ContainsDestructuringAssignment";
  TransformFlags3[TransformFlags3["ContainsTypeScriptClassSyntax"] = 8192] = "ContainsTypeScriptClassSyntax";
  TransformFlags3[TransformFlags3["ContainsLexicalThis"] = 16384] = "ContainsLexicalThis";
  TransformFlags3[TransformFlags3["ContainsRestOrSpread"] = 32768] = "ContainsRestOrSpread";
  TransformFlags3[TransformFlags3["ContainsObjectRestOrSpread"] = 65536] = "ContainsObjectRestOrSpread";
  TransformFlags3[TransformFlags3["ContainsComputedPropertyName"] = 131072] = "ContainsComputedPropertyName";
  TransformFlags3[TransformFlags3["ContainsBlockScopedBinding"] = 262144] = "ContainsBlockScopedBinding";
  TransformFlags3[TransformFlags3["ContainsBindingPattern"] = 524288] = "ContainsBindingPattern";
  TransformFlags3[TransformFlags3["ContainsYield"] = 1048576] = "ContainsYield";
  TransformFlags3[TransformFlags3["ContainsAwait"] = 2097152] = "ContainsAwait";
  TransformFlags3[TransformFlags3["ContainsHoistedDeclarationOrCompletion"] = 4194304] = "ContainsHoistedDeclarationOrCompletion";
  TransformFlags3[TransformFlags3["ContainsDynamicImport"] = 8388608] = "ContainsDynamicImport";
  TransformFlags3[TransformFlags3["ContainsClassFields"] = 16777216] = "ContainsClassFields";
  TransformFlags3[TransformFlags3["ContainsDecorators"] = 33554432] = "ContainsDecorators";
  TransformFlags3[TransformFlags3["ContainsPossibleTopLevelAwait"] = 67108864] = "ContainsPossibleTopLevelAwait";
  TransformFlags3[TransformFlags3["ContainsLexicalSuper"] = 134217728] = "ContainsLexicalSuper";
  TransformFlags3[TransformFlags3["ContainsUpdateExpressionForIdentifier"] = 268435456] = "ContainsUpdateExpressionForIdentifier";
  TransformFlags3[TransformFlags3["ContainsPrivateIdentifierInExpression"] = 536870912] = "ContainsPrivateIdentifierInExpression";
  TransformFlags3[TransformFlags3["HasComputedFlags"] = -2147483648] = "HasComputedFlags";
  TransformFlags3[TransformFlags3["AssertTypeScript"] = 1 /* ContainsTypeScript */] = "AssertTypeScript";
  TransformFlags3[TransformFlags3["AssertJsx"] = 2 /* ContainsJsx */] = "AssertJsx";
  TransformFlags3[TransformFlags3["AssertESNext"] = 4 /* ContainsESNext */] = "AssertESNext";
  TransformFlags3[TransformFlags3["AssertES2022"] = 8 /* ContainsES2022 */] = "AssertES2022";
  TransformFlags3[TransformFlags3["AssertES2021"] = 16 /* ContainsES2021 */] = "AssertES2021";
  TransformFlags3[TransformFlags3["AssertES2020"] = 32 /* ContainsES2020 */] = "AssertES2020";
  TransformFlags3[TransformFlags3["AssertES2019"] = 64 /* ContainsES2019 */] = "AssertES2019";
  TransformFlags3[TransformFlags3["AssertES2018"] = 128 /* ContainsES2018 */] = "AssertES2018";
  TransformFlags3[TransformFlags3["AssertES2017"] = 256 /* ContainsES2017 */] = "AssertES2017";
  TransformFlags3[TransformFlags3["AssertES2016"] = 512 /* ContainsES2016 */] = "AssertES2016";
  TransformFlags3[TransformFlags3["AssertES2015"] = 1024 /* ContainsES2015 */] = "AssertES2015";
  TransformFlags3[TransformFlags3["AssertGenerator"] = 2048 /* ContainsGenerator */] = "AssertGenerator";
  TransformFlags3[TransformFlags3["AssertDestructuringAssignment"] = 4096 /* ContainsDestructuringAssignment */] = "AssertDestructuringAssignment";
  TransformFlags3[TransformFlags3["OuterExpressionExcludes"] = -2147483648 /* HasComputedFlags */] = "OuterExpressionExcludes";
  TransformFlags3[TransformFlags3["PropertyAccessExcludes"] = -2147483648 /* OuterExpressionExcludes */] = "PropertyAccessExcludes";
  TransformFlags3[TransformFlags3["NodeExcludes"] = -2147483648 /* PropertyAccessExcludes */] = "NodeExcludes";
  TransformFlags3[TransformFlags3["ArrowFunctionExcludes"] = -2072174592] = "ArrowFunctionExcludes";
  TransformFlags3[TransformFlags3["FunctionExcludes"] = -1937940480] = "FunctionExcludes";
  TransformFlags3[TransformFlags3["ConstructorExcludes"] = -1937948672] = "ConstructorExcludes";
  TransformFlags3[TransformFlags3["MethodOrAccessorExcludes"] = -2005057536] = "MethodOrAccessorExcludes";
  TransformFlags3[TransformFlags3["PropertyExcludes"] = -2013249536] = "PropertyExcludes";
  TransformFlags3[TransformFlags3["ClassExcludes"] = -2147344384] = "ClassExcludes";
  TransformFlags3[TransformFlags3["ModuleExcludes"] = -1941676032] = "ModuleExcludes";
  TransformFlags3[TransformFlags3["TypeExcludes"] = -2] = "TypeExcludes";
  TransformFlags3[TransformFlags3["ObjectLiteralExcludes"] = -2147278848] = "ObjectLiteralExcludes";
  TransformFlags3[TransformFlags3["ArrayLiteralOrCallOrNewExcludes"] = -2147450880] = "ArrayLiteralOrCallOrNewExcludes";
  TransformFlags3[TransformFlags3["VariableDeclarationListExcludes"] = -2146893824] = "VariableDeclarationListExcludes";
  TransformFlags3[TransformFlags3["ParameterExcludes"] = -2147483648 /* NodeExcludes */] = "ParameterExcludes";
  TransformFlags3[TransformFlags3["CatchClauseExcludes"] = -2147418112] = "CatchClauseExcludes";
  TransformFlags3[TransformFlags3["BindingPatternExcludes"] = -2147450880] = "BindingPatternExcludes";
  TransformFlags3[TransformFlags3["ContainsLexicalThisOrSuper"] = 134234112] = "ContainsLexicalThisOrSuper";
  TransformFlags3[TransformFlags3["PropertyNamePropagatingFlags"] = 134234112] = "PropertyNamePropagatingFlags";
  return TransformFlags3;
})(TransformFlags || {});
var SnippetKind = /* @__PURE__ */ ((SnippetKind3) => {
  SnippetKind3[SnippetKind3["TabStop"] = 0] = "TabStop";
  SnippetKind3[SnippetKind3["Placeholder"] = 1] = "Placeholder";
  SnippetKind3[SnippetKind3["Choice"] = 2] = "Choice";
  SnippetKind3[SnippetKind3["Variable"] = 3] = "Variable";
  return SnippetKind3;
})(SnippetKind || {});
var EmitFlags = /* @__PURE__ */ ((EmitFlags3) => {
  EmitFlags3[EmitFlags3["None"] = 0] = "None";
  EmitFlags3[EmitFlags3["SingleLine"] = 1] = "SingleLine";
  EmitFlags3[EmitFlags3["MultiLine"] = 2] = "MultiLine";
  EmitFlags3[EmitFlags3["AdviseOnEmitNode"] = 4] = "AdviseOnEmitNode";
  EmitFlags3[EmitFlags3["NoSubstitution"] = 8] = "NoSubstitution";
  EmitFlags3[EmitFlags3["CapturesThis"] = 16] = "CapturesThis";
  EmitFlags3[EmitFlags3["NoLeadingSourceMap"] = 32] = "NoLeadingSourceMap";
  EmitFlags3[EmitFlags3["NoTrailingSourceMap"] = 64] = "NoTrailingSourceMap";
  EmitFlags3[EmitFlags3["NoSourceMap"] = 96] = "NoSourceMap";
  EmitFlags3[EmitFlags3["NoNestedSourceMaps"] = 128] = "NoNestedSourceMaps";
  EmitFlags3[EmitFlags3["NoTokenLeadingSourceMaps"] = 256] = "NoTokenLeadingSourceMaps";
  EmitFlags3[EmitFlags3["NoTokenTrailingSourceMaps"] = 512] = "NoTokenTrailingSourceMaps";
  EmitFlags3[EmitFlags3["NoTokenSourceMaps"] = 768] = "NoTokenSourceMaps";
  EmitFlags3[EmitFlags3["NoLeadingComments"] = 1024] = "NoLeadingComments";
  EmitFlags3[EmitFlags3["NoTrailingComments"] = 2048] = "NoTrailingComments";
  EmitFlags3[EmitFlags3["NoComments"] = 3072] = "NoComments";
  EmitFlags3[EmitFlags3["NoNestedComments"] = 4096] = "NoNestedComments";
  EmitFlags3[EmitFlags3["HelperName"] = 8192] = "HelperName";
  EmitFlags3[EmitFlags3["ExportName"] = 16384] = "ExportName";
  EmitFlags3[EmitFlags3["LocalName"] = 32768] = "LocalName";
  EmitFlags3[EmitFlags3["InternalName"] = 65536] = "InternalName";
  EmitFlags3[EmitFlags3["Indented"] = 131072] = "Indented";
  EmitFlags3[EmitFlags3["NoIndentation"] = 262144] = "NoIndentation";
  EmitFlags3[EmitFlags3["AsyncFunctionBody"] = 524288] = "AsyncFunctionBody";
  EmitFlags3[EmitFlags3["ReuseTempVariableScope"] = 1048576] = "ReuseTempVariableScope";
  EmitFlags3[EmitFlags3["CustomPrologue"] = 2097152] = "CustomPrologue";
  EmitFlags3[EmitFlags3["NoHoisting"] = 4194304] = "NoHoisting";
  EmitFlags3[EmitFlags3["Iterator"] = 8388608] = "Iterator";
  EmitFlags3[EmitFlags3["NoAsciiEscaping"] = 16777216] = "NoAsciiEscaping";
  return EmitFlags3;
})(EmitFlags || {});
var LanguageFeatureMinimumTarget = {
  Classes: 2 /* ES2015 */,
  ForOf: 2 /* ES2015 */,
  Generators: 2 /* ES2015 */,
  Iteration: 2 /* ES2015 */,
  SpreadElements: 2 /* ES2015 */,
  RestElements: 2 /* ES2015 */,
  TaggedTemplates: 2 /* ES2015 */,
  DestructuringAssignment: 2 /* ES2015 */,
  BindingPatterns: 2 /* ES2015 */,
  ArrowFunctions: 2 /* ES2015 */,
  BlockScopedVariables: 2 /* ES2015 */,
  ObjectAssign: 2 /* ES2015 */,
  RegularExpressionFlagsUnicode: 2 /* ES2015 */,
  RegularExpressionFlagsSticky: 2 /* ES2015 */,
  Exponentiation: 3 /* ES2016 */,
  AsyncFunctions: 4 /* ES2017 */,
  ForAwaitOf: 5 /* ES2018 */,
  AsyncGenerators: 5 /* ES2018 */,
  AsyncIteration: 5 /* ES2018 */,
  ObjectSpreadRest: 5 /* ES2018 */,
  RegularExpressionFlagsDotAll: 5 /* ES2018 */,
  BindinglessCatch: 6 /* ES2019 */,
  BigInt: 7 /* ES2020 */,
  NullishCoalesce: 7 /* ES2020 */,
  OptionalChaining: 7 /* ES2020 */,
  LogicalAssignment: 8 /* ES2021 */,
  TopLevelAwait: 9 /* ES2022 */,
  ClassFields: 9 /* ES2022 */,
  PrivateNamesAndClassStaticBlocks: 9 /* ES2022 */,
  RegularExpressionFlagsHasIndices: 9 /* ES2022 */,
  ShebangComments: 10 /* ES2023 */,
  RegularExpressionFlagsUnicodeSets: 11 /* ES2024 */,
  UsingAndAwaitUsing: 99 /* ESNext */,
  ClassAndClassElementDecorators: 99 /* ESNext */
};
var commentPragmas = {
  "reference": {
    args: [
      { name: "types", optional: true, captureSpan: true },
      { name: "lib", optional: true, captureSpan: true },
      { name: "path", optional: true, captureSpan: true },
      { name: "no-default-lib", optional: true },
      { name: "resolution-mode", optional: true },
      { name: "preserve", optional: true }
    ],
    kind: 1 /* TripleSlashXML */
  },
  "amd-dependency": {
    args: [{ name: "path" }, { name: "name", optional: true }],
    kind: 1 /* TripleSlashXML */
  },
  "amd-module": {
    args: [{ name: "name" }],
    kind: 1 /* TripleSlashXML */
  },
  "ts-check": {
    kind: 2 /* SingleLine */
  },
  "ts-nocheck": {
    kind: 2 /* SingleLine */
  },
  "jsx": {
    args: [{ name: "factory" }],
    kind: 4 /* MultiLine */
  },
  "jsxfrag": {
    args: [{ name: "factory" }],
    kind: 4 /* MultiLine */
  },
  "jsximportsource": {
    args: [{ name: "factory" }],
    kind: 4 /* MultiLine */
  },
  "jsxruntime": {
    args: [{ name: "factory" }],
    kind: 4 /* MultiLine */
  }
};

// src/compiler/sys.ts
function generateDjb2Hash(data) {
  let acc = 5381;
  for (let i = 0; i < data.length; i++) {
    acc = (acc << 5) + acc + data.charCodeAt(i);
  }
  return acc.toString();
}
var PollingInterval = /* @__PURE__ */ ((PollingInterval3) => {
  PollingInterval3[PollingInterval3["High"] = 2e3] = "High";
  PollingInterval3[PollingInterval3["Medium"] = 500] = "Medium";
  PollingInterval3[PollingInterval3["Low"] = 250] = "Low";
  return PollingInterval3;
})(PollingInterval || {});
var missingFileModifiedTime = /* @__PURE__ */ new Date(0);
function getModifiedTime(host, fileName) {
  return host.getModifiedTime(fileName) || missingFileModifiedTime;
}
function createPollingIntervalBasedLevels(levels) {
  return {
    [250 /* Low */]: levels.Low,
    [500 /* Medium */]: levels.Medium,
    [2e3 /* High */]: levels.High
  };
}
var defaultChunkLevels = { Low: 32, Medium: 64, High: 256 };
var pollingChunkSize = createPollingIntervalBasedLevels(defaultChunkLevels);
var unchangedPollThresholds = createPollingIntervalBasedLevels(defaultChunkLevels);
function setCustomPollingValues(system) {
  if (!system.getEnvironmentVariable) {
    return;
  }
  const pollingIntervalChanged = setCustomLevels("TSC_WATCH_POLLINGINTERVAL", PollingInterval);
  pollingChunkSize = getCustomPollingBasedLevels("TSC_WATCH_POLLINGCHUNKSIZE", defaultChunkLevels) || pollingChunkSize;
  unchangedPollThresholds = getCustomPollingBasedLevels("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS", defaultChunkLevels) || unchangedPollThresholds;
  function getLevel(envVar, level) {
    return system.getEnvironmentVariable(`${envVar}_${level.toUpperCase()}`);
  }
  function getCustomLevels(baseVariable) {
    let customLevels;
    setCustomLevel("Low");
    setCustomLevel("Medium");
    setCustomLevel("High");
    return customLevels;
    function setCustomLevel(level) {
      const customLevel = getLevel(baseVariable, level);
      if (customLevel) {
        (customLevels || (customLevels = {}))[level] = Number(customLevel);
      }
    }
  }
  function setCustomLevels(baseVariable, levels) {
    const customLevels = getCustomLevels(baseVariable);
    if (customLevels) {
      setLevel("Low");
      setLevel("Medium");
      setLevel("High");
      return true;
    }
    return false;
    function setLevel(level) {
      levels[level] = customLevels[level] || levels[level];
    }
  }
  function getCustomPollingBasedLevels(baseVariable, defaultLevels) {
    const customLevels = getCustomLevels(baseVariable);
    return (pollingIntervalChanged || customLevels) && createPollingIntervalBasedLevels(customLevels ? { ...defaultLevels, ...customLevels } : defaultLevels);
  }
}
function pollWatchedFileQueue(host, queue, pollIndex, chunkSize, callbackOnWatchFileStat) {
  let definedValueCopyToIndex = pollIndex;
  for (let canVisit = queue.length; chunkSize && canVisit; nextPollIndex(), canVisit--) {
    const watchedFile = queue[pollIndex];
    if (!watchedFile) {
      continue;
    } else if (watchedFile.isClosed) {
      queue[pollIndex] = void 0;
      continue;
    }
    chunkSize--;
    const fileChanged = onWatchedFileStat(watchedFile, getModifiedTime(host, watchedFile.fileName));
    if (watchedFile.isClosed) {
      queue[pollIndex] = void 0;
      continue;
    }
    callbackOnWatchFileStat == null ? void 0 : callbackOnWatchFileStat(watchedFile, pollIndex, fileChanged);
    if (queue[pollIndex]) {
      if (definedValueCopyToIndex < pollIndex) {
        queue[definedValueCopyToIndex] = watchedFile;
        queue[pollIndex] = void 0;
      }
      definedValueCopyToIndex++;
    }
  }
  return pollIndex;
  function nextPollIndex() {
    pollIndex++;
    if (pollIndex === queue.length) {
      if (definedValueCopyToIndex < pollIndex) {
        queue.length = definedValueCopyToIndex;
      }
      pollIndex = 0;
      definedValueCopyToIndex = 0;
    }
  }
}
function createDynamicPriorityPollingWatchFile(host) {
  const watchedFiles = [];
  const changedFilesInLastPoll = [];
  const lowPollingIntervalQueue = createPollingIntervalQueue(250 /* Low */);
  const mediumPollingIntervalQueue = createPollingIntervalQueue(500 /* Medium */);
  const highPollingIntervalQueue = createPollingIntervalQueue(2e3 /* High */);
  return watchFile2;
  function watchFile2(fileName, callback, defaultPollingInterval) {
    const file = {
      fileName,
      callback,
      unchangedPolls: 0,
      mtime: getModifiedTime(host, fileName)
    };
    watchedFiles.push(file);
    addToPollingIntervalQueue(file, defaultPollingInterval);
    return {
      close: () => {
        file.isClosed = true;
        unorderedRemoveItem(watchedFiles, file);
      }
    };
  }
  function createPollingIntervalQueue(pollingInterval) {
    const queue = [];
    queue.pollingInterval = pollingInterval;
    queue.pollIndex = 0;
    queue.pollScheduled = false;
    return queue;
  }
  function pollPollingIntervalQueue(_timeoutType, queue) {
    queue.pollIndex = pollQueue(queue, queue.pollingInterval, queue.pollIndex, pollingChunkSize[queue.pollingInterval]);
    if (queue.length) {
      scheduleNextPoll(queue.pollingInterval);
    } else {
      Debug.assert(queue.pollIndex === 0);
      queue.pollScheduled = false;
    }
  }
  function pollLowPollingIntervalQueue(_timeoutType, queue) {
    pollQueue(
      changedFilesInLastPoll,
      250 /* Low */,
      /*pollIndex*/
      0,
      changedFilesInLastPoll.length
    );
    pollPollingIntervalQueue(_timeoutType, queue);
    if (!queue.pollScheduled && changedFilesInLastPoll.length) {
      scheduleNextPoll(250 /* Low */);
    }
  }
  function pollQueue(queue, pollingInterval, pollIndex, chunkSize) {
    return pollWatchedFileQueue(
      host,
      queue,
      pollIndex,
      chunkSize,
      onWatchFileStat
    );
    function onWatchFileStat(watchedFile, pollIndex2, fileChanged) {
      if (fileChanged) {
        watchedFile.unchangedPolls = 0;
        if (queue !== changedFilesInLastPoll) {
          queue[pollIndex2] = void 0;
          addChangedFileToLowPollingIntervalQueue(watchedFile);
        }
      } else if (watchedFile.unchangedPolls !== unchangedPollThresholds[pollingInterval]) {
        watchedFile.unchangedPolls++;
      } else if (queue === changedFilesInLastPoll) {
        watchedFile.unchangedPolls = 1;
        queue[pollIndex2] = void 0;
        addToPollingIntervalQueue(watchedFile, 250 /* Low */);
      } else if (pollingInterval !== 2e3 /* High */) {
        watchedFile.unchangedPolls++;
        queue[pollIndex2] = void 0;
        addToPollingIntervalQueue(watchedFile, pollingInterval === 250 /* Low */ ? 500 /* Medium */ : 2e3 /* High */);
      }
    }
  }
  function pollingIntervalQueue(pollingInterval) {
    switch (pollingInterval) {
      case 250 /* Low */:
        return lowPollingIntervalQueue;
      case 500 /* Medium */:
        return mediumPollingIntervalQueue;
      case 2e3 /* High */:
        return highPollingIntervalQueue;
    }
  }
  function addToPollingIntervalQueue(file, pollingInterval) {
    pollingIntervalQueue(pollingInterval).push(file);
    scheduleNextPollIfNotAlreadyScheduled(pollingInterval);
  }
  function addChangedFileToLowPollingIntervalQueue(file) {
    changedFilesInLastPoll.push(file);
    scheduleNextPollIfNotAlreadyScheduled(250 /* Low */);
  }
  function scheduleNextPollIfNotAlreadyScheduled(pollingInterval) {
    if (!pollingIntervalQueue(pollingInterval).pollScheduled) {
      scheduleNextPoll(pollingInterval);
    }
  }
  function scheduleNextPoll(pollingInterval) {
    pollingIntervalQueue(pollingInterval).pollScheduled = host.setTimeout(pollingInterval === 250 /* Low */ ? pollLowPollingIntervalQueue : pollPollingIntervalQueue, pollingInterval, pollingInterval === 250 /* Low */ ? "pollLowPollingIntervalQueue" : "pollPollingIntervalQueue", pollingIntervalQueue(pollingInterval));
  }
}
function createUseFsEventsOnParentDirectoryWatchFile(fsWatch, useCaseSensitiveFileNames2, getModifiedTime3, fsWatchWithTimestamp) {
  const fileWatcherCallbacks = createMultiMap();
  const fileTimestamps = fsWatchWithTimestamp ? /* @__PURE__ */ new Map() : void 0;
  const dirWatchers = /* @__PURE__ */ new Map();
  const toCanonicalName = createGetCanonicalFileName(useCaseSensitiveFileNames2);
  return nonPollingWatchFile;
  function nonPollingWatchFile(fileName, callback, _pollingInterval, fallbackOptions) {
    const filePath = toCanonicalName(fileName);
    if (fileWatcherCallbacks.add(filePath, callback).length === 1 && fileTimestamps) {
      fileTimestamps.set(filePath, getModifiedTime3(fileName) || missingFileModifiedTime);
    }
    const dirPath = getDirectoryPath(filePath) || ".";
    const watcher = dirWatchers.get(dirPath) || createDirectoryWatcher(getDirectoryPath(fileName) || ".", dirPath, fallbackOptions);
    watcher.referenceCount++;
    return {
      close: () => {
        if (watcher.referenceCount === 1) {
          watcher.close();
          dirWatchers.delete(dirPath);
        } else {
          watcher.referenceCount--;
        }
        fileWatcherCallbacks.remove(filePath, callback);
      }
    };
  }
  function createDirectoryWatcher(dirName, dirPath, fallbackOptions) {
    const watcher = fsWatch(
      dirName,
      1 /* Directory */,
      (eventName, relativeFileName) => {
        if (!isString(relativeFileName)) return;
        const fileName = getNormalizedAbsolutePath(relativeFileName, dirName);
        const filePath = toCanonicalName(fileName);
        const callbacks = fileName && fileWatcherCallbacks.get(filePath);
        if (callbacks) {
          let currentModifiedTime;
          let eventKind = 1 /* Changed */;
          if (fileTimestamps) {
            const existingTime = fileTimestamps.get(filePath);
            if (eventName === "change") {
              currentModifiedTime = getModifiedTime3(fileName) || missingFileModifiedTime;
              if (currentModifiedTime.getTime() === existingTime.getTime()) return;
            }
            currentModifiedTime || (currentModifiedTime = getModifiedTime3(fileName) || missingFileModifiedTime);
            fileTimestamps.set(filePath, currentModifiedTime);
            if (existingTime === missingFileModifiedTime) eventKind = 0 /* Created */;
            else if (currentModifiedTime === missingFileModifiedTime) eventKind = 2 /* Deleted */;
          }
          for (const fileCallback of callbacks) {
            fileCallback(fileName, eventKind, currentModifiedTime);
          }
        }
      },
      /*recursive*/
      false,
      500 /* Medium */,
      fallbackOptions
    );
    watcher.referenceCount = 0;
    dirWatchers.set(dirPath, watcher);
    return watcher;
  }
}
function createFixedChunkSizePollingWatchFile(host) {
  const watchedFiles = [];
  let pollIndex = 0;
  let pollScheduled;
  return watchFile2;
  function watchFile2(fileName, callback) {
    const file = {
      fileName,
      callback,
      mtime: getModifiedTime(host, fileName)
    };
    watchedFiles.push(file);
    scheduleNextPoll();
    return {
      close: () => {
        file.isClosed = true;
        unorderedRemoveItem(watchedFiles, file);
      }
    };
  }
  function pollQueue() {
    pollScheduled = void 0;
    pollIndex = pollWatchedFileQueue(host, watchedFiles, pollIndex, pollingChunkSize[250 /* Low */]);
    scheduleNextPoll();
  }
  function scheduleNextPoll() {
    if (!watchedFiles.length || pollScheduled) return;
    pollScheduled = host.setTimeout(pollQueue, 2e3 /* High */, "pollQueue");
  }
}
function createSingleWatcherPerName(cache, useCaseSensitiveFileNames2, name, callback, createWatcher) {
  const toCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames2);
  const path = toCanonicalFileName(name);
  const existing = cache.get(path);
  if (existing) {
    existing.callbacks.push(callback);
  } else {
    cache.set(path, {
      watcher: createWatcher(
        // Cant infer types correctly so lets satisfy checker
        (param1, param2, param3) => {
          var _a;
          return (_a = cache.get(path)) == null ? void 0 : _a.callbacks.slice().forEach((cb) => cb(param1, param2, param3));
        }
      ),
      callbacks: [callback]
    });
  }
  return {
    close: () => {
      const watcher = cache.get(path);
      if (!watcher) return;
      if (!orderedRemoveItem(watcher.callbacks, callback) || watcher.callbacks.length) return;
      cache.delete(path);
      closeFileWatcherOf(watcher);
    }
  };
}
function onWatchedFileStat(watchedFile, modifiedTime) {
  const oldTime = watchedFile.mtime.getTime();
  const newTime = modifiedTime.getTime();
  if (oldTime !== newTime) {
    watchedFile.mtime = modifiedTime;
    watchedFile.callback(watchedFile.fileName, getFileWatcherEventKind(oldTime, newTime), modifiedTime);
    return true;
  }
  return false;
}
function getFileWatcherEventKind(oldTime, newTime) {
  return oldTime === 0 ? 0 /* Created */ : newTime === 0 ? 2 /* Deleted */ : 1 /* Changed */;
}
var ignoredPaths = ["/node_modules/.", "/.git", "/.#"];
var curSysLog = noop;
function sysLog(s) {
  return curSysLog(s);
}
function setSysLog(logger) {
  curSysLog = logger;
}
function createDirectoryWatcherSupportingRecursive({
  watchDirectory,
  useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
  getCurrentDirectory,
  getAccessibleSortedChildDirectories,
  fileSystemEntryExists,
  realpath,
  setTimeout: setTimeout2,
  clearTimeout: clearTimeout2
}) {
  const cache = /* @__PURE__ */ new Map();
  const callbackCache = createMultiMap();
  const cacheToUpdateChildWatches = /* @__PURE__ */ new Map();
  let timerToUpdateChildWatches;
  const filePathComparer = getStringComparer(!useCaseSensitiveFileNames2);
  const toCanonicalFilePath = createGetCanonicalFileName(useCaseSensitiveFileNames2);
  return (dirName, callback, recursive, options) => recursive ? createDirectoryWatcher(dirName, options, callback) : watchDirectory(dirName, callback, recursive, options);
  function createDirectoryWatcher(dirName, options, callback, link) {
    const dirPath = toCanonicalFilePath(dirName);
    let directoryWatcher = cache.get(dirPath);
    if (directoryWatcher) {
      directoryWatcher.refCount++;
    } else {
      directoryWatcher = {
        watcher: watchDirectory(
          dirName,
          (fileName) => {
            var _a;
            if (isIgnoredPath(fileName, options)) return;
            if (options == null ? void 0 : options.synchronousWatchDirectory) {
              if (!((_a = cache.get(dirPath)) == null ? void 0 : _a.targetWatcher)) invokeCallbacks(dirName, dirPath, fileName);
              updateChildWatches(dirName, dirPath, options);
            } else {
              nonSyncUpdateChildWatches(dirName, dirPath, fileName, options);
            }
          },
          /*recursive*/
          false,
          options
        ),
        refCount: 1,
        childWatches: emptyArray,
        targetWatcher: void 0,
        links: void 0
      };
      cache.set(dirPath, directoryWatcher);
      updateChildWatches(dirName, dirPath, options);
    }
    if (link) (directoryWatcher.links ?? (directoryWatcher.links = /* @__PURE__ */ new Set())).add(link);
    const callbackToAdd = callback && { dirName, callback };
    if (callbackToAdd) {
      callbackCache.add(dirPath, callbackToAdd);
    }
    return {
      dirName,
      close: () => {
        var _a;
        const directoryWatcher2 = Debug.checkDefined(cache.get(dirPath));
        if (callbackToAdd) callbackCache.remove(dirPath, callbackToAdd);
        if (link) (_a = directoryWatcher2.links) == null ? void 0 : _a.delete(link);
        directoryWatcher2.refCount--;
        if (directoryWatcher2.refCount) return;
        cache.delete(dirPath);
        directoryWatcher2.links = void 0;
        closeFileWatcherOf(directoryWatcher2);
        closeTargetWatcher(directoryWatcher2);
        directoryWatcher2.childWatches.forEach(closeFileWatcher);
      }
    };
  }
  function invokeCallbacks(dirName, dirPath, fileNameOrInvokeMap, fileNames) {
    var _a, _b;
    let fileName;
    let invokeMap;
    if (isString(fileNameOrInvokeMap)) {
      fileName = fileNameOrInvokeMap;
    } else {
      invokeMap = fileNameOrInvokeMap;
    }
    callbackCache.forEach((callbacks, rootDirName) => {
      if (invokeMap && invokeMap.get(rootDirName) === true) return;
      if (rootDirName === dirPath || startsWith(dirPath, rootDirName) && dirPath[rootDirName.length] === directorySeparator) {
        if (invokeMap) {
          if (fileNames) {
            const existing = invokeMap.get(rootDirName);
            if (existing) {
              existing.push(...fileNames);
            } else {
              invokeMap.set(rootDirName, fileNames.slice());
            }
          } else {
            invokeMap.set(rootDirName, true);
          }
        } else {
          callbacks.forEach(({ callback }) => callback(fileName));
        }
      }
    });
    (_b = (_a = cache.get(dirPath)) == null ? void 0 : _a.links) == null ? void 0 : _b.forEach((link) => {
      const toPathInLink = (fileName2) => combinePaths(link, getRelativePathFromDirectory(dirName, fileName2, toCanonicalFilePath));
      if (invokeMap) {
        invokeCallbacks(link, toCanonicalFilePath(link), invokeMap, fileNames == null ? void 0 : fileNames.map(toPathInLink));
      } else {
        invokeCallbacks(link, toCanonicalFilePath(link), toPathInLink(fileName));
      }
    });
  }
  function nonSyncUpdateChildWatches(dirName, dirPath, fileName, options) {
    const parentWatcher = cache.get(dirPath);
    if (parentWatcher && fileSystemEntryExists(dirName, 1 /* Directory */)) {
      scheduleUpdateChildWatches(dirName, dirPath, fileName, options);
      return;
    }
    invokeCallbacks(dirName, dirPath, fileName);
    closeTargetWatcher(parentWatcher);
    removeChildWatches(parentWatcher);
  }
  function scheduleUpdateChildWatches(dirName, dirPath, fileName, options) {
    const existing = cacheToUpdateChildWatches.get(dirPath);
    if (existing) {
      existing.fileNames.push(fileName);
    } else {
      cacheToUpdateChildWatches.set(dirPath, { dirName, options, fileNames: [fileName] });
    }
    if (timerToUpdateChildWatches) {
      clearTimeout2(timerToUpdateChildWatches);
      timerToUpdateChildWatches = void 0;
    }
    timerToUpdateChildWatches = setTimeout2(onTimerToUpdateChildWatches, 1e3, "timerToUpdateChildWatches");
  }
  function onTimerToUpdateChildWatches() {
    var _a;
    timerToUpdateChildWatches = void 0;
    sysLog(`sysLog:: onTimerToUpdateChildWatches:: ${cacheToUpdateChildWatches.size}`);
    const start = timestamp();
    const invokeMap = /* @__PURE__ */ new Map();
    while (!timerToUpdateChildWatches && cacheToUpdateChildWatches.size) {
      const result = cacheToUpdateChildWatches.entries().next();
      Debug.assert(!result.done);
      const { value: [dirPath, { dirName, options, fileNames }] } = result;
      cacheToUpdateChildWatches.delete(dirPath);
      const hasChanges = updateChildWatches(dirName, dirPath, options);
      if (!((_a = cache.get(dirPath)) == null ? void 0 : _a.targetWatcher)) invokeCallbacks(dirName, dirPath, invokeMap, hasChanges ? void 0 : fileNames);
    }
    sysLog(`sysLog:: invokingWatchers:: Elapsed:: ${timestamp() - start}ms:: ${cacheToUpdateChildWatches.size}`);
    callbackCache.forEach((callbacks, rootDirName) => {
      const existing = invokeMap.get(rootDirName);
      if (existing) {
        callbacks.forEach(({ callback, dirName }) => {
          if (isArray(existing)) {
            existing.forEach(callback);
          } else {
            callback(dirName);
          }
        });
      }
    });
    const elapsed = timestamp() - start;
    sysLog(`sysLog:: Elapsed:: ${elapsed}ms:: onTimerToUpdateChildWatches:: ${cacheToUpdateChildWatches.size} ${timerToUpdateChildWatches}`);
  }
  function removeChildWatches(parentWatcher) {
    if (!parentWatcher) return;
    const existingChildWatches = parentWatcher.childWatches;
    parentWatcher.childWatches = emptyArray;
    for (const childWatcher of existingChildWatches) {
      childWatcher.close();
      removeChildWatches(cache.get(toCanonicalFilePath(childWatcher.dirName)));
    }
  }
  function closeTargetWatcher(watcher) {
    if (watcher == null ? void 0 : watcher.targetWatcher) {
      watcher.targetWatcher.close();
      watcher.targetWatcher = void 0;
    }
  }
  function updateChildWatches(parentDir, parentDirPath, options) {
    const parentWatcher = cache.get(parentDirPath);
    if (!parentWatcher) return false;
    const target = normalizePath(realpath(parentDir));
    let hasChanges;
    let newChildWatches;
    if (filePathComparer(target, parentDir) === 0 /* EqualTo */) {
      hasChanges = enumerateInsertsAndDeletes(
        fileSystemEntryExists(parentDir, 1 /* Directory */) ? mapDefined(getAccessibleSortedChildDirectories(parentDir), (child) => {
          const childFullName = getNormalizedAbsolutePath(child, parentDir);
          return !isIgnoredPath(childFullName, options) && filePathComparer(childFullName, normalizePath(realpath(childFullName))) === 0 /* EqualTo */ ? childFullName : void 0;
        }) : emptyArray,
        parentWatcher.childWatches,
        (child, childWatcher) => filePathComparer(child, childWatcher.dirName),
        createAndAddChildDirectoryWatcher,
        closeFileWatcher,
        addChildDirectoryWatcher
      );
    } else if (parentWatcher.targetWatcher && filePathComparer(target, parentWatcher.targetWatcher.dirName) === 0 /* EqualTo */) {
      hasChanges = false;
      Debug.assert(parentWatcher.childWatches === emptyArray);
    } else {
      closeTargetWatcher(parentWatcher);
      parentWatcher.targetWatcher = createDirectoryWatcher(
        target,
        options,
        /*callback*/
        void 0,
        parentDir
      );
      parentWatcher.childWatches.forEach(closeFileWatcher);
      hasChanges = true;
    }
    parentWatcher.childWatches = newChildWatches || emptyArray;
    return hasChanges;
    function createAndAddChildDirectoryWatcher(childName) {
      const result = createDirectoryWatcher(childName, options);
      addChildDirectoryWatcher(result);
    }
    function addChildDirectoryWatcher(childWatcher) {
      (newChildWatches || (newChildWatches = [])).push(childWatcher);
    }
  }
  function isIgnoredPath(path, options) {
    return some(ignoredPaths, (searchPath) => isInPath(path, searchPath)) || isIgnoredByWatchOptions(path, options, useCaseSensitiveFileNames2, getCurrentDirectory);
  }
  function isInPath(path, searchPath) {
    if (path.includes(searchPath)) return true;
    if (useCaseSensitiveFileNames2) return false;
    return toCanonicalFilePath(path).includes(searchPath);
  }
}
function createFileWatcherCallback(callback) {
  return (_fileName, eventKind, modifiedTime) => callback(eventKind === 1 /* Changed */ ? "change" : "rename", "", modifiedTime);
}
function createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime3) {
  return (eventName, _relativeFileName, modifiedTime) => {
    if (eventName === "rename") {
      modifiedTime || (modifiedTime = getModifiedTime3(fileName) || missingFileModifiedTime);
      callback(fileName, modifiedTime !== missingFileModifiedTime ? 0 /* Created */ : 2 /* Deleted */, modifiedTime);
    } else {
      callback(fileName, 1 /* Changed */, modifiedTime);
    }
  };
}
function isIgnoredByWatchOptions(pathToCheck, options, useCaseSensitiveFileNames2, getCurrentDirectory) {
  return ((options == null ? void 0 : options.excludeDirectories) || (options == null ? void 0 : options.excludeFiles)) && (matchesExclude(pathToCheck, options == null ? void 0 : options.excludeFiles, useCaseSensitiveFileNames2, getCurrentDirectory()) || matchesExclude(pathToCheck, options == null ? void 0 : options.excludeDirectories, useCaseSensitiveFileNames2, getCurrentDirectory()));
}
function createFsWatchCallbackForDirectoryWatcherCallback(directoryName, callback, options, useCaseSensitiveFileNames2, getCurrentDirectory) {
  return (eventName, relativeFileName) => {
    if (eventName === "rename") {
      const fileName = !relativeFileName ? directoryName : normalizePath(combinePaths(directoryName, relativeFileName));
      if (!relativeFileName || !isIgnoredByWatchOptions(fileName, options, useCaseSensitiveFileNames2, getCurrentDirectory)) {
        callback(fileName);
      }
    }
  };
}
function createSystemWatchFunctions({
  pollingWatchFileWorker,
  getModifiedTime: getModifiedTime3,
  setTimeout: setTimeout2,
  clearTimeout: clearTimeout2,
  fsWatchWorker,
  fileSystemEntryExists,
  useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
  getCurrentDirectory,
  fsSupportsRecursiveFsWatch,
  getAccessibleSortedChildDirectories,
  realpath,
  tscWatchFile,
  useNonPollingWatchers,
  tscWatchDirectory,
  inodeWatching,
  fsWatchWithTimestamp,
  sysLog: sysLog2
}) {
  const pollingWatches = /* @__PURE__ */ new Map();
  const fsWatches = /* @__PURE__ */ new Map();
  const fsWatchesRecursive = /* @__PURE__ */ new Map();
  let dynamicPollingWatchFile;
  let fixedChunkSizePollingWatchFile;
  let nonPollingWatchFile;
  let hostRecursiveDirectoryWatcher;
  let hitSystemWatcherLimit = false;
  return {
    watchFile: watchFile2,
    watchDirectory
  };
  function watchFile2(fileName, callback, pollingInterval, options) {
    options = updateOptionsForWatchFile(options, useNonPollingWatchers);
    const watchFileKind = Debug.checkDefined(options.watchFile);
    switch (watchFileKind) {
      case 0 /* FixedPollingInterval */:
        return pollingWatchFile(
          fileName,
          callback,
          250 /* Low */,
          /*options*/
          void 0
        );
      case 1 /* PriorityPollingInterval */:
        return pollingWatchFile(
          fileName,
          callback,
          pollingInterval,
          /*options*/
          void 0
        );
      case 2 /* DynamicPriorityPolling */:
        return ensureDynamicPollingWatchFile()(
          fileName,
          callback,
          pollingInterval,
          /*options*/
          void 0
        );
      case 3 /* FixedChunkSizePolling */:
        return ensureFixedChunkSizePollingWatchFile()(
          fileName,
          callback,
          /* pollingInterval */
          void 0,
          /*options*/
          void 0
        );
      case 4 /* UseFsEvents */:
        return fsWatch(
          fileName,
          0 /* File */,
          createFsWatchCallbackForFileWatcherCallback(fileName, callback, getModifiedTime3),
          /*recursive*/
          false,
          pollingInterval,
          getFallbackOptions(options)
        );
      case 5 /* UseFsEventsOnParentDirectory */:
        if (!nonPollingWatchFile) {
          nonPollingWatchFile = createUseFsEventsOnParentDirectoryWatchFile(fsWatch, useCaseSensitiveFileNames2, getModifiedTime3, fsWatchWithTimestamp);
        }
        return nonPollingWatchFile(fileName, callback, pollingInterval, getFallbackOptions(options));
      default:
        Debug.assertNever(watchFileKind);
    }
  }
  function ensureDynamicPollingWatchFile() {
    return dynamicPollingWatchFile || (dynamicPollingWatchFile = createDynamicPriorityPollingWatchFile({ getModifiedTime: getModifiedTime3, setTimeout: setTimeout2 }));
  }
  function ensureFixedChunkSizePollingWatchFile() {
    return fixedChunkSizePollingWatchFile || (fixedChunkSizePollingWatchFile = createFixedChunkSizePollingWatchFile({ getModifiedTime: getModifiedTime3, setTimeout: setTimeout2 }));
  }
  function updateOptionsForWatchFile(options, useNonPollingWatchers2) {
    if (options && options.watchFile !== void 0) return options;
    switch (tscWatchFile) {
      case "PriorityPollingInterval":
        return { watchFile: 1 /* PriorityPollingInterval */ };
      case "DynamicPriorityPolling":
        return { watchFile: 2 /* DynamicPriorityPolling */ };
      case "UseFsEvents":
        return generateWatchFileOptions(4 /* UseFsEvents */, 1 /* PriorityInterval */, options);
      case "UseFsEventsWithFallbackDynamicPolling":
        return generateWatchFileOptions(4 /* UseFsEvents */, 2 /* DynamicPriority */, options);
      case "UseFsEventsOnParentDirectory":
        useNonPollingWatchers2 = true;
      // fall through
      default:
        return useNonPollingWatchers2 ? (
          // Use notifications from FS to watch with falling back to fs.watchFile
          generateWatchFileOptions(5 /* UseFsEventsOnParentDirectory */, 1 /* PriorityInterval */, options)
        ) : (
          // Default to using fs events
          { watchFile: 4 /* UseFsEvents */ }
        );
    }
  }
  function generateWatchFileOptions(watchFile3, fallbackPolling, options) {
    const defaultFallbackPolling = options == null ? void 0 : options.fallbackPolling;
    return {
      watchFile: watchFile3,
      fallbackPolling: defaultFallbackPolling === void 0 ? fallbackPolling : defaultFallbackPolling
    };
  }
  function watchDirectory(directoryName, callback, recursive, options) {
    if (fsSupportsRecursiveFsWatch) {
      return fsWatch(
        directoryName,
        1 /* Directory */,
        createFsWatchCallbackForDirectoryWatcherCallback(directoryName, callback, options, useCaseSensitiveFileNames2, getCurrentDirectory),
        recursive,
        500 /* Medium */,
        getFallbackOptions(options)
      );
    }
    if (!hostRecursiveDirectoryWatcher) {
      hostRecursiveDirectoryWatcher = createDirectoryWatcherSupportingRecursive({
        useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
        getCurrentDirectory,
        fileSystemEntryExists,
        getAccessibleSortedChildDirectories,
        watchDirectory: nonRecursiveWatchDirectory,
        realpath,
        setTimeout: setTimeout2,
        clearTimeout: clearTimeout2
      });
    }
    return hostRecursiveDirectoryWatcher(directoryName, callback, recursive, options);
  }
  function nonRecursiveWatchDirectory(directoryName, callback, recursive, options) {
    Debug.assert(!recursive);
    const watchDirectoryOptions = updateOptionsForWatchDirectory(options);
    const watchDirectoryKind = Debug.checkDefined(watchDirectoryOptions.watchDirectory);
    switch (watchDirectoryKind) {
      case 1 /* FixedPollingInterval */:
        return pollingWatchFile(
          directoryName,
          () => callback(directoryName),
          500 /* Medium */,
          /*options*/
          void 0
        );
      case 2 /* DynamicPriorityPolling */:
        return ensureDynamicPollingWatchFile()(
          directoryName,
          () => callback(directoryName),
          500 /* Medium */,
          /*options*/
          void 0
        );
      case 3 /* FixedChunkSizePolling */:
        return ensureFixedChunkSizePollingWatchFile()(
          directoryName,
          () => callback(directoryName),
          /* pollingInterval */
          void 0,
          /*options*/
          void 0
        );
      case 0 /* UseFsEvents */:
        return fsWatch(
          directoryName,
          1 /* Directory */,
          createFsWatchCallbackForDirectoryWatcherCallback(directoryName, callback, options, useCaseSensitiveFileNames2, getCurrentDirectory),
          recursive,
          500 /* Medium */,
          getFallbackOptions(watchDirectoryOptions)
        );
      default:
        Debug.assertNever(watchDirectoryKind);
    }
  }
  function updateOptionsForWatchDirectory(options) {
    if (options && options.watchDirectory !== void 0) return options;
    switch (tscWatchDirectory) {
      case "RecursiveDirectoryUsingFsWatchFile":
        return { watchDirectory: 1 /* FixedPollingInterval */ };
      case "RecursiveDirectoryUsingDynamicPriorityPolling":
        return { watchDirectory: 2 /* DynamicPriorityPolling */ };
      default:
        const defaultFallbackPolling = options == null ? void 0 : options.fallbackPolling;
        return {
          watchDirectory: 0 /* UseFsEvents */,
          fallbackPolling: defaultFallbackPolling !== void 0 ? defaultFallbackPolling : void 0
        };
    }
  }
  function pollingWatchFile(fileName, callback, pollingInterval, options) {
    return createSingleWatcherPerName(
      pollingWatches,
      useCaseSensitiveFileNames2,
      fileName,
      callback,
      (cb) => pollingWatchFileWorker(fileName, cb, pollingInterval, options)
    );
  }
  function fsWatch(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
    return createSingleWatcherPerName(
      recursive ? fsWatchesRecursive : fsWatches,
      useCaseSensitiveFileNames2,
      fileOrDirectory,
      callback,
      (cb) => fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, cb, recursive, fallbackPollingInterval, fallbackOptions)
    );
  }
  function fsWatchHandlingExistenceOnHost(fileOrDirectory, entryKind, callback, recursive, fallbackPollingInterval, fallbackOptions) {
    let lastDirectoryPartWithDirectorySeparator;
    let lastDirectoryPart;
    if (inodeWatching) {
      lastDirectoryPartWithDirectorySeparator = fileOrDirectory.substring(fileOrDirectory.lastIndexOf(directorySeparator));
      lastDirectoryPart = lastDirectoryPartWithDirectorySeparator.slice(directorySeparator.length);
    }
    let watcher = !fileSystemEntryExists(fileOrDirectory, entryKind) ? watchMissingFileSystemEntry() : watchPresentFileSystemEntry();
    return {
      close: () => {
        if (watcher) {
          watcher.close();
          watcher = void 0;
        }
      }
    };
    function updateWatcher(createWatcher) {
      if (watcher) {
        sysLog2(`sysLog:: ${fileOrDirectory}:: Changing watcher to ${createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing"}FileSystemEntryWatcher`);
        watcher.close();
        watcher = createWatcher();
      }
    }
    function watchPresentFileSystemEntry() {
      if (hitSystemWatcherLimit) {
        sysLog2(`sysLog:: ${fileOrDirectory}:: Defaulting to watchFile`);
        return watchPresentFileSystemEntryWithFsWatchFile();
      }
      try {
        const presentWatcher = (entryKind === 1 /* Directory */ || !fsWatchWithTimestamp ? fsWatchWorker : fsWatchWorkerHandlingTimestamp)(
          fileOrDirectory,
          recursive,
          inodeWatching ? callbackChangingToMissingFileSystemEntry : callback
        );
        presentWatcher.on("error", () => {
          callback("rename", "");
          updateWatcher(watchMissingFileSystemEntry);
        });
        return presentWatcher;
      } catch (e) {
        hitSystemWatcherLimit || (hitSystemWatcherLimit = e.code === "ENOSPC");
        sysLog2(`sysLog:: ${fileOrDirectory}:: Changing to watchFile`);
        return watchPresentFileSystemEntryWithFsWatchFile();
      }
    }
    function callbackChangingToMissingFileSystemEntry(event, relativeName) {
      let originalRelativeName;
      if (relativeName && endsWith(relativeName, "~")) {
        originalRelativeName = relativeName;
        relativeName = relativeName.slice(0, relativeName.length - 1);
      }
      if (event === "rename" && (!relativeName || relativeName === lastDirectoryPart || endsWith(relativeName, lastDirectoryPartWithDirectorySeparator))) {
        const modifiedTime = getModifiedTime3(fileOrDirectory) || missingFileModifiedTime;
        if (originalRelativeName) callback(event, originalRelativeName, modifiedTime);
        callback(event, relativeName, modifiedTime);
        if (inodeWatching) {
          updateWatcher(modifiedTime === missingFileModifiedTime ? watchMissingFileSystemEntry : watchPresentFileSystemEntry);
        } else if (modifiedTime === missingFileModifiedTime) {
          updateWatcher(watchMissingFileSystemEntry);
        }
      } else {
        if (originalRelativeName) callback(event, originalRelativeName);
        callback(event, relativeName);
      }
    }
    function watchPresentFileSystemEntryWithFsWatchFile() {
      return watchFile2(
        fileOrDirectory,
        createFileWatcherCallback(callback),
        fallbackPollingInterval,
        fallbackOptions
      );
    }
    function watchMissingFileSystemEntry() {
      return watchFile2(
        fileOrDirectory,
        (_fileName, eventKind, modifiedTime) => {
          if (eventKind === 0 /* Created */) {
            modifiedTime || (modifiedTime = getModifiedTime3(fileOrDirectory) || missingFileModifiedTime);
            if (modifiedTime !== missingFileModifiedTime) {
              callback("rename", "", modifiedTime);
              updateWatcher(watchPresentFileSystemEntry);
            }
          }
        },
        fallbackPollingInterval,
        fallbackOptions
      );
    }
  }
  function fsWatchWorkerHandlingTimestamp(fileOrDirectory, recursive, callback) {
    let modifiedTime = getModifiedTime3(fileOrDirectory) || missingFileModifiedTime;
    return fsWatchWorker(fileOrDirectory, recursive, (eventName, relativeFileName, currentModifiedTime) => {
      if (eventName === "change") {
        currentModifiedTime || (currentModifiedTime = getModifiedTime3(fileOrDirectory) || missingFileModifiedTime);
        if (currentModifiedTime.getTime() === modifiedTime.getTime()) return;
      }
      modifiedTime = currentModifiedTime || getModifiedTime3(fileOrDirectory) || missingFileModifiedTime;
      callback(eventName, relativeFileName, modifiedTime);
    });
  }
}
function patchWriteFileEnsuringDirectory(sys2) {
  const originalWriteFile = sys2.writeFile;
  sys2.writeFile = (path, data, writeBom) => writeFileEnsuringDirectories(
    path,
    data,
    !!writeBom,
    (path2, data2, writeByteOrderMark) => originalWriteFile.call(sys2, path2, data2, writeByteOrderMark),
    (path2) => sys2.createDirectory(path2),
    (path2) => sys2.directoryExists(path2)
  );
}
var sys = (() => {
  const byteOrderMarkIndicator = "\uFEFF";
  function getNodeSystem() {
    const nativePattern = /^native |^\([^)]+\)$|^(?:internal[\\/]|[\w\s]+(?:\.js)?$)/;
    const _fs = require("fs");
    const _path = require("path");
    const _os = require("os");
    let _crypto;
    try {
      _crypto = require("crypto");
    } catch {
      _crypto = void 0;
    }
    let activeSession;
    let profilePath = "./profile.cpuprofile";
    const isMacOs = process.platform === "darwin";
    const isLinuxOrMacOs = process.platform === "linux" || isMacOs;
    const statSyncOptions = { throwIfNoEntry: false };
    const platform = _os.platform();
    const useCaseSensitiveFileNames2 = isFileSystemCaseSensitive();
    const fsRealpath = !!_fs.realpathSync.native ? process.platform === "win32" ? fsRealPathHandlingLongPath : _fs.realpathSync.native : _fs.realpathSync;
    const executingFilePath = __filename.endsWith("sys.js") ? _path.join(_path.dirname(__dirname), "__fake__.js") : __filename;
    const fsSupportsRecursiveFsWatch = process.platform === "win32" || isMacOs;
    const getCurrentDirectory = memoize(() => process.cwd());
    const { watchFile: watchFile2, watchDirectory } = createSystemWatchFunctions({
      pollingWatchFileWorker: fsWatchFileWorker,
      getModifiedTime: getModifiedTime3,
      setTimeout,
      clearTimeout,
      fsWatchWorker,
      useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
      getCurrentDirectory,
      fileSystemEntryExists,
      // Node 4.0 `fs.watch` function supports the "recursive" option on both OSX and Windows
      // (ref: https://github.com/nodejs/node/pull/2649 and https://github.com/Microsoft/TypeScript/issues/4643)
      fsSupportsRecursiveFsWatch,
      getAccessibleSortedChildDirectories: (path) => getAccessibleFileSystemEntries(path).directories,
      realpath,
      tscWatchFile: process.env.TSC_WATCHFILE,
      useNonPollingWatchers: !!process.env.TSC_NONPOLLING_WATCHER,
      tscWatchDirectory: process.env.TSC_WATCHDIRECTORY,
      inodeWatching: isLinuxOrMacOs,
      fsWatchWithTimestamp: isMacOs,
      sysLog
    });
    const nodeSystem = {
      args: process.argv.slice(2),
      newLine: _os.EOL,
      useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
      write(s) {
        process.stdout.write(s);
      },
      getWidthOfTerminal() {
        return process.stdout.columns;
      },
      writeOutputIsTTY() {
        return process.stdout.isTTY;
      },
      readFile,
      writeFile: writeFile2,
      watchFile: watchFile2,
      watchDirectory,
      preferNonRecursiveWatch: !fsSupportsRecursiveFsWatch,
      resolvePath: (path) => _path.resolve(path),
      fileExists,
      directoryExists,
      getAccessibleFileSystemEntries,
      createDirectory(directoryName) {
        if (!nodeSystem.directoryExists(directoryName)) {
          try {
            _fs.mkdirSync(directoryName);
          } catch (e) {
            if (e.code !== "EEXIST") {
              throw e;
            }
          }
        }
      },
      getExecutingFilePath() {
        return executingFilePath;
      },
      getCurrentDirectory,
      getDirectories,
      getEnvironmentVariable(name) {
        return process.env[name] || "";
      },
      readDirectory,
      getModifiedTime: getModifiedTime3,
      setModifiedTime,
      deleteFile,
      createHash: _crypto ? createSHA256Hash : generateDjb2Hash,
      createSHA256Hash: _crypto ? createSHA256Hash : void 0,
      getMemoryUsage() {
        if (global.gc) {
          global.gc();
        }
        return process.memoryUsage().heapUsed;
      },
      getFileSize(path) {
        const stat = statSync(path);
        if (stat == null ? void 0 : stat.isFile()) {
          return stat.size;
        }
        return 0;
      },
      exit(exitCode) {
        disableCPUProfiler(() => process.exit(exitCode));
      },
      enableCPUProfiler,
      disableCPUProfiler,
      cpuProfilingEnabled: () => !!activeSession || contains(process.execArgv, "--cpu-prof") || contains(process.execArgv, "--prof"),
      realpath,
      debugMode: !!process.env.NODE_INSPECTOR_IPC || !!process.env.VSCODE_INSPECTOR_OPTIONS || some(process.execArgv, (arg) => /^--(?:inspect|debug)(?:-brk)?(?:=\d+)?$/i.test(arg)) || !!process.recordreplay,
      tryEnableSourceMapsForHost() {
        try {
          require("source-map-support").install();
        } catch {
        }
      },
      setTimeout,
      clearTimeout,
      clearScreen: () => {
        process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
      },
      setBlocking: () => {
        var _a;
        const handle = (_a = process.stdout) == null ? void 0 : _a._handle;
        if (handle && handle.setBlocking) {
          handle.setBlocking(true);
        }
      },
      base64decode: (input) => Buffer.from(input, "base64").toString("utf8"),
      base64encode: (input) => Buffer.from(input).toString("base64"),
      require: (baseDir, moduleName) => {
        try {
          const modulePath = resolveJSModule(moduleName, baseDir, nodeSystem);
          return { module: require(modulePath), modulePath, error: void 0 };
        } catch (error) {
          return { module: void 0, modulePath: void 0, error };
        }
      }
    };
    return nodeSystem;
    function statSync(path) {
      try {
        return _fs.statSync(path, statSyncOptions);
      } catch {
        return void 0;
      }
    }
    function enableCPUProfiler(path, cb) {
      if (activeSession) {
        cb();
        return false;
      }
      const inspector = require("inspector");
      if (!inspector || !inspector.Session) {
        cb();
        return false;
      }
      const session = new inspector.Session();
      session.connect();
      session.post("Profiler.enable", () => {
        session.post("Profiler.start", () => {
          activeSession = session;
          profilePath = path;
          cb();
        });
      });
      return true;
    }
    function cleanupPaths(profile) {
      let externalFileCounter = 0;
      const remappedPaths = /* @__PURE__ */ new Map();
      const normalizedDir = normalizeSlashes(_path.dirname(executingFilePath));
      const fileUrlRoot = `file://${getRootLength(normalizedDir) === 1 ? "" : "/"}${normalizedDir}`;
      for (const node of profile.nodes) {
        if (node.callFrame.url) {
          const url = normalizeSlashes(node.callFrame.url);
          if (containsPath(fileUrlRoot, url, useCaseSensitiveFileNames2)) {
            node.callFrame.url = getRelativePathToDirectoryOrUrl(
              fileUrlRoot,
              url,
              fileUrlRoot,
              createGetCanonicalFileName(useCaseSensitiveFileNames2),
              /*isAbsolutePathAnUrl*/
              true
            );
          } else if (!nativePattern.test(url)) {
            node.callFrame.url = (remappedPaths.has(url) ? remappedPaths : remappedPaths.set(url, `external${externalFileCounter}.js`)).get(url);
            externalFileCounter++;
          }
        }
      }
      return profile;
    }
    function disableCPUProfiler(cb) {
      if (activeSession && activeSession !== "stopping") {
        const s = activeSession;
        activeSession.post("Profiler.stop", (err, { profile }) => {
          var _a;
          if (!err) {
            if ((_a = statSync(profilePath)) == null ? void 0 : _a.isDirectory()) {
              profilePath = _path.join(profilePath, `${(/* @__PURE__ */ new Date()).toISOString().replace(/:/g, "-")}+P${process.pid}.cpuprofile`);
            }
            try {
              _fs.mkdirSync(_path.dirname(profilePath), { recursive: true });
            } catch {
            }
            _fs.writeFileSync(profilePath, JSON.stringify(cleanupPaths(profile)));
          }
          activeSession = void 0;
          s.disconnect();
          cb();
        });
        activeSession = "stopping";
        return true;
      } else {
        cb();
        return false;
      }
    }
    function isFileSystemCaseSensitive() {
      if (platform === "win32" || platform === "win64") {
        return false;
      }
      return !fileExists(swapCase(__filename));
    }
    function swapCase(s) {
      return s.replace(/\w/g, (ch) => {
        const up = ch.toUpperCase();
        return ch === up ? ch.toLowerCase() : up;
      });
    }
    function fsWatchFileWorker(fileName, callback, pollingInterval) {
      _fs.watchFile(fileName, { persistent: true, interval: pollingInterval }, fileChanged);
      let eventKind;
      return {
        close: () => _fs.unwatchFile(fileName, fileChanged)
      };
      function fileChanged(curr, prev) {
        const isPreviouslyDeleted = +prev.mtime === 0 || eventKind === 2 /* Deleted */;
        if (+curr.mtime === 0) {
          if (isPreviouslyDeleted) {
            return;
          }
          eventKind = 2 /* Deleted */;
        } else if (isPreviouslyDeleted) {
          eventKind = 0 /* Created */;
        } else if (+curr.mtime === +prev.mtime) {
          return;
        } else {
          eventKind = 1 /* Changed */;
        }
        callback(fileName, eventKind, curr.mtime);
      }
    }
    function fsWatchWorker(fileOrDirectory, recursive, callback) {
      return _fs.watch(
        fileOrDirectory,
        fsSupportsRecursiveFsWatch ? { persistent: true, recursive: !!recursive } : { persistent: true },
        callback
      );
    }
    function readFile(fileName, _encoding) {
      let buffer;
      try {
        buffer = _fs.readFileSync(fileName);
      } catch {
        return void 0;
      }
      let len = buffer.length;
      if (len >= 2 && buffer[0] === 254 && buffer[1] === 255) {
        len &= ~1;
        for (let i = 0; i < len; i += 2) {
          const temp = buffer[i];
          buffer[i] = buffer[i + 1];
          buffer[i + 1] = temp;
        }
        return buffer.toString("utf16le", 2);
      }
      if (len >= 2 && buffer[0] === 255 && buffer[1] === 254) {
        return buffer.toString("utf16le", 2);
      }
      if (len >= 3 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
        return buffer.toString("utf8", 3);
      }
      return buffer.toString("utf8");
    }
    function writeFile2(fileName, data, writeByteOrderMark) {
      if (writeByteOrderMark) {
        data = byteOrderMarkIndicator + data;
      }
      let fd;
      try {
        fd = _fs.openSync(fileName, "w");
        _fs.writeSync(
          fd,
          data,
          /*position*/
          void 0,
          "utf8"
        );
      } finally {
        if (fd !== void 0) {
          _fs.closeSync(fd);
        }
      }
    }
    function getAccessibleFileSystemEntries(path) {
      try {
        const entries = _fs.readdirSync(path || ".", { withFileTypes: true });
        const files = [];
        const directories = [];
        for (const dirent of entries) {
          const entry = typeof dirent === "string" ? dirent : dirent.name;
          if (entry === "." || entry === "..") {
            continue;
          }
          let stat;
          if (typeof dirent === "string" || dirent.isSymbolicLink()) {
            const name = combinePaths(path, entry);
            stat = statSync(name);
            if (!stat) {
              continue;
            }
          } else {
            stat = dirent;
          }
          if (stat.isFile()) {
            files.push(entry);
          } else if (stat.isDirectory()) {
            directories.push(entry);
          }
        }
        files.sort();
        directories.sort();
        return { files, directories };
      } catch {
        return emptyFileSystemEntries;
      }
    }
    function readDirectory(path, extensions, excludes, includes, depth) {
      return matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames2, process.cwd(), depth, getAccessibleFileSystemEntries, realpath);
    }
    function fileSystemEntryExists(path, entryKind) {
      const stat = statSync(path);
      if (!stat) {
        return false;
      }
      switch (entryKind) {
        case 0 /* File */:
          return stat.isFile();
        case 1 /* Directory */:
          return stat.isDirectory();
        default:
          return false;
      }
    }
    function fileExists(path) {
      return fileSystemEntryExists(path, 0 /* File */);
    }
    function directoryExists(path) {
      return fileSystemEntryExists(path, 1 /* Directory */);
    }
    function getDirectories(path) {
      return getAccessibleFileSystemEntries(path).directories.slice();
    }
    function fsRealPathHandlingLongPath(path) {
      return path.length < 260 ? _fs.realpathSync.native(path) : _fs.realpathSync(path);
    }
    function realpath(path) {
      try {
        return fsRealpath(path);
      } catch {
        return path;
      }
    }
    function getModifiedTime3(path) {
      var _a;
      return (_a = statSync(path)) == null ? void 0 : _a.mtime;
    }
    function setModifiedTime(path, time) {
      try {
        _fs.utimesSync(path, time, time);
      } catch {
        return;
      }
    }
    function deleteFile(path) {
      try {
        return _fs.unlinkSync(path);
      } catch {
        return;
      }
    }
    function createSHA256Hash(data) {
      const hash = _crypto.createHash("sha256");
      hash.update(data);
      return hash.digest("hex");
    }
  }
  let sys2;
  if (isNodeLikeSystem()) {
    sys2 = getNodeSystem();
  }
  if (sys2) {
    patchWriteFileEnsuringDirectory(sys2);
  }
  return sys2;
})();
if (sys && sys.getEnvironmentVariable) {
  setCustomPollingValues(sys);
  Debug.setAssertionLevel(
    /^development$/i.test(sys.getEnvironmentVariable("NODE_ENV")) ? 1 /* Normal */ : 0 /* None */
  );
}
if (sys && sys.debugMode) {
  Debug.isDebugging = true;
}

// src/compiler/path.ts
var directorySeparator = "/";
var altDirectorySeparator = "\\";
var urlSchemeSeparator = "://";
var backslashRegExp = /\\/g;
function isAnyDirectorySeparator(charCode) {
  return charCode === 47 /* slash */ || charCode === 92 /* backslash */;
}
function isRootedDiskPath(path) {
  return getEncodedRootLength(path) > 0;
}
function isDiskPathRoot(path) {
  const rootLength = getEncodedRootLength(path);
  return rootLength > 0 && rootLength === path.length;
}
function pathIsAbsolute(path) {
  return getEncodedRootLength(path) !== 0;
}
function pathIsRelative(path) {
  return /^\.\.?(?:$|[\\/])/.test(path);
}
function pathIsBareSpecifier(path) {
  return !pathIsAbsolute(path) && !pathIsRelative(path);
}
function hasExtension(fileName) {
  return getBaseFileName(fileName).includes(".");
}
function fileExtensionIs(path, extension) {
  return path.length > extension.length && endsWith(path, extension);
}
function fileExtensionIsOneOf(path, extensions) {
  for (const extension of extensions) {
    if (fileExtensionIs(path, extension)) {
      return true;
    }
  }
  return false;
}
function hasTrailingDirectorySeparator(path) {
  return path.length > 0 && isAnyDirectorySeparator(path.charCodeAt(path.length - 1));
}
function isVolumeCharacter(charCode) {
  return charCode >= 97 /* a */ && charCode <= 122 /* z */ || charCode >= 65 /* A */ && charCode <= 90 /* Z */;
}
function getFileUrlVolumeSeparatorEnd(url, start) {
  const ch0 = url.charCodeAt(start);
  if (ch0 === 58 /* colon */) return start + 1;
  if (ch0 === 37 /* percent */ && url.charCodeAt(start + 1) === 51 /* _3 */) {
    const ch2 = url.charCodeAt(start + 2);
    if (ch2 === 97 /* a */ || ch2 === 65 /* A */) return start + 3;
  }
  return -1;
}
function getEncodedRootLength(path) {
  if (!path) return 0;
  const ch0 = path.charCodeAt(0);
  if (ch0 === 47 /* slash */ || ch0 === 92 /* backslash */) {
    if (path.charCodeAt(1) !== ch0) return 1;
    const p1 = path.indexOf(ch0 === 47 /* slash */ ? directorySeparator : altDirectorySeparator, 2);
    if (p1 < 0) return path.length;
    return p1 + 1;
  }
  if (isVolumeCharacter(ch0) && path.charCodeAt(1) === 58 /* colon */) {
    const ch2 = path.charCodeAt(2);
    if (ch2 === 47 /* slash */ || ch2 === 92 /* backslash */) return 3;
    if (path.length === 2) return 2;
  }
  const schemeEnd = path.indexOf(urlSchemeSeparator);
  if (schemeEnd !== -1) {
    const authorityStart = schemeEnd + urlSchemeSeparator.length;
    const authorityEnd = path.indexOf(directorySeparator, authorityStart);
    if (authorityEnd !== -1) {
      const scheme = path.slice(0, schemeEnd);
      const authority = path.slice(authorityStart, authorityEnd);
      if (scheme === "file" && (authority === "" || authority === "localhost") && isVolumeCharacter(path.charCodeAt(authorityEnd + 1))) {
        const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2);
        if (volumeSeparatorEnd !== -1) {
          if (path.charCodeAt(volumeSeparatorEnd) === 47 /* slash */) {
            return ~(volumeSeparatorEnd + 1);
          }
          if (volumeSeparatorEnd === path.length) {
            return ~volumeSeparatorEnd;
          }
        }
      }
      return ~(authorityEnd + 1);
    }
    return ~path.length;
  }
  return 0;
}
function getRootLength(path) {
  const rootLength = getEncodedRootLength(path);
  return rootLength < 0 ? ~rootLength : rootLength;
}
function getDirectoryPath(path) {
  path = normalizeSlashes(path);
  const rootLength = getRootLength(path);
  if (rootLength === path.length) return path;
  path = removeTrailingDirectorySeparator(path);
  return path.slice(0, Math.max(rootLength, path.lastIndexOf(directorySeparator)));
}
function getBaseFileName(path, extensions, ignoreCase) {
  path = normalizeSlashes(path);
  const rootLength = getRootLength(path);
  if (rootLength === path.length) return "";
  path = removeTrailingDirectorySeparator(path);
  const name = path.slice(Math.max(getRootLength(path), path.lastIndexOf(directorySeparator) + 1));
  const extension = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(name, extensions, ignoreCase) : void 0;
  return extension ? name.slice(0, name.length - extension.length) : name;
}
function tryGetExtensionFromPath(path, extension, stringEqualityComparer) {
  if (!startsWith(extension, ".")) extension = "." + extension;
  if (path.length >= extension.length && path.charCodeAt(path.length - extension.length) === 46 /* dot */) {
    const pathExtension = path.slice(path.length - extension.length);
    if (stringEqualityComparer(pathExtension, extension)) {
      return pathExtension;
    }
  }
}
function getAnyExtensionFromPathWorker(path, extensions, stringEqualityComparer) {
  if (typeof extensions === "string") {
    return tryGetExtensionFromPath(path, extensions, stringEqualityComparer) || "";
  }
  for (const extension of extensions) {
    const result = tryGetExtensionFromPath(path, extension, stringEqualityComparer);
    if (result) return result;
  }
  return "";
}
function getAnyExtensionFromPath(path, extensions, ignoreCase) {
  if (extensions) {
    return getAnyExtensionFromPathWorker(removeTrailingDirectorySeparator(path), extensions, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive);
  }
  const baseFileName = getBaseFileName(path);
  const extensionIndex = baseFileName.lastIndexOf(".");
  if (extensionIndex >= 0) {
    return baseFileName.substring(extensionIndex);
  }
  return "";
}
function pathComponents(path, rootLength) {
  const root = path.substring(0, rootLength);
  const rest = path.substring(rootLength).split(directorySeparator);
  if (rest.length && !lastOrUndefined(rest)) rest.pop();
  return [root, ...rest];
}
function getPathComponents(path, currentDirectory = "") {
  path = combinePaths(currentDirectory, path);
  return pathComponents(path, getRootLength(path));
}
function getPathFromPathComponents(pathComponents2, length2) {
  if (pathComponents2.length === 0) return "";
  const root = pathComponents2[0] && ensureTrailingDirectorySeparator(pathComponents2[0]);
  return root + pathComponents2.slice(1, length2).join(directorySeparator);
}
function normalizeSlashes(path) {
  return path.includes("\\") ? path.replace(backslashRegExp, directorySeparator) : path;
}
function reducePathComponents(components) {
  if (!some(components)) return [];
  const reduced = [components[0]];
  for (let i = 1; i < components.length; i++) {
    const component = components[i];
    if (!component) continue;
    if (component === ".") continue;
    if (component === "..") {
      if (reduced.length > 1) {
        if (reduced[reduced.length - 1] !== "..") {
          reduced.pop();
          continue;
        }
      } else if (reduced[0]) continue;
    }
    reduced.push(component);
  }
  return reduced;
}
function combinePaths(path, ...paths) {
  if (path) path = normalizeSlashes(path);
  for (let relativePath of paths) {
    if (!relativePath) continue;
    relativePath = normalizeSlashes(relativePath);
    if (!path || getRootLength(relativePath) !== 0) {
      path = relativePath;
    } else {
      path = ensureTrailingDirectorySeparator(path) + relativePath;
    }
  }
  return path;
}
function resolvePath(path, ...paths) {
  return normalizePath(some(paths) ? combinePaths(path, ...paths) : normalizeSlashes(path));
}
function getNormalizedPathComponents(path, currentDirectory) {
  return reducePathComponents(getPathComponents(path, currentDirectory));
}
function getNormalizedAbsolutePath(fileName, currentDirectory) {
  return getPathFromPathComponents(getNormalizedPathComponents(fileName, currentDirectory));
}
function normalizePath(path) {
  path = normalizeSlashes(path);
  if (!relativePathSegmentRegExp.test(path)) {
    return path;
  }
  const simplified = path.replace(/\/\.\//g, "/").replace(/^\.\//, "");
  if (simplified !== path) {
    path = simplified;
    if (!relativePathSegmentRegExp.test(path)) {
      return path;
    }
  }
  const normalized = getPathFromPathComponents(reducePathComponents(getPathComponents(path)));
  return normalized && hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(normalized) : normalized;
}
function getPathWithoutRoot(pathComponents2) {
  if (pathComponents2.length === 0) return "";
  return pathComponents2.slice(1).join(directorySeparator);
}
function getNormalizedAbsolutePathWithoutRoot(fileName, currentDirectory) {
  return getPathWithoutRoot(getNormalizedPathComponents(fileName, currentDirectory));
}
function toPath(fileName, basePath, getCanonicalFileName) {
  const nonCanonicalizedPath = isRootedDiskPath(fileName) ? normalizePath(fileName) : getNormalizedAbsolutePath(fileName, basePath);
  return getCanonicalFileName(nonCanonicalizedPath);
}
function removeTrailingDirectorySeparator(path) {
  if (hasTrailingDirectorySeparator(path)) {
    return path.substr(0, path.length - 1);
  }
  return path;
}
function ensureTrailingDirectorySeparator(path) {
  if (!hasTrailingDirectorySeparator(path)) {
    return path + directorySeparator;
  }
  return path;
}
function ensurePathIsNonModuleName(path) {
  return !pathIsAbsolute(path) && !pathIsRelative(path) ? "./" + path : path;
}
function changeAnyExtension(path, ext, extensions, ignoreCase) {
  const pathext = extensions !== void 0 && ignoreCase !== void 0 ? getAnyExtensionFromPath(path, extensions, ignoreCase) : getAnyExtensionFromPath(path);
  return pathext ? path.slice(0, path.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path;
}
function changeFullExtension(path, newExtension) {
  const declarationExtension = getDeclarationFileExtension(path);
  if (declarationExtension) {
    return path.slice(0, path.length - declarationExtension.length) + (startsWith(newExtension, ".") ? newExtension : "." + newExtension);
  }
  return changeAnyExtension(path, newExtension);
}
var relativePathSegmentRegExp = /\/\/|(?:^|\/)\.\.?(?:$|\/)/;
function comparePathsWorker(a, b, componentComparer) {
  if (a === b) return 0 /* EqualTo */;
  if (a === void 0) return -1 /* LessThan */;
  if (b === void 0) return 1 /* GreaterThan */;
  const aRoot = a.substring(0, getRootLength(a));
  const bRoot = b.substring(0, getRootLength(b));
  const result = compareStringsCaseInsensitive(aRoot, bRoot);
  if (result !== 0 /* EqualTo */) {
    return result;
  }
  const aRest = a.substring(aRoot.length);
  const bRest = b.substring(bRoot.length);
  if (!relativePathSegmentRegExp.test(aRest) && !relativePathSegmentRegExp.test(bRest)) {
    return componentComparer(aRest, bRest);
  }
  const aComponents = reducePathComponents(getPathComponents(a));
  const bComponents = reducePathComponents(getPathComponents(b));
  const sharedLength = Math.min(aComponents.length, bComponents.length);
  for (let i = 1; i < sharedLength; i++) {
    const result2 = componentComparer(aComponents[i], bComponents[i]);
    if (result2 !== 0 /* EqualTo */) {
      return result2;
    }
  }
  return compareValues(aComponents.length, bComponents.length);
}
function comparePaths(a, b, currentDirectory, ignoreCase) {
  if (typeof currentDirectory === "string") {
    a = combinePaths(currentDirectory, a);
    b = combinePaths(currentDirectory, b);
  } else if (typeof currentDirectory === "boolean") {
    ignoreCase = currentDirectory;
  }
  return comparePathsWorker(a, b, getStringComparer(ignoreCase));
}
function containsPath(parent, child, currentDirectory, ignoreCase) {
  if (typeof currentDirectory === "string") {
    parent = combinePaths(currentDirectory, parent);
    child = combinePaths(currentDirectory, child);
  } else if (typeof currentDirectory === "boolean") {
    ignoreCase = currentDirectory;
  }
  if (parent === void 0 || child === void 0) return false;
  if (parent === child) return true;
  const parentComponents = reducePathComponents(getPathComponents(parent));
  const childComponents = reducePathComponents(getPathComponents(child));
  if (childComponents.length < parentComponents.length) {
    return false;
  }
  const componentEqualityComparer = ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive;
  for (let i = 0; i < parentComponents.length; i++) {
    const equalityComparer = i === 0 ? equateStringsCaseInsensitive : componentEqualityComparer;
    if (!equalityComparer(parentComponents[i], childComponents[i])) {
      return false;
    }
  }
  return true;
}
function startsWithDirectory(fileName, directoryName, getCanonicalFileName) {
  const canonicalFileName = getCanonicalFileName(fileName);
  const canonicalDirectoryName = getCanonicalFileName(directoryName);
  return startsWith(canonicalFileName, canonicalDirectoryName + "/") || startsWith(canonicalFileName, canonicalDirectoryName + "\\");
}
function getPathComponentsRelativeTo(from, to, stringEqualityComparer, getCanonicalFileName) {
  const fromComponents = reducePathComponents(getPathComponents(from));
  const toComponents = reducePathComponents(getPathComponents(to));
  let start;
  for (start = 0; start < fromComponents.length && start < toComponents.length; start++) {
    const fromComponent = getCanonicalFileName(fromComponents[start]);
    const toComponent = getCanonicalFileName(toComponents[start]);
    const comparer = start === 0 ? equateStringsCaseInsensitive : stringEqualityComparer;
    if (!comparer(fromComponent, toComponent)) break;
  }
  if (start === 0) {
    return toComponents;
  }
  const components = toComponents.slice(start);
  const relative = [];
  for (; start < fromComponents.length; start++) {
    relative.push("..");
  }
  return ["", ...relative, ...components];
}
function getRelativePathFromDirectory(fromDirectory, to, getCanonicalFileNameOrIgnoreCase) {
  Debug.assert(getRootLength(fromDirectory) > 0 === getRootLength(to) > 0, "Paths must either both be absolute or both be relative");
  const getCanonicalFileName = typeof getCanonicalFileNameOrIgnoreCase === "function" ? getCanonicalFileNameOrIgnoreCase : identity;
  const ignoreCase = typeof getCanonicalFileNameOrIgnoreCase === "boolean" ? getCanonicalFileNameOrIgnoreCase : false;
  const pathComponents2 = getPathComponentsRelativeTo(fromDirectory, to, ignoreCase ? equateStringsCaseInsensitive : equateStringsCaseSensitive, getCanonicalFileName);
  return getPathFromPathComponents(pathComponents2);
}
function convertToRelativePath(absoluteOrRelativePath, basePath, getCanonicalFileName) {
  return !isRootedDiskPath(absoluteOrRelativePath) ? absoluteOrRelativePath : getRelativePathToDirectoryOrUrl(
    basePath,
    absoluteOrRelativePath,
    basePath,
    getCanonicalFileName,
    /*isAbsolutePathAnUrl*/
    false
  );
}
function getRelativePathFromFile(from, to, getCanonicalFileName) {
  return ensurePathIsNonModuleName(getRelativePathFromDirectory(getDirectoryPath(from), to, getCanonicalFileName));
}
function getRelativePathToDirectoryOrUrl(directoryPathOrUrl, relativeOrAbsolutePath, currentDirectory, getCanonicalFileName, isAbsolutePathAnUrl) {
  const pathComponents2 = getPathComponentsRelativeTo(
    resolvePath(currentDirectory, directoryPathOrUrl),
    resolvePath(currentDirectory, relativeOrAbsolutePath),
    equateStringsCaseSensitive,
    getCanonicalFileName
  );
  const firstComponent = pathComponents2[0];
  if (isAbsolutePathAnUrl && isRootedDiskPath(firstComponent)) {
    const prefix = firstComponent.charAt(0) === directorySeparator ? "file://" : "file:///";
    pathComponents2[0] = prefix + firstComponent;
  }
  return getPathFromPathComponents(pathComponents2);
}
function forEachAncestorDirectory(directory, callback) {
  while (true) {
    const result = callback(directory);
    if (result !== void 0) {
      return result;
    }
    const parentPath = getDirectoryPath(directory);
    if (parentPath === directory) {
      return void 0;
    }
    directory = parentPath;
  }
}
function isNodeModulesDirectory(dirPath) {
  return endsWith(dirPath, "/node_modules");
}

// src/compiler/diagnosticInformationMap.generated.ts
function diag(code, category, key, message, reportsUnnecessary, elidedInCompatabilityPyramid, reportsDeprecated) {
  return { code, category, key, message, reportsUnnecessary, elidedInCompatabilityPyramid, reportsDeprecated };
}
var Diagnostics = {
  Unterminated_string_literal: diag(1002, 1 /* Error */, "Unterminated_string_literal_1002", "Unterminated string literal."),
  Identifier_expected: diag(1003, 1 /* Error */, "Identifier_expected_1003", "Identifier expected."),
  _0_expected: diag(1005, 1 /* Error */, "_0_expected_1005", "'{0}' expected."),
  A_file_cannot_have_a_reference_to_itself: diag(1006, 1 /* Error */, "A_file_cannot_have_a_reference_to_itself_1006", "A file cannot have a reference to itself."),
  The_parser_expected_to_find_a_1_to_match_the_0_token_here: diag(1007, 1 /* Error */, "The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007", "The parser expected to find a '{1}' to match the '{0}' token here."),
  Trailing_comma_not_allowed: diag(1009, 1 /* Error */, "Trailing_comma_not_allowed_1009", "Trailing comma not allowed."),
  Asterisk_Slash_expected: diag(1010, 1 /* Error */, "Asterisk_Slash_expected_1010", "'*/' expected."),
  An_element_access_expression_should_take_an_argument: diag(1011, 1 /* Error */, "An_element_access_expression_should_take_an_argument_1011", "An element access expression should take an argument."),
  Unexpected_token: diag(1012, 1 /* Error */, "Unexpected_token_1012", "Unexpected token."),
  A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma: diag(1013, 1 /* Error */, "A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013", "A rest parameter or binding pattern may not have a trailing comma."),
  A_rest_parameter_must_be_last_in_a_parameter_list: diag(1014, 1 /* Error */, "A_rest_parameter_must_be_last_in_a_parameter_list_1014", "A rest parameter must be last in a parameter list."),
  Parameter_cannot_have_question_mark_and_initializer: diag(1015, 1 /* Error */, "Parameter_cannot_have_question_mark_and_initializer_1015", "Parameter cannot have question mark and initializer."),
  A_required_parameter_cannot_follow_an_optional_parameter: diag(1016, 1 /* Error */, "A_required_parameter_cannot_follow_an_optional_parameter_1016", "A required parameter cannot follow an optional parameter."),
  An_index_signature_cannot_have_a_rest_parameter: diag(1017, 1 /* Error */, "An_index_signature_cannot_have_a_rest_parameter_1017", "An index signature cannot have a rest parameter."),
  An_index_signature_parameter_cannot_have_an_accessibility_modifier: diag(1018, 1 /* Error */, "An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018", "An index signature parameter cannot have an accessibility modifier."),
  An_index_signature_parameter_cannot_have_a_question_mark: diag(1019, 1 /* Error */, "An_index_signature_parameter_cannot_have_a_question_mark_1019", "An index signature parameter cannot have a question mark."),
  An_index_signature_parameter_cannot_have_an_initializer: diag(1020, 1 /* Error */, "An_index_signature_parameter_cannot_have_an_initializer_1020", "An index signature parameter cannot have an initializer."),
  An_index_signature_must_have_a_type_annotation: diag(1021, 1 /* Error */, "An_index_signature_must_have_a_type_annotation_1021", "An index signature must have a type annotation."),
  An_index_signature_parameter_must_have_a_type_annotation: diag(1022, 1 /* Error */, "An_index_signature_parameter_must_have_a_type_annotation_1022", "An index signature parameter must have a type annotation."),
  readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature: diag(1024, 1 /* Error */, "readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024", "'readonly' modifier can only appear on a property declaration or index signature."),
  An_index_signature_cannot_have_a_trailing_comma: diag(1025, 1 /* Error */, "An_index_signature_cannot_have_a_trailing_comma_1025", "An index signature cannot have a trailing comma."),
  Accessibility_modifier_already_seen: diag(1028, 1 /* Error */, "Accessibility_modifier_already_seen_1028", "Accessibility modifier already seen."),
  _0_modifier_must_precede_1_modifier: diag(1029, 1 /* Error */, "_0_modifier_must_precede_1_modifier_1029", "'{0}' modifier must precede '{1}' modifier."),
  _0_modifier_already_seen: diag(1030, 1 /* Error */, "_0_modifier_already_seen_1030", "'{0}' modifier already seen."),
  _0_modifier_cannot_appear_on_class_elements_of_this_kind: diag(1031, 1 /* Error */, "_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031", "'{0}' modifier cannot appear on class elements of this kind."),
  super_must_be_followed_by_an_argument_list_or_member_access: diag(1034, 1 /* Error */, "super_must_be_followed_by_an_argument_list_or_member_access_1034", "'super' must be followed by an argument list or member access."),
  Only_ambient_modules_can_use_quoted_names: diag(1035, 1 /* Error */, "Only_ambient_modules_can_use_quoted_names_1035", "Only ambient modules can use quoted names."),
  Statements_are_not_allowed_in_ambient_contexts: diag(1036, 1 /* Error */, "Statements_are_not_allowed_in_ambient_contexts_1036", "Statements are not allowed in ambient contexts."),
  A_declare_modifier_cannot_be_used_in_an_already_ambient_context: diag(1038, 1 /* Error */, "A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038", "A 'declare' modifier cannot be used in an already ambient context."),
  Initializers_are_not_allowed_in_ambient_contexts: diag(1039, 1 /* Error */, "Initializers_are_not_allowed_in_ambient_contexts_1039", "Initializers are not allowed in ambient contexts."),
  _0_modifier_cannot_be_used_in_an_ambient_context: diag(1040, 1 /* Error */, "_0_modifier_cannot_be_used_in_an_ambient_context_1040", "'{0}' modifier cannot be used in an ambient context."),
  _0_modifier_cannot_be_used_here: diag(1042, 1 /* Error */, "_0_modifier_cannot_be_used_here_1042", "'{0}' modifier cannot be used here."),
  _0_modifier_cannot_appear_on_a_module_or_namespace_element: diag(1044, 1 /* Error */, "_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044", "'{0}' modifier cannot appear on a module or namespace element."),
  Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier: diag(1046, 1 /* Error */, "Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046", "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."),
  A_rest_parameter_cannot_be_optional: diag(1047, 1 /* Error */, "A_rest_parameter_cannot_be_optional_1047", "A rest parameter cannot be optional."),
  A_rest_parameter_cannot_have_an_initializer: diag(1048, 1 /* Error */, "A_rest_parameter_cannot_have_an_initializer_1048", "A rest parameter cannot have an initializer."),
  A_set_accessor_must_have_exactly_one_parameter: diag(1049, 1 /* Error */, "A_set_accessor_must_have_exactly_one_parameter_1049", "A 'set' accessor must have exactly one parameter."),
  A_set_accessor_cannot_have_an_optional_parameter: diag(1051, 1 /* Error */, "A_set_accessor_cannot_have_an_optional_parameter_1051", "A 'set' accessor cannot have an optional parameter."),
  A_set_accessor_parameter_cannot_have_an_initializer: diag(1052, 1 /* Error */, "A_set_accessor_parameter_cannot_have_an_initializer_1052", "A 'set' accessor parameter cannot have an initializer."),
  A_set_accessor_cannot_have_rest_parameter: diag(1053, 1 /* Error */, "A_set_accessor_cannot_have_rest_parameter_1053", "A 'set' accessor cannot have rest parameter."),
  A_get_accessor_cannot_have_parameters: diag(1054, 1 /* Error */, "A_get_accessor_cannot_have_parameters_1054", "A 'get' accessor cannot have parameters."),
  Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value: diag(1055, 1 /* Error */, "Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compa_1055", "Type '{0}' is not a valid async function return type in ES5 because it does not refer to a Promise-compatible constructor value."),
  Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: diag(1056, 1 /* Error */, "Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056", "Accessors are only available when targeting ECMAScript 5 and higher."),
  The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1058, 1 /* Error */, "The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058", "The return type of an async function must either be a valid promise or must not contain a callable 'then' member."),
  A_promise_must_have_a_then_method: diag(1059, 1 /* Error */, "A_promise_must_have_a_then_method_1059", "A promise must have a 'then' method."),
  The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback: diag(1060, 1 /* Error */, "The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060", "The first parameter of the 'then' method of a promise must be a callback."),
  Enum_member_must_have_initializer: diag(1061, 1 /* Error */, "Enum_member_must_have_initializer_1061", "Enum member must have initializer."),
  Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method: diag(1062, 1 /* Error */, "Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062", "Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),
  An_export_assignment_cannot_be_used_in_a_namespace: diag(1063, 1 /* Error */, "An_export_assignment_cannot_be_used_in_a_namespace_1063", "An export assignment cannot be used in a namespace."),
  The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0: diag(1064, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064", "The return type of an async function or method must be the global Promise<T> type. Did you mean to write 'Promise<{0}>'?"),
  The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type: diag(1065, 1 /* Error */, "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1065", "The return type of an async function or method must be the global Promise<T> type."),
  In_ambient_enum_declarations_member_initializer_must_be_constant_expression: diag(1066, 1 /* Error */, "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066", "In ambient enum declarations member initializer must be constant expression."),
  Unexpected_token_A_constructor_method_accessor_or_property_was_expected: diag(1068, 1 /* Error */, "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068", "Unexpected token. A constructor, method, accessor, or property was expected."),
  Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces: diag(1069, 1 /* Error */, "Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069", "Unexpected token. A type parameter name was expected without curly braces."),
  _0_modifier_cannot_appear_on_a_type_member: diag(1070, 1 /* Error */, "_0_modifier_cannot_appear_on_a_type_member_1070", "'{0}' modifier cannot appear on a type member."),
  _0_modifier_cannot_appear_on_an_index_signature: diag(1071, 1 /* Error */, "_0_modifier_cannot_appear_on_an_index_signature_1071", "'{0}' modifier cannot appear on an index signature."),
  A_0_modifier_cannot_be_used_with_an_import_declaration: diag(1079, 1 /* Error */, "A_0_modifier_cannot_be_used_with_an_import_declaration_1079", "A '{0}' modifier cannot be used with an import declaration."),
  Invalid_reference_directive_syntax: diag(1084, 1 /* Error */, "Invalid_reference_directive_syntax_1084", "Invalid 'reference' directive syntax."),
  _0_modifier_cannot_appear_on_a_constructor_declaration: diag(1089, 1 /* Error */, "_0_modifier_cannot_appear_on_a_constructor_declaration_1089", "'{0}' modifier cannot appear on a constructor declaration."),
  _0_modifier_cannot_appear_on_a_parameter: diag(1090, 1 /* Error */, "_0_modifier_cannot_appear_on_a_parameter_1090", "'{0}' modifier cannot appear on a parameter."),
  Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: diag(1091, 1 /* Error */, "Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091", "Only a single variable declaration is allowed in a 'for...in' statement."),
  Type_parameters_cannot_appear_on_a_constructor_declaration: diag(1092, 1 /* Error */, "Type_parameters_cannot_appear_on_a_constructor_declaration_1092", "Type parameters cannot appear on a constructor declaration."),
  Type_annotation_cannot_appear_on_a_constructor_declaration: diag(1093, 1 /* Error */, "Type_annotation_cannot_appear_on_a_constructor_declaration_1093", "Type annotation cannot appear on a constructor declaration."),
  An_accessor_cannot_have_type_parameters: diag(1094, 1 /* Error */, "An_accessor_cannot_have_type_parameters_1094", "An accessor cannot have type parameters."),
  A_set_accessor_cannot_have_a_return_type_annotation: diag(1095, 1 /* Error */, "A_set_accessor_cannot_have_a_return_type_annotation_1095", "A 'set' accessor cannot have a return type annotation."),
  An_index_signature_must_have_exactly_one_parameter: diag(1096, 1 /* Error */, "An_index_signature_must_have_exactly_one_parameter_1096", "An index signature must have exactly one parameter."),
  _0_list_cannot_be_empty: diag(1097, 1 /* Error */, "_0_list_cannot_be_empty_1097", "'{0}' list cannot be empty."),
  Type_parameter_list_cannot_be_empty: diag(1098, 1 /* Error */, "Type_parameter_list_cannot_be_empty_1098", "Type parameter list cannot be empty."),
  Type_argument_list_cannot_be_empty: diag(1099, 1 /* Error */, "Type_argument_list_cannot_be_empty_1099", "Type argument list cannot be empty."),
  Invalid_use_of_0_in_strict_mode: diag(1100, 1 /* Error */, "Invalid_use_of_0_in_strict_mode_1100", "Invalid use of '{0}' in strict mode."),
  with_statements_are_not_allowed_in_strict_mode: diag(1101, 1 /* Error */, "with_statements_are_not_allowed_in_strict_mode_1101", "'with' statements are not allowed in strict mode."),
  delete_cannot_be_called_on_an_identifier_in_strict_mode: diag(1102, 1 /* Error */, "delete_cannot_be_called_on_an_identifier_in_strict_mode_1102", "'delete' cannot be called on an identifier in strict mode."),
  for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: diag(1103, 1 /* Error */, "for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103", "'for await' loops are only allowed within async functions and at the top levels of modules."),
  A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: diag(1104, 1 /* Error */, "A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104", "A 'continue' statement can only be used within an enclosing iteration statement."),
  A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: diag(1105, 1 /* Error */, "A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105", "A 'break' statement can only be used within an enclosing iteration or switch statement."),
  The_left_hand_side_of_a_for_of_statement_may_not_be_async: diag(1106, 1 /* Error */, "The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106", "The left-hand side of a 'for...of' statement may not be 'async'."),
  Jump_target_cannot_cross_function_boundary: diag(1107, 1 /* Error */, "Jump_target_cannot_cross_function_boundary_1107", "Jump target cannot cross function boundary."),
  A_return_statement_can_only_be_used_within_a_function_body: diag(1108, 1 /* Error */, "A_return_statement_can_only_be_used_within_a_function_body_1108", "A 'return' statement can only be used within a function body."),
  Expression_expected: diag(1109, 1 /* Error */, "Expression_expected_1109", "Expression expected."),
  Type_expected: diag(1110, 1 /* Error */, "Type_expected_1110", "Type expected."),
  Private_field_0_must_be_declared_in_an_enclosing_class: diag(1111, 1 /* Error */, "Private_field_0_must_be_declared_in_an_enclosing_class_1111", "Private field '{0}' must be declared in an enclosing class."),
  A_default_clause_cannot_appear_more_than_once_in_a_switch_statement: diag(1113, 1 /* Error */, "A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113", "A 'default' clause cannot appear more than once in a 'switch' statement."),
  Duplicate_label_0: diag(1114, 1 /* Error */, "Duplicate_label_0_1114", "Duplicate label '{0}'."),
  A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement: diag(1115, 1 /* Error */, "A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115", "A 'continue' statement can only jump to a label of an enclosing iteration statement."),
  A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement: diag(1116, 1 /* Error */, "A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116", "A 'break' statement can only jump to a label of an enclosing statement."),
  An_object_literal_cannot_have_multiple_properties_with_the_same_name: diag(1117, 1 /* Error */, "An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117", "An object literal cannot have multiple properties with the same name."),
  An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name: diag(1118, 1 /* Error */, "An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118", "An object literal cannot have multiple get/set accessors with the same name."),
  An_object_literal_cannot_have_property_and_accessor_with_the_same_name: diag(1119, 1 /* Error */, "An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119", "An object literal cannot have property and accessor with the same name."),
  An_export_assignment_cannot_have_modifiers: diag(1120, 1 /* Error */, "An_export_assignment_cannot_have_modifiers_1120", "An export assignment cannot have modifiers."),
  Octal_literals_are_not_allowed_Use_the_syntax_0: diag(1121, 1 /* Error */, "Octal_literals_are_not_allowed_Use_the_syntax_0_1121", "Octal literals are not allowed. Use the syntax '{0}'."),
  Variable_declaration_list_cannot_be_empty: diag(1123, 1 /* Error */, "Variable_declaration_list_cannot_be_empty_1123", "Variable declaration list cannot be empty."),
  Digit_expected: diag(1124, 1 /* Error */, "Digit_expected_1124", "Digit expected."),
  Hexadecimal_digit_expected: diag(1125, 1 /* Error */, "Hexadecimal_digit_expected_1125", "Hexadecimal digit expected."),
  Unexpected_end_of_text: diag(1126, 1 /* Error */, "Unexpected_end_of_text_1126", "Unexpected end of text."),
  Invalid_character: diag(1127, 1 /* Error */, "Invalid_character_1127", "Invalid character."),
  Declaration_or_statement_expected: diag(1128, 1 /* Error */, "Declaration_or_statement_expected_1128", "Declaration or statement expected."),
  Statement_expected: diag(1129, 1 /* Error */, "Statement_expected_1129", "Statement expected."),
  case_or_default_expected: diag(1130, 1 /* Error */, "case_or_default_expected_1130", "'case' or 'default' expected."),
  Property_or_signature_expected: diag(1131, 1 /* Error */, "Property_or_signature_expected_1131", "Property or signature expected."),
  Enum_member_expected: diag(1132, 1 /* Error */, "Enum_member_expected_1132", "Enum member expected."),
  Variable_declaration_expected: diag(1134, 1 /* Error */, "Variable_declaration_expected_1134", "Variable declaration expected."),
  Argument_expression_expected: diag(1135, 1 /* Error */, "Argument_expression_expected_1135", "Argument expression expected."),
  Property_assignment_expected: diag(1136, 1 /* Error # Convert POD data to formatted *roff input.
#
# This module translates POD documentation into *roff markup using the man
# macro set, and is intended for converting POD documents written as Unix
# manual pages to manual pages that can be read by the man(1) command.  It is
# a replacement for the pod2man command distributed with versions of Perl
# prior to 5.6.
#
# SPDX-License-Identifier: GPL-1.0-or-later OR Artistic-1.0-Perl

##############################################################################
# Modules and declarations
##############################################################################

package Pod::Man;

use 5.008;
use strict;
use warnings;

use subs qw(makespace);
use vars qw(@ISA %ESCAPES $PREAMBLE $VERSION);

use Carp qw(carp croak);
use Pod::Simple ();

# Conditionally import Encode and set $HAS_ENCODE if it is available.  This is
# required to support building as part of Perl core, since podlators is built
# before Encode is.
our $HAS_ENCODE;
BEGIN {
    $HAS_ENCODE = eval { require Encode };
}

@ISA = qw(Pod::Simple);

$VERSION = '4.14';

# Set the debugging level.  If someone has inserted a debug function into this
# class already, use that.  Otherwise, use any Pod::Simple debug function
# that's defined, and failing that, define a debug level of 10.
BEGIN {
    my $parent = defined (&Pod::Simple::DEBUG) ? \&Pod::Simple::DEBUG : undef;
    unless (defined &DEBUG) {
        *DEBUG = $parent || sub () { 10 };
    }
}

# Import the ASCII constant from Pod::Simple.  This is true iff we're in an
# ASCII-based universe (including such things as ISO 8859-1 and UTF-8), and is
# generally only false for EBCDIC.
BEGIN { *ASCII = \&Pod::Simple::ASCII }

# Pretty-print a data structure.  Only used for debugging.
BEGIN { *pretty = \&Pod::Simple::pretty }

# Formatting instructions for various types of blocks.  cleanup makes hyphens
# hard, adds spaces between consecutive underscores, and escapes backslashes.
# convert translates characters into escapes.  guesswork means to apply the
# transformations done by the guesswork sub.  literal says to protect literal
# quotes from being turned into UTF-8 quotes.  By default, all transformations
# are on except literal, but some elements override.
#
# DEFAULT specifies the default settings.  All other elements should list only
# those settings that they are overriding.  Data indicates =for roff blocks,
# which should be passed along completely verbatim.
#
# Formatting inherits negatively, in the sense that if the parent has turned
# off guesswork, all child elements should leave it off.
my %FORMATTING = (
    DEFAULT  => { cleanup => 1, convert => 1, guesswork => 1, literal => 0 },
    Data     => { cleanup => 0, convert => 0, guesswork => 0, literal => 0 },
    Verbatim => {                             guesswork => 0, literal => 1 },
    C        => {                             guesswork => 0, literal => 1 },
    X        => { cleanup => 0,               guesswork => 0               },
);

##############################################################################
# Object initialization
##############################################################################

# Initialize the object and set various Pod::Simple options that we need.
# Here, we also process any additional options passed to the constructor or
# set up defaults if none were given.  Note that all internal object keys are
# in all-caps, reserving all lower-case object keys for Pod::Simple and user
# arguments.
sub new {
    my $class = shift;
    my $self = $class->SUPER::new;

    # Tell Pod::Simple not to handle S<> by automatically inserting &nbsp;.
    $self->nbsp_for_S (1);

    # Tell Pod::Simple to keep whitespace whenever possible.
    if (my $preserve_whitespace = $self->can ('preserve_whitespace')) {
        $self->$preserve_whitespace (1);
    } else {
        $self->fullstop_space_harden (1);
    }

    # The =for and =begin targets that we accept.
    $self->accept_targets (qw/man MAN roff ROFF/);

    # Ensure that contiguous blocks of code are merged together.  Otherwise,
    # some of the guesswork heuristics don't work right.
    $self->merge_text (1);

    # Pod::Simple doesn't do anything useful with our arguments, but we want
    # to put them in our object as hash keys and values.  This could cause
    # problems if we ever clash with Pod::Simple's own internal class
    # variables.
    %$self = (%$self, @_);

    # Send errors to stderr if requested.
    if ($$self{stderr} and not $$self{errors}) {
        $$self{errors} = 'stderr';
    }
    delete $$self{stderr};

    # Validate the errors parameter and act on it.
    if (not defined $$self{errors}) {
        $$self{errors} = 'pod';
    }
    if ($$self{errors} eq 'stderr' || $$self{errors} eq 'die') {
        $self->no_errata_section (1);
        $self->complain_stderr (1);
        if ($$self{errors} eq 'die') {
            $$self{complain_die} = 1;
        }
    } elsif ($$self{errors} eq 'pod') {
        $self->no_errata_section (0);
        $self->complain_stderr (0);
    } elsif ($$self{errors} eq 'none') {
        $self->no_errata_section (1);
        $self->no_whining (1);
    } else {
        croak (qq(Invalid errors setting: "$$self{errors}"));
    }
    delete $$self{errors};

    # Degrade back to non-utf8 if Encode is not available.
    #
    # Suppress the warning message when PERL_CORE is set, indicating this is
    # running as part of the core Perl build.  Perl builds podlators (and all
    # pure Perl modules) before Encode and other XS modules, so Encode won't
    # yet be available.  Rely on the Perl core build to generate man pages
    # later, after all the modules are available, so that UTF-8 handling will
    # be correct.
    if ($$self{utf8} and !$HAS_ENCODE) {
        if (!$ENV{PERL_CORE}) {
            carp ('utf8 mode requested but Encode module not available,'
                    . ' falling back to non-utf8');
        }
        delete $$self{utf8};
    }

    # Initialize various other internal constants based on our arguments.
    $self->init_fonts;
    $self->init_quotes;
    $self->init_page;

    # For right now, default to turning on all of the magic.
    $$self{MAGIC_CPP}       = 1;
    $$self{MAGIC_EMDASH}    = 1;
    $$self{MAGIC_FUNC}      = 1;
    $$self{MAGIC_MANREF}    = 1;
    $$self{MAGIC_SMALLCAPS} = 1;
    $$self{MAGIC_VARS}      = 1;

    return $self;
}

# Translate a font string into an escape.
sub toescape { (length ($_[0]) > 1 ? '\f(' : '\f') . $_[0] }

# Determine which fonts the user wishes to use and store them in the object.
# Regular, italic, bold, and bold-italic are constants, but the fixed width
# fonts may be set by the user.  Sets the internal hash key FONTS which is
# used to map our internal font escapes to actual *roff sequences later.
sub init_fonts {
    my ($self) = @_;

    # Figure out the fixed-width font.  If user-supplied, make sure that they
    # are the right length.
    for (qw/fixed fixedbold fixeditalic fixedbolditalic/) {
        my $font = $$self{$_};
        if (defined ($font) && (length ($font) < 1 || length ($font) > 2)) {
            croak qq(roff font should be 1 or 2 chars, not "$font");
        }
    }

    # Set the default fonts.  We can't be sure portably across different
    # implementations what fixed bold-italic may be called (if it's even
    # available), so default to just bold.
    $$self{fixed}           ||= 'CW';
    $$self{fixedbold}       ||= 'CB';
    $$self{fixeditalic}     ||= 'CI';
    $$self{fixedbolditalic} ||= 'CB';

    # Set up a table of font escapes.  First number is fixed-width, second is
    # bold, third is italic.
    $$self{FONTS} = { '000' => '\fR', '001' => '\fI',
                      '010' => '\fB', '011' => '\f(BI',
                      '100' => toescape ($$self{fixed}),
                      '101' => toescape ($$self{fixeditalic}),
                      '110' => toescape ($$self{fixedbold}),
                      '111' => toescape ($$self{fixedbolditalic}) };
}

# Initialize the quotes that we'll be using for C<> text.  This requires some
# special handling, both to parse the user parameters if given and to make
# sure that the quotes will be safe against *roff.  Sets the internal hash
# keys LQUOTE and RQUOTE.
sub init_quotes {
    my ($self) = (@_);

    # Handle the quotes option first, which sets both quotes at once.
    $$self{quotes} ||= '"';
    if ($$self{quotes} eq 'none') {
        $$self{LQUOTE} = $$self{RQUOTE} = '';
    } elsif (length ($$self{quotes}) == 1) {
        $$self{LQUOTE} = $$self{RQUOTE} = $$self{quotes};
    } elsif (length ($$self{quotes}) % 2 == 0) {
        my $length = length ($$self{quotes}) / 2;
        $$self{LQUOTE} = substr ($$self{quotes}, 0, $length);
        $$self{RQUOTE} = substr ($$self{quotes}, $length);
    } else {
        croak(qq(Invalid quote specification "$$self{quotes}"))
    }

    # Now handle the lquote and rquote options.
    if (defined $$self{lquote}) {
        $$self{LQUOTE} = $$self{lquote} eq 'none' ? q{} : $$self{lquote};
    }
    if (defined $$self{rquote}) {
        $$self{RQUOTE} = $$self{rquote} eq 'none' ? q{} : $$self{rquote};
    }

    # Double the first quote; note that this should not be s///g as two double
    # quotes is represented in *roff as three double quotes, not four.  Weird,
    # I know.
    $$self{LQUOTE} =~ s/\"/\"\"/;
    $$self{RQUOTE} =~ s/\"/\"\"/;
}

# Initialize the page title information and indentation from our arguments.
sub init_page {
    my ($self) = @_;

    # Get the version from the running Perl.
    my @version = ($] =~ /^(\d+)\.(\d{3})(\d+)$/);
    for (@version) { $_ += 0 }
    my $version = join ('.', @version);

    # Set the defaults for page titles and indentation if the user didn't
    # override anything.
    $$self{center} = 'User Contributed Perl Documentation'
        unless defined $$self{center};
    $$self{release} = 'perl v' . $version
        unless defined $$self{release};
    $$self{indent} = 4
        unless defined $$self{indent};

    # Double quotes in things that will be quoted.
    for (qw/center release/) {
        $$self{$_} =~ s/\"/\"\"/g if $$self{$_};
    }
}

##############################################################################
# Core parsing
##############################################################################

# This is the glue that connects the code below with Pod::Simple itself.  The
# goal is to convert the event stream coming from the POD parser into method
# calls to handlers once the complete content of a tag has been seen.  Each
# paragraph or POD command will have textual content associated with it, and
# as soon as all of a paragraph or POD command has been seen, that content
# will be passed in to the corresponding method for handling that type of
# object.  The exceptions are handlers for lists, which have opening tag
# handlers and closing tag handlers that will be called right away.
#
# The internal hash key PENDING is used to store the contents of a tag until
# all of it has been seen.  It holds a stack of open tags, each one
# represented by a tuple of the attributes hash for the tag, formatting
# options for the tag (which are inherited), and the contents of the tag.

# Add a block of text to the contents of the current node, formatting it
# according to the current formatting instructions as we do.
sub _handle_text {
    my ($self, $text) = @_;
    DEBUG > 3 and print "== $text\n";
    my $tag = $$self{PENDING}[-1];
    $$tag[2] .= $self->format_text ($$tag[1], $text);
}

# Given an element name, get the corresponding method name.
sub method_for_element {
    my ($self, $element) = @_;
    $element =~ tr/A-Z-/a-z_/;
    $element =~ tr/_a-z0-9//cd;
    return $element;
}

# Handle the start of a new element.  If cmd_element is defined, assume that
# we need to collect the entire tree for this element before passing it to the
# element method, and create a new tree into which we'll collect blocks of
# text and nested elements.  Otherwise, if start_element is defined, call it.
sub _handle_element_start {
    my ($self, $element, $attrs) = @_;
    DEBUG > 3 and print "++ $element (<", join ('> <', %$attrs), ">)\n";
    my $method = $self->method_for_element ($element);

    # If we have a command handler, we need to accumulate the contents of the
    # tag before calling it.  Turn off IN_NAME for any command other than
    # <Para> and the formatting codes so that IN_NAME isn't still set for the
    # first heading after the NAME heading.
    if ($self->can ("cmd_$method")) {
        DEBUG > 2 and print "<$element> starts saving a tag\n";
        $$self{IN_NAME} = 0 if ($element ne 'Para' && length ($element) > 1);

        # How we're going to format embedded text blocks depends on the tag
        # and also depends on our parent tags.  Thankfully, inside tags that
        # turn off guesswork and reformatting, nothing else can turn it back
        # on, so this can be strictly inherited.
        my $formatting = {
            %{ $$self{PENDING}[-1][1] || $FORMATTING{DEFAULT} },
            %{ $FORMATTING{$element} || {} },
        };
        push (@{ $$self{PENDING} }, [ $attrs, $formatting, '' ]);
        DEBUG > 4 and print "Pending: [", pretty ($$self{PENDING}), "]\n";
    } elsif (my $start_method = $self->can ("start_$method")) {
        $self->$start_method ($attrs, '');
    } else {
        DEBUG > 2 and print "No $method start method, skipping\n";
    }
}

# Handle the end of an element.  If we had a cmd_ method for this element,
# this is where we pass along the tree that we built.  Otherwise, if we have
# an end_ method for the element, call that.
sub _handle_element_end {
    my ($self, $element) = @_;
    DEBUG > 3 and print "-- $element\n";
    my $method = $self->method_for_element ($element);

    # If we have a command handler, pull off the pending text and pass it to
    # the handler along with the saved attribute hash.
    if (my $cmd_method = $self->can ("cmd_$method")) {
        DEBUG > 2 and print "</$element> stops saving a tag\n";
        my $tag = pop @{ $$self{PENDING} };
        DEBUG > 4 and print "Popped: [", pretty ($tag), "]\n";
        DEBUG > 4 and print "Pending: [", pretty ($$self{PENDING}), "]\n";
        my $text = $self->$cmd_method ($$tag[0], $$tag[2]);
        if (defined $text) {
            if (@{ $$self{PENDING} } > 1) {
                $$self{PENDING}[-1][2] .= $text;
            } else {
                $self->output ($text);
            }
        }
    } elsif (my $end_method = $self->can ("end_$method")) {
        $self->$end_method ();
    } else {
        DEBUG > 2 and print "No $method end method, skipping\n";
    }
}

##############################################################################
# General formatting
##############################################################################

# Format a text block.  Takes a hash of formatting options and the text to
# format.  Currently, the only formatting options are guesswork, cleanup, and
# convert, all of which are boolean.
sub format_text {
    my ($self, $options, $text) = @_;
    my $guesswork = $$options{guesswork} && !$$self{IN_NAME};
    my $cleanup = $$options{cleanup};
    my $convert = $$options{convert};
    my $literal = $$options{literal};

    # Cleanup just tidies up a few things, telling *roff that the hyphens are
    # hard, putting a bit of space between consecutive underscores, and
    # escaping backslashes.  Be careful not to mangle our character
    # translations by doing this before processing character translation.
    if ($cleanup) {
        $text =~ s/\\/\\e/g;
        $text =~ s/-/\\-/g;
        $text =~ s/_(?=_)/_\\|/g;
    }

    # Normally we do character translation, but we won't even do that in
    # <Data> blocks or if UTF-8 output is desired.
    if ($convert && !$$self{utf8} && ASCII) {
        $text =~ s/([^\x00-\x7F])/$ESCAPES{ord ($1)} || "X"/eg;
    }

    # Ensure that *roff doesn't convert literal quotes to UTF-8 single quotes,
    # but don't mess up our accept escapes.
    if ($literal) {
        $text =~ s/(?<!\\\*)\'/\\*\(Aq/g;
        $text =~ s/(?<!\\\*)\`/\\\`/g;
    }

    # If guesswork is asked for, do that.  This involves more substantial
    # formatting based on various heuristics that may only be appropriate for
    # particular documents.
    if ($guesswork) {
        $text = $self->guesswork ($text);
    }

    return $text;
}

# Handles C<> text, deciding whether to put \*C` around it or not.  This is a
# whole bunch of messy heuristics to try to avoid overquoting, originally from
# Barrie Slaymaker.  This largely duplicates similar code in Pod::Text.
sub quote_literal {
    my $self = shift;
    local $_ = shift;

    # A regex that matches the portion of a variable reference that's the
    # array or hash index, separated out just because we want to use it in
    # several places in the following regex.
    my $index = '(?: \[.*\] | \{.*\} )?';

    # If in NAME section, just return an ASCII quoted string to avoid
    # confusing tools like whatis.
    return qq{"$_"} if $$self{IN_NAME};

    # Check for things that we don't want to quote, and if we find any of
    # them, return the string with just a font change and no quoting.
    m{
      ^\s*
      (?:
         ( [\'\`\"] ) .* \1                             # already quoted
       | \\\*\(Aq .* \\\*\(Aq                           # quoted and escaped
       | \\?\` .* ( \' | \\\*\(Aq )                     # `quoted'
       | \$+ [\#^]? \S $index                           # special ($^Foo, $")
       | [\$\@%&*]+ \#? [:\'\w]+ $index                 # plain var or func
       | [\$\@%&*]* [:\'\w]+ (?: -> )? \(\s*[^\s,]\s*\) # 0/1-arg func call
       | [-+]? ( \d[\d.]* | \.\d+ ) (?: [eE][-+]?\d+ )? # a number
       | 0x [a-fA-F\d]+                                 # a hex constant
      )
      \s*\z
     }xso and return '\f(FS' . $_ . '\f(FE';

    # If we didn't return, go ahead and quote the text.
    return '\f(FS\*(C`' . $_ . "\\*(C'\\f(FE";
}

# Takes a text block to perform guesswork on.  Returns the text block with
# formatting codes added.  This is the code that marks up various Perl
# constructs and things commonly used in man pages without requiring the user
# to add any explicit markup, and is applied to all non-literal text.  We're
# guaranteed that the text we're applying guesswork to does not contain any
# *roff formatting codes.  Note that the inserted font sequences must be
# treated later with mapfonts or textmapfonts.
#
# This method is very fragile, both in the regular expressions it uses and in
# the ordering of those modifications.  Care and testing is required when
# modifying it.
sub guesswork {
    my $self = shift;
    local $_ = shift;
    DEBUG > 5 and print "   Guesswork called on [$_]\n";

    # By the time we reach this point, all hyphens will be escaped by adding a
    # backslash.  We want to undo that escaping if they're part of regular
    # words and there's only a single dash, since that's a real hyphen that
    # *roff gets to consider a possible break point.  Make sure that a dash
    # after the first character of a word stays non-breaking, however.
    #
    # Note that this is not user-controllable; we pretty much have to do this
    # transformation or *roff will mangle the output in unacceptable ways.
    s{
        ( (?:\G|^|\s) [\(\"]* [a-zA-Z] ) ( \\- )?
        ( (?: [a-zA-Z\']+ \\-)+ )
        ( [a-zA-Z\']+ ) (?= [\)\".?!,;:]* (?:\s|\Z|\\\ ) )
        \b
    } {
        my ($prefix, $hyphen, $main, $suffix) = ($1, $2, $3, $4);
        $hyphen ||= '';
        $main =~ s/\\-/-/g;
        $prefix . $hyphen . $main . $suffix;
    }egx;

    # Translate "--" into a real em-dash if it's used like one.  This means
    # that it's either surrounded by whitespace, it follows a regular word, or
    # it occurs between two regular words.
    if ($$self{MAGIC_EMDASH}) {
        s{          (\s) \\-\\- (\s)                } { $1 . '\*(--' . $2 }egx;
        s{ (\b[a-zA-Z]+) \\-\\- (\s|\Z|[a-zA-Z]+\b) } { $1 . '\*(--' . $2 }egx;
    }

    # Make words in all-caps a little bit smaller; they look better that way.
    # However, we don't want to change Perl code (like @ARGV), nor do we want
    # to fix the MIME in MIME-Version since it looks weird with the
    # full-height V.
    #
    # We change only a string of all caps (2) either at the beginning of the
    # line or following regular punctuation (like quotes) or whitespace (1),
    # and followed by either similar punctuation, an em-dash, or the end of
    # the line (3).
    #
    # Allow the text we're changing to small caps to include double quotes,
    # commas, newlines, and periods as long as it doesn't otherwise interrupt
    # the string of small caps and still fits the criteria.  This lets us turn
    # entire warranty disclaimers in man page output into small caps.
    if ($$self{MAGIC_SMALLCAPS}) {
        s{
            ( ^ | [\s\(\"\'\`\[\{<>] | \\[ ]  )                           # (1)
            ( [A-Z] [A-Z] (?: \s? [/A-Z+:\d_\$&] | \\- | \s? [.,\"] )* )  # (2)
            (?= [\s>\}\]\(\)\'\".?!,;] | \\*\(-- | \\[ ] | $ )            # (3)
        } {
            $1 . '\s-1' . $2 . '\s0'
        }egx;
    }

    # Note that from this point forward, we have to adjust for \s-1 and \s-0
    # strings inserted around things that we've made small-caps if later
    # transforms should work on those strings.

    # Embolden functions in the form func(), including functions that are in
    # all capitals, but don't embolden if there's anything between the parens.
    # The function must start with an alphabetic character or underscore and
    # then consist of word characters or colons.
    if ($$self{MAGIC_FUNC}) {
        s{
            ( \b | \\s-1 )
            ( [A-Za-z_] ([:\w] | \\s-?[01])+ \(\) )
        } {
            $1 . '\f(BS' . $2 . '\f(BE'
        }egx;
    }

    # Change references to manual pages to put the page name in bold but
    # the number in the regular font, with a thin space between the name and
    # the number.  Only recognize func(n) where func starts with an alphabetic
    # character or underscore and contains only word characters, periods (for
    # configuration file man pages), or colons, and n is a single digit,
    # optionally followed by some number of lowercase letters.  Note that this
    # does not recognize man page references like perl(l) or socket(3SOCKET).
    if ($$self{MAGIC_MANREF}) {
        s{
            ( \b | \\s-1 )
            (?<! \\ )                                   # rule out \s0(1)
            ( [A-Za-z_] (?:[.:\w] | \\- | \\s-?[01])+ )
            ( \( \d [a-z]* \) )
        } {
            $1 . '\f(BS' . $2 . '\f(BE\|' . $3
        }egx;
    }

    # Convert simple Perl variable references to a fixed-width font.  Be
    # careful not to convert functions, though; there are too many subtleties
    # with them to want to perform this transformation.
    if ($$self{MAGIC_VARS}) {
        s{
           ( ^ | \s+ )
           ( [\$\@%] [\w:]+ )
           (?! \( )
        } {
            $1 . '\f(FS' . $2 . '\f(FE'
        }egx;
    }

    # Fix up double quotes.  Unfortunately, we miss this transformation if the
    # quoted text contains any code with formatting codes and there's not much
    # we can effectively do about that, which makes it somewhat unclear if
    # this is really a good idea.
    s{ \" ([^\"]+) \" } { '\*(L"' . $1 . '\*(R"' }egx;

    # Make C++ into \*(C+, which is a squinched version.
    if ($$self{MAGIC_CPP}) {
        s{ \b C\+\+ } {\\*\(C+}gx;
    }

    # Done.
    DEBUG > 5 and print "   Guesswork returning [$_]\n";
    return $_;
}

##############################################################################
# Output
##############################################################################

# When building up the *roff code, we don't use real *roff fonts.  Instead, we
# embed font codes of the form \f(<font>[SE] where <font> is one of B, I, or
# F, S stands for start, and E stands for end.  This method turns these into
# the right start and end codes.
#
# We add this level of complexity because the old pod2man didn't get code like
# B<someI<thing> else> right; after I<> it switched back to normal text rather
# than bold.  We take care of this by using variables that state whether bold,
# italic, or fixed are turned on as a combined pointer to our current font
# sequence, and set each to the number of current nestings of start tags for
# that font.
#
# \fP changes to the previous font, but only one previous font is kept.  We
# don't know what the outside level font is; normally it's R, but if we're
# inside a heading it could be something else.  So arrange things so that the
# outside font is always the "previous" font and end with \fP instead of \fR.
# Idea from Zack Weinberg.
sub mapfonts {
    my ($self, $text) = @_;
    my ($fixed, $bold, $italic) = (0, 0, 0);
    my %magic = (F => \$fixed, B => \$bold, I => \$italic);
    my $last = '\fR';
    $text =~ s<
        \\f\((.)(.)
    > <
        my $sequence = '';
        my $f;
        if ($last ne '\fR') { $sequence = '\fP' }
        ${ $magic{$1} } += ($2 eq 'S') ? 1 : -1;
        $f = $$self{FONTS}{ ($fixed && 1) . ($bold && 1) . ($italic && 1) };
        if ($f eq $last) {
            '';
        } else {
            if ($f ne '\fR') { $sequence .= $f }
            $last = $f;
            $sequence;
        }
    >gxe;
    return $text;
}

# Unfortunately, there is a bug in Solaris 2.6 nroff (not present in GNU
# groff) where the sequence \fB\fP\f(CW\fP leaves the font set to B rather
# than R, presumably because \f(CW doesn't actually do a font change.  To work
# around this, use a separate textmapfonts for text blocks where the default
# font is always R and only use the smart mapfonts for headings.
sub textmapfonts {
    my ($self, $text) = @_;
    my ($fixed, $bold, $italic) = (0, 0, 0);
    my %magic = (F => \$fixed, B => \$bold, I => \$italic);
    $text =~ s<
        \\f\((.)(.)
    > <
        ${ $magic{$1} } += ($2 eq 'S') ? 1 : -1;
        $$self{FONTS}{ ($fixed && 1) . ($bold && 1) . ($italic && 1) };
    >gxe;
    return $text;
}

# Given a command and a single argument that may or may not contain double
# quotes, handle double-quote formatting for it.  If there are no double
# quotes, just return the command followed by the argument in double quotes.
# If there are double quotes, use an if statement to test for nroff, and for
# nroff output the command followed by the argument in double quotes with
# embedded double quotes doubled.  For other formatters, remap paired double
# quotes to LQUOTE and RQUOTE.
sub switchquotes {
    my ($self, $command, $text, $extra) = @_;
    $text =~ s/\\\*\([LR]\"/\"/g;

    # We also have to deal with \*C` and \*C', which are used to add the
    # quotes around C<> text, since they may expand to " and if they do this
    # confuses the .SH macros and the like no end.  Expand them ourselves.
    # Also separate troff from nroff if there are any fixed-width fonts in use
    # to work around problems with Solaris nroff.
    my $c_is_quote = ($$self{LQUOTE} =~ /\"/) || ($$self{RQUOTE} =~ /\"/);
    my $fixedpat = join '|', @{ $$self{FONTS} }{'100', '101', '110', '111'};
    $fixedpat =~ s/\\/\\\\/g;
    $fixedpat =~ s/\(/\\\(/g;
    if ($text =~ m/\"/ || $text =~ m/$fixedpat/) {
        $text =~ s/\"/\"\"/g;
        my $nroff = $text;
        my $troff = $text;
        $troff =~ s/\"\"([^\"]*)\"\"/\`\`$1\'\'/g;
        if ($c_is_quote and $text =~ m/\\\*\(C[\'\`]/) {
            $nroff =~ s/\\\*\(C\`/$$self{LQUOTE}/g;
            $nroff =~ s/\\\*\(C\'/$$self{RQUOTE}/g;
            $troff =~ s/\\\*\(C[\'\`]//g;
        }
        $nroff = qq("$nroff") . ($extra ? " $extra" : '');
        $troff = qq("$troff") . ($extra ? " $extra" : '');

        # Work around the Solaris nroff bug where \f(CW\fP leaves the font set
        # to Roman rather than the actual previous font when used in headings.
        # troff output may still be broken, but at least we can fix nroff by
        # just switching the font changes to the non-fixed versions.
        my $font_end = "(?:\\f[PR]|\Q$$self{FONTS}{100}\E)";
        $nroff =~ s/\Q$$self{FONTS}{100}\E(.*?)\\f([PR])/$1/g;
        $nroff =~ s/\Q$$self{FONTS}{101}\E(.*?)$font_end/\\fI$1\\fP/g;
        $nroff =~ s/\Q$$self{FONTS}{110}\E(.*?)$font_end/\\fB$1\\fP/g;
        $nroff =~ s/\Q$$self{FONTS}{111}\E(.*?)$font_end/\\f\(BI$1\\fP/g;

        # Now finally output the command.  Bother with .ie only if the nroff
        # and troff output aren't the same.
        if ($nroff ne $troff) {
            return ".ie n $command $nroff\n.el $command $troff\n";
        } else {
            return "$command $nroff\n";
        }
    } else {
        $text = qq("$text") . ($extra ? " $extra" : '');
        return "$command $text\n";
    }
}

# Protect leading quotes and periods against interpretation as commands.  Also
# protect anything starting with a backslash, since it could expand or hide
# something that *roff would interpret as a command.  This is overkill, but
# it's much simpler than trying to parse *roff here.
sub protect {
    my ($self, $text) = @_;
    $text =~ s/^([.\'\\])/\\&$1/mg;
    return $text;
}

# Make vertical whitespace if NEEDSPACE is set, appropriate to the indentation
# level the situation.  This function is needed since in *roff one has to
# create vertical whitespace after paragraphs and between some things, but
# other macros create their own whitespace.  Also close out a sequence of
# repeated =items, since calling makespace means we're about to begin the item
# body.
sub makespace {
    my ($self) = @_;
    $self->output (".PD\n") if $$self{ITEMS} > 1;
    $$self{ITEMS} = 0;
    $self->output ($$self{INDENT} > 0 ? ".Sp\n" : ".PP\n")
        if $$self{NEEDSPACE};
}

# Output any pending index entries, and optionally an index entry given as an
# argument.  Support multiple index entries in X<> separated by slashes, and
# strip special escapes from index entries.
sub outindex {
    my ($self, $section, $index) = @_;
    my @entries = map { split m%\s*/\s*% } @{ $$self{INDEX} };
    return unless ($section || @entries);

    # We're about to output all pending entries, so clear our pending queue.
    $$self{INDEX} = [];

    # Build the output.  Regular index entries are marked Xref, and headings
    # pass in their own section.  Undo some *roff formatting on headings.
    my @output;
    if (@entries) {
        push @output, [ 'Xref', join (' ', @entries) ];
    }
    if ($section) {
        $index =~ s/\\-/-/g;
        $index =~ s/\\(?:s-?\d|.\(..|.)//g;
        push @output, [ $section, $index ];
    }

    # Print out the .IX commands.
    for (@output) {
        my ($type, $entry) = @$_;
        $entry =~ s/\s+/ /g;
        $entry =~ s/\"/\"\"/g;
        $entry =~ s/\\/\\\\/g;
        $self->output (".IX $type " . '"' . $entry . '"' . "\n");
    }
}

# Output some text, without any additional changes.
sub output {
    my ($self, @text) = @_;
    if ($$self{ENCODE}) {
        print { $$self{output_fh} } Encode::encode ('UTF-8', join ('', @text));
    } else {
        print { $$self{output_fh} } @text;
    }
}

##############################################################################
# Document initialization
##############################################################################

# Handle the start of the document.  Here we handle empty documents, as well
# as setting up our basic macros in a preamble and building the page title.
sub start_document {
    my ($self, $attrs) = @_;
    if ($$attrs{contentless} && !$$self{ALWAYS_EMIT_SOMETHING}) {
        DEBUG and print "Document is contentless\n";
        $$self{CONTENTLESS} = 1;
    } else {
        delete $$self{CONTENTLESS};
    }

    # When UTF-8 output is set, check whether our output file handle already
    # has a PerlIO encoding layer set.  If it does not, we'll need to encode
    # our output before printing it (handled in the output() sub).  Wrap the
    # check in an eval to handle versions of Perl without PerlIO.
    #
    # PerlIO::get_layers still requires its argument be a glob, so coerce the
    # file handle to a glob.
    $$self{ENCODE} = 0;
    if ($$self{utf8}) {
        $$self{ENCODE} = 1;
        eval {
            my @options = (output => 1, details => 1);
            my @layers = PerlIO::get_layers (*{$$self{output_fh}}, @options);
            if ($layers[-1] && ($layers[-1] & PerlIO::F_UTF8 ())) {
                $$self{ENCODE} = 0;
            }
        }
    }

    # Determine information for the preamble and then output it unless the
    # document was content-free.
    if (!$$self{CONTENTLESS}) {
        my ($name, $section);
        if (defined $$self{name}) {
            $name = $$self{name};
            $section = $$self{section} || 1;
        } else {
            ($name, $section) = $self->devise_title;
        }
        my $date = defined($$self{date}) ? $$self{date} : $self->devise_date;
        $self->preamble ($name, $section, $date)
            unless $self->bare_output or DEBUG > 9;
    }

    # Initialize a few per-document variables.
    $$self{INDENT}    = 0;      # Current indentation level.
    $$self{INDENTS}   = [];     # Stack of indentations.
    $$self{INDEX}     = [];     # Index keys waiting to be printed.
    $$self{IN_NAME}   = 0;      # Whether processing the NAME section.
    $$self{ITEMS}     = 0;      # The number of consecutive =items.
    $$self{ITEMTYPES} = [];     # Stack of =item types, one per list.
    $$self{SHIFTWAIT} = 0;      # Whether there is a shift waiting.
    $$self{SHIFTS}    = [];     # Stack of .RS shifts.
    $$self{PENDING}   = [[]];   # Pending output.
}

# Handle the end of the document.  This handles dying on POD errors, since
# Pod::Parser currently doesn't.  Otherwise, does nothing but print out a
# final comment at the end of the document under debugging.
sub end_document {
    my ($self) = @_;
    if ($$self{complain_die} && $self->errors_seen) {
        croak ("POD document had syntax errors");
    }
    return if $self->bare_output;
    return if ($$self{CONTENTLESS} && !$$self{ALWAYS_EMIT_SOMETHING});
    $self->output (q(.\" [End document]) . "\n") if DEBUG;
}

# Try to figure out the name and section from the file name and return them as
# a list, returning an empty name and section 1 if we can't find any better
# information.  Uses File::Basename and File::Spec as necessary.
sub devise_title {
    my ($self) = @_;
    my $name = $self->source_filename || '';
    my $section = $$self{section} || 1;
    $section = 3 if (!$$self{section} && $name =~ /\.pm\z/i);
    $name =~ s/\.p(od|[lm])\z//i;

    # If Pod::Parser gave us an IO::File reference as the source file name,
    # convert that to the empty string as well.  Then, if we don't have a
    # valid name, convert it to STDIN.
    #
    # In podlators 4.00 through 4.07, this also produced a warning, but that
    # was surprising to a lot of programs that had expected to be able to pipe
    # POD through pod2man without specifying the name.  In the name of
    # backward compatibility, just quietly set STDIN as the page title.
    if ($name =~ /^IO::File(?:=\w+)\(0x[\da-f]+\)$/i) {
        $name = '';
    }
    if ($name eq '') {
        $name = 'STDIN';
    }

    # If the section isn't 3, then the name defaults to just the basename of
    # the file.
    if ($section !~ /^3/) {
        require File::Basename;
        $name = uc File::Basename::basename ($name);
    } else {
        require File::Spec;
        my ($volume, $dirs, $file) = File::Spec->splitpath ($name);

        # Otherwise, assume we're dealing with a module.  We want to figure
        # out the full module name from the path to the file, but we don't
        # want to include too much of the path into the module name.  Lose
        # anything up to the first of:
        #
        #     */lib/*perl*/         standard or site_perl module
        #     */*perl*/lib/         from -Dprefix=/opt/perl
        #     */*perl*/             random module hierarchy
        #
        # Also strip off a leading site, site_perl, or vendor_perl component,
        # any OS-specific component, and any version number component, and
        # strip off an initial component of "lib" or "blib/lib" since that's
        # what ExtUtils::MakeMaker creates.
        #
        # splitdir requires at least File::Spec 0.8.
        my @dirs = File::Spec->splitdir ($dirs);
        if (@dirs) {
            my $cut = 0;
            my $i;
            for ($i = 0; $i < @dirs; $i++) {
                if ($dirs[$i] =~ /perl/) {
                    $cut = $i + 1;
                    $cut++ if ($dirs[$i + 1] && $dirs[$i + 1] eq 'lib');
                    last;
                }
            }
            if ($cut > 0) {
                splice (@dirs, 0, $cut);
                shift @dirs if ($dirs[0] =~ /^(site|vendor)(_perl)?$/);
                shift @dirs if ($dirs[0] =~ /^[\d.]+$/);
                shift @dirs if ($dirs[0] =~ /^(.*-$^O|$^O-.*|$^O)$/);
            }
            shift @dirs if $dirs[0] eq 'lib';
            splice (@dirs, 0, 2) if ($dirs[0] eq 'blib' && $dirs[1] eq 'lib');
        }

        # Remove empty directories when building the module name; they
        # occur too easily on Unix by doubling slashes.
        $name = join ('::', (grep { $_ ? $_ : () } @dirs), $file);
    }
    return ($name, $section);
}

# Determine the modification date and return that, properly formatted in ISO
# format.
#
# If POD_MAN_DATE is set, that overrides anything else.  This can be used for
# reproducible generation of the same file even if the input file timestamps
# are unpredictable or the POD comes from standard input.
#
# Otherwise, if SOURCE_DATE_EPOCH is set and can be parsed as seconds since
# the UNIX epoch, base the timestamp on that.  See
# <https://reproducible-builds.org/specs/source-date-epoch/>
#
# Otherwise, use the modification date of the input if we can stat it.  Be
# aware that Pod::Simple returns the stringification of the file handle as
# source_filename for input from a file handle, so we'll stat some random ref
# string in that case.  If that fails, instead use the current time.
#
# $self - Pod::Man object, used to get the source file
#
# Returns: YYYY-MM-DD date suitable for the left-hand footer
sub devise_date {
    my ($self) = @_;

    # If POD_MAN_DATE is set, always use it.
    if (defined($ENV{POD_MAN_DATE})) {
        return $ENV{POD_MAN_DATE};
    }

    # If SOURCE_DATE_EPOCH is set and can be parsed, use that.
    my $time;
    if (defined($ENV{SOURCE_DATE_EPOCH}) && $ENV{SOURCE_DATE_EPOCH} !~ /\D/) {
        $time = $ENV{SOURCE_DATE_EPOCH};
    }

    # Otherwise, get the input filename and try to stat it.  If that fails,
    # use the current time.
    if (!defined $time) {
        my $input = $self->source_filename;
        if ($input) {
            $time = (stat($input))[9] || time();
        } else {
            $time = time();
        }
    }

    # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses
    # this and it has to work in the core which can't load dynamic libraries.
    # Use gmtime instead of localtime so that the generated man page does not
    # depend on the local time zone setting and is more reproducible
    my ($year, $month, $day) = (gmtime($time))[5,4,3];
    return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
}

# Print out the preamble and the title.  The meaning of the arguments to .TH
# unfortunately vary by system; some systems consider the fourth argument to
# be a "source" and others use it as a version number.  Generally it's just
# presented as the left-side footer, though, so it doesn't matter too much if
# a particular system gives it another interpretation.
#
# The order of date and release used to be reversed in older versions of this
# module, but this order is correct for both Solaris and Linux.
sub preamble {
    my ($self, $name, $section, $date) = @_;
    my $preamble = $self->preamble_template (!$$self{utf8});

    # Build the index line and make sure that it will be syntactically valid.
    my $index = "$name $section";
    $index =~ s/\"/\"\"/g;

    # If name or section contain spaces, quote them (section really never
    # should, but we may as well be cautious).
    for ($name, $section) {
        if (/\s/) {
            s/\"/\"\"/g;
            $_ = '"' . $_ . '"';
        }
    }

    # Double quotes in date, since it will be quoted.
    $date =~ s/\"/\"\"/g;

    # Substitute into the preamble the configuration options.
    $preamble =~ s/\@CFONT\@/$$self{fixed}/;
    $preamble =~ s/\@LQUOTE\@/$$self{LQUOTE}/;
    $preamble =~ s/\@RQUOTE\@/$$self{RQUOTE}/;
    chomp $preamble;

    # Get the version information.
    my $version = $self->version_report;

    # Finally output everything.
    $self->output (<<"----END OF HEADER----");
.\\" Automatically generated by $version
.\\"
.\\" Standard preamble:
.\\" ========================================================================
$preamble
.\\" ========================================================================
.\\"
.IX Title "$index"
.TH $name $section "$date" "$$self{release}" "$$self{center}"
.\\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\\" way too many mistakes in technical documents.
.if n .ad l
.nh
----END OF HEADER----
    $self->output (".\\\" [End of preamble]\n") if DEBUG;
}

##############################################################################
# Text blocks
##############################################################################

# Handle a basic block of text.  The only tricky part of this is if this is
# the first paragraph of text after an =over, in which case we have to change
# indentations for *roff.
sub cmd_para {
    my ($self, $attrs, $text) = @_;
    my $line = $$attrs{start_line};

    # Output the paragraph.  We also have to handle =over without =item.  If
    # there's an =over without =item, SHIFTWAIT will be set, and we need to
    # handle creation of the indent here.  Add the shift to SHIFTS so that it
    # will be cleaned up on =back.
    $self->makespace;
    if ($$self{SHIFTWAIT}) {
        $self->output (".RS $$self{INDENT}\n");
        push (@{ $$self{SHIFTS} }, $$self{INDENT});
        $$self{SHIFTWAIT} = 0;
    }

    # Add the line number for debugging, but not in the NAME section just in
    # case the comment would confuse apropos.
    $self->output (".\\\" [At source line $line]\n")
        if defined ($line) && DEBUG && !$$self{IN_NAME};

    # Force exactly one newline at the end and strip unwanted trailing
    # whitespace at the end, but leave "\ " backslashed space from an S< > at
    # the end of a line.  Reverse the text first, to avoid having to scan the
    # entire paragraph.
    $text = reverse $text;
    $text =~ s/\A\s*?(?= \\|\S|\z)/\n/;
    $text = reverse $text;

    # Output the paragraph.
    $self->output ($self->protect ($self->textmapfonts ($text)));
    $self->outindex;
    $$self{NEEDSPACE} = 1;
    return '';
}

# Handle a verbatim paragraph.  Put a null token at the beginning of each line
# to protect against commands and wrap in .Vb/.Ve (which we define in our
# prelude).
sub cmd_verbatim {
    my ($self, $attrs, $text) = @_;

    # Ignore an empty verbatim paragraph.
    return unless $text =~ /\S/;

    # Force exactly one newline at the end and strip unwanted trailing
    # whitespace at the end.  Reverse the text first, to avoid having to scan
    # the entire paragraph.
    $text = reverse $text;
    $text =~ s/\A\s*/\n/;
    $text = reverse $text;

    # Get a count of the number of lines before the first blank line, which
    # we'll pass to .Vb as its parameter.  This tells *roff to keep that many
    # lines together.  We don't want to tell *roff to keep huge blocks
    # together.
    my @lines = split (/\n/, $text);
    my $unbroken = 0;
    for (@lines) {
        last if /^\s*$/;
        $unbroken++;
    }
    $unbroken = 10 if ($unbroken > 12 && !$$self{MAGIC_VNOPAGEBREAK_LIMIT});

    # Prepend a null token to each line.
    $text =~ s/^/\\&/gm;

    # Output the results.
    $self->makespace;
    $self->output (".Vb $unbroken\n$text.Ve\n");
    $$self{NEEDSPACE} = 1;
    return '';
}

# Handle literal text (produced by =for and similar constructs).  Just output
# it with the minimum of changes.
sub cmd_data {
    my ($self, $attrs, $text) = @_;
    $text =~ s/^\n+//;
    $text =~ s/\n{0,2}$/\n/;
    $self->output ($text);
    return '';
}

##############################################################################
# Headings
##############################################################################

# Common code for all headings.  This is called before the actual heading is
# output.  It returns the cleaned up heading text (putting the heading all on
# one line) and may do other things, like closing bad =item blocks.
sub heading_common {
    my ($self, $text, $line) = @_;
    $text =~ s/\s+$//;
    $text =~ s/\s*\n\s*/ /g;

    # This should never happen; it means that we have a heading after =item
    # without an intervening =back.  But just in case, handle it anyway.
    if ($$self{ITEMS} > 1) {
        $$self{ITEMS} = 0;
        $self->output (".PD\n");
    }

    # Output the current source line.
    $self->output ( ".\\\" [At source line $line]\n" )
        if defined ($line) && DEBUG;
    return $text;
}

# First level heading.  We can't output .IX in the NAME section due to a bug
# in some versions of catman, so don't output a .IX for that section.  .SH
# already uses small caps, so remove \s0 and \s-1.  Maintain IN_NAME as
# appropriate.
sub cmd_head1 {
    my ($self, $attrs, $text) = @_;
    $text =~ s/\\s-?\d//g;
    $text = $self->heading_common ($text, $$attrs{start_line});
    my $isname = ($text eq 'NAME' || $text =~ /\(NAME\)/);
    $self->output ($self->switchquotes ('.SH', $self->mapfonts ($text)));
    $self->outindex ('Header', $text) unless $isname;
    $$self{NEEDSPACE} = 0;
    $$self{IN_NAME} = $isname;
    return '';
}

# Second level heading.
sub cmd_head2 {
    my ($self, $attrs, $text) = @_;
    $text = $self->heading_common ($text, $$attrs{start_line});
    $self->output ($self->switchquotes ('.SS', $self->mapfonts ($text)));
    $self->outindex ('Subsection', $text);
    $$self{NEEDSPACE} = 0;
    return '';
}

# Third level heading.  *roff doesn't have this concept, so just put the
# heading in italics as a normal paragraph.
sub cmd_head3 {
    my ($self, $attrs, $text) = @_;
    $text = $self->heading_common ($text, $$attrs{start_line});
    $self->makespace;
    $self->output ($self->textmapfonts ('\f(IS' . $text . '\f(IE') . "\n");
    $self->outindex ('Subsection', $text);
    $$self{NEEDSPACE} = 1;
    return '';
}

# Fourth level heading.  *roff doesn't have this concept, so just put the
# heading as a normal paragraph.
sub cmd_head4 {
    my ($self, $attrs, $text) = @_;
    $text = $self->heading_common ($text, $$attrs{start_line});
    $self->makespace;
    $self->output ($self->textmapfonts ($text) . "\n");
    $self->outindex ('Subsection', $text);
    $$self{NEEDSPACE} = 1;
    return '';
}

##############################################################################
# Formatting codes
##############################################################################

# All of the formatting codes that aren't handled internally by the parser,
# other than L<> and X<>.
sub cmd_b { return $_[0]->{IN_NAME} ? $_[2] : '\f(BS' . $_[2] . '\f(BE' }
sub cmd_i { return $_[0]->{IN_NAME} ? $_[2] : '\f(IS' . $_[2] . '\f(IE' }
sub cmd_f { return $_[0]->{IN_NAME} ? $_[2] : '\f(IS' . $_[2] . '\f(IE' }
sub cmd_c { return $_[0]->quote_literal ($_[2]) }

# Index entries are just added to the pending entries.
sub cmd_x {
    my ($self, $attrs, $text) = @_;
    push (@{ $$self{INDEX} }, $text);
    return '';
}

# Links reduce to the text that we're given, wrapped in angle brackets if it's
# a URL, followed by the URL.  We take an option to suppress the URL if anchor
# text is given.  We need to format the "to" value of the link before
# comparing it to the text since we may escape hyphens.
sub cmd_l {
    my ($self, $attrs, $text) = @_;
    if ($$attrs{type} eq 'url') {
        my $to = $$attrs{to};
        if (defined $to) {
            my $tag = $$self{PENDING}[-1];
            $to = $self->format_text ($$tag[1], $to);
        }
        if (not defined ($to) or $to eq $text) {
            return "<$text>";
        } elsif ($$self{nourls}) {
            return $text;
        } else {
            return "$text <$$attrs{to}>";
        }
    } else {
        return $text;
    }
}

##############################################################################
# List handling
##############################################################################

# Handle the beginning of an =over block.  Takes the type of the block as the
# first argument, and then the attr hash.  This is called by the handlers for
# the four different types of lists (bullet, number, text, and block).
sub over_common_start {
    my ($self, $type, $attrs) = @_;
    my $line = $$attrs{start_line};
    my $indent = $$attrs{indent};
    DEBUG > 3 and print " Starting =over $type (line $line, indent ",
        ($indent || '?'), "\n";

    # Find the indentation level.
    unless (defined ($indent) && $indent =~ /^[-+]?\d{1,4}\s*$/) {
        $indent = $$self{indent};
    }

    # If we've gotten multiple indentations in a row, we need to emit the
    # pending indentation for the last level that we saw and haven't acted on
    # yet.  SHIFTS is the stack of indentations that we've actually emitted
    # code for.
    if (@{ $$self{SHIFTS} } < @{ $$self{INDENTS} }) {
        $self->output (".RS $$self{INDENT}\n");
        push (@{ $$self{SHIFTS} }, $$self{INDENT});
    }

    # Now, do record-keeping.  INDENTS is a stack of indentations that we've
    # seen so far, and INDENT is the current level of indentation.  ITEMTYPES
    # is a stack of list types that we've seen.
    push (@{ $$self{INDENTS} }, $$self{INDENT});
    push (@{ $$self{ITEMTYPES} }, $type);
    $$self{INDENT} = $indent + 0;
    $$self{SHIFTWAIT} = 1;
}

# End an =over block.  Takes no options other than the class pointer.
# Normally, once we close a block and therefore remove something from INDENTS,
# INDENTS will now be longer than SHIFTS, indicating that we also need to emit
# *roff code to close the indent.  This isn't *always* true, depending on the
# circumstance.  If we're still inside an indentation, we need to emit another
# .RE and then a new .RS to unconfuse *roff.
sub over_common_end {
    my ($self) = @_;
    DEBUG > 3 and print " Ending =over\n";
    $$self{INDENT} = pop @{ $$self{INDENTS} };
    pop @{ $$self{ITEMTYPES} };

    # If we emitted code for that indentation, end it.
    if (@{ $$self{SHIFTS} } > @{ $$self{INDENTS} }) {
        $self->output (".RE\n");
        pop @{ $$self{SHIFTS} };
    }

    # If we're still in an indentation, *roff will have now lost track of the
    # right depth of that indentation, so fix that.
    if (@{ $$self{INDENTS} } > 0) {
        $self->output (".RE\n");
        $self->output (".RS $$self{INDENT}\n");
    }
    $$self{NEEDSPACE} = 1;
    $$self{SHIFTWAIT} = 0;
}

# Dispatch the start and end calls as appropriate.
sub start_over_bullet { my $s = shift; $s->over_common_start ('bullet', @_) }
sub start_over_number { my $s = shift; $s->over_common_start ('number', @_) }
sub start_over_text   { my $s = shift; $s->over_common_start ('text',   @_) }
sub start_over_block  { my $s = shift; $s->over_common_start ('block',  @_) }
sub end_over_bullet { $_[0]->over_common_end }
sub end_over_number { $_[0]->over_common_end }
sub end_over_text   { $_[0]->over_common_end }
sub end_over_block  { $_[0]->over_common_end }

# The common handler for all item commands.  Takes the type of the item, the
# attributes, and then the text of the item.
#
# Emit an index entry for anything that's interesting, but don't emit index
# entries for things like bullets and numbers.  Newlines in an item title are
# turned into spaces since *roff can't handle them embedded.
sub item_common {
    my ($self, $type, $attrs, $text) = @_;
    my $line = $$attrs{start_line};
    DEBUG > 3 and print "  $type item (line $line): $text\n";

    # Clean up the text.  We want to end up with two variables, one ($text)
    # which contains any body text after taking out the item portion, and
    # another ($item) which contains the actual item text.
    $text =~ s/\s+$//;
    my ($item, $index);
    if ($type eq 'bullet') {
        $item = "\\\(bu";
        $text =~ s/\n*$/\n/;
    } elsif ($type eq 'number') {
        $item = $$attrs{number} . '.';
    } else {
        $item = $text;
        $item =~ s/\s*\n\s*/ /g;
        $text = '';
        $index = $item if ($item =~ /\w/);
    }

    # Take care of the indentation.  If shifts and indents are equal, close
    # the top shift, since we're about to create an indentation with .IP.
    # Also output .PD 0 to turn off spacing between items if this item is
    # directly following another one.  We only have to do that once for a
    # whole chain of items so do it for the second item in the change.  Note
    # that makespace is what undoes this.
    if (@{ $$self{SHIFTS} } == @{ $$self{INDENTS} }) {
        $self->output (".RE\n");
        pop @{ $$self{SHIFTS} };
    }
    $self->output (".PD 0\n") if ($$self{ITEMS} == 1);

    # Now, output the item tag itself.
    $item = $self->textmapfonts ($item);
    $self->output ($self->switchquotes ('.IP', $item, $$self{INDENT}));
    $$self{NEEDSPACE} = 0;
    $$self{ITEMS}++;
    $$self{SHIFTWAIT} = 0;

    # If body text for this item was included, go ahead and output that now.
    if ($text) {
        $text =~ s/\s*$/\n/;
        $self->makespace;
        $self->output ($self->protect ($self->textmapfonts ($text)));
        $$self{NEEDSPACE} = 1;
    }
    $self->outindex ($index ? ('Item', $index) : ());
}

# Dispatch the item commands to the appropriate place.
sub cmd_item_bullet { my $self = shift; $self->item_common ('bullet', @_) }
sub cmd_item_number { my $self = shift; $self->item_common ('number', @_) }
sub cmd_item_text   { my $self = shift; $self->item_common ('text',   @_) }
sub cmd_item_block  { my $self = shift; $self->item_common ('block',  @_) }

##############################################################################
# Backward compatibility
##############################################################################

# Reset the underlying Pod::Simple object between calls to parse_from_file so
# that the same object can be reused to convert multiple pages.
sub parse_from_file {
    my $self = shift;
    $self->reinit;

    # Fake the old cutting option to Pod::Parser.  This fiddles with internal
    # Pod::Simple state and is quite ugly; we need a better approach.
    if (ref ($_[0]) eq 'HASH') {
        my $opts = shift @_;
        if (defined ($$opts{-cutting}) && !$$opts{-cutting}) {
            $$self{in_pod} = 1;
            $$self{last_was_blank} = 1;
        }
    }

    # Do the work.
    my $retval = $self->SUPER::parse_from_file (@_);

    # Flush output, since Pod::Simple doesn't do this.  Ideally we should also
    # close the file descriptor if we had to open one, but we can't easily
    # figure this out.
    my $fh = $self->output_fh ();
    my $oldfh = select $fh;
    my $oldflush = $|;
    $| = 1;
    print $fh '';
    $| = $oldflush;
    select $oldfh;
    return $retval;
}

# Pod::Simple failed to provide this backward compatibility function, so
# implement it ourselves.  File handles are one of the inputs that
# parse_from_file supports.
sub parse_from_filehandle {
    my $self = shift;
    return $self->parse_from_file (@_);
}

# Pod::Simple's parse_file doesn't set output_fh.  Wrap the call and do so
# ourself unless it was already set by the caller, since our documentation has
# always said that this should work.
sub parse_file {
    my ($self, $in) = @_;
    unless (defined $$self{output_fh}) {
        $self->output_fh (\*STDOUT);
    }
    return $self->SUPER::parse_file ($in);
}

# Do the same for parse_lines, just to be polite.  Pod::Simple's man page
# implies that the caller is responsible for setting this, but I don't see any
# reason not to set a default.
sub parse_lines {
    my ($self, @lines) = @_;
    unless (defined $$self{output_fh}) {
        $self->output_fh (\*STDOUT);
    }
    return $self->SUPER::parse_lines (@lines);
}

# Likewise for parse_string_document.
sub parse_string_document {
    my ($self, $doc) = @_;
    unless (defined $$self{output_fh}) {
        $self->output_fh (\*STDOUT);
    }
    return $self->SUPER::parse_string_document ($doc);
}

##############################################################################
# Translation tables
##############################################################################

# The following table is adapted from Tom Christiansen's pod2man.  It assumes
# that the standard preamble has already been printed, since that's what
# defines all of the accent marks.  We really want to do something better than
# this when *roff actually supports other character sets itself, since these
# results are pretty poor.
#
# This only works in an ASCII world.  What to do in a non-ASCII world is very
# unclear -- hopefully we can assume UTF-8 and just leave well enough alone.
@ESCAPES{0xA0 .. 0xFF} = (
    "\\ ", undef, undef, undef,            undef, undef, undef, undef,
    undef, undef, undef, undef,            undef, "\\%", undef, undef,

    undef, undef, undef, undef,            undef, undef, undef, undef,
    undef, undef, undef, undef,            undef, undef, undef, undef,

    "A\\*`",  "A\\*'", "A\\*^", "A\\*~",   "A\\*:", "A\\*o", "\\*(Ae", "C\\*,",
    "E\\*`",  "E\\*'", "E\\*^", "E\\*:",   "I\\*`", "I\\*'", "I\\*^",  "I\\*:",

    "\\*(D-", "N\\*~", "O\\*`", "O\\*'",   "O\\*^", "O\\*~", "O\\*:",  undef,
    "O\\*/",  "U\\*`", "U\\*'", "U\\*^",   "U\\*:", "Y\\*'", "\\*(Th", "\\*8",

    "a\\*`",  "a\\*'", "a\\*^", "a\\*~",   "a\\*:", "a\\*o", "\\*(ae", "c\\*,",
    "e\\*`",  "e\\*'", "e\\*^", "e\\*:",   "i\\*`", "i\\*'", "i\\*^",  "i\\*:",

    "\\*(d-", "n\\*~", "o\\*`", "o\\*'",   "o\\*^", "o\\*~", "o\\*:",  undef,
    "o\\*/" , "u\\*`", "u\\*'", "u\\*^",   "u\\*:", "y\\*'", "\\*(th", "y\\*:",
) if ASCII;

##############################################################################
# Premable
##############################################################################

# The following is the static preamble which starts all *roff output we
# generate.  Most is static except for the font to use as a fixed-width font,
# which is designed by @CFONT@, and the left and right quotes to use for C<>
# text, designated by @LQOUTE@ and @RQUOTE@.  However, the second part, which
# defines the accent marks, is only used if $escapes is set to true.
sub preamble_template {
    my ($self, $accents) = @_;
    my $preamble = <<'----END OF PREAMBLE----';
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft @CFONT@
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` @LQUOTE@
.    ds C' @RQUOTE@
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
----END OF PREAMBLE----
#'# for cperl-mode

    if ($accents) {
        $preamble .= <<'----END OF PREAMBLE----'
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
----END OF PREAMBLE----
#`# for cperl-mode
    }
    return $preamble;
}

##############################################################################
# Module return value and documentation
##############################################################################

1;
__END__

=for stopwords
en em ALLCAPS teeny fixedbold fixeditalic fixedbolditalic stderr utf8 UTF-8
Allbery Sean Burke Ossanna Solaris formatters troff uppercased Christiansen
nourls parsers Kernighan lquote rquote

=head1 NAME

Pod::Man - Convert POD data to formatted *roff input

=head1 SYNOPSIS

    use Pod::Man;
    my $parser = Pod::Man->new (release => $VERSION, section => 8);

    # Read POD from STDIN and write to STDOUT.
    $parser->parse_file (\*STDIN);

    # Read POD from file.pod and write to file.1.
    $parser->parse_from_file ('file.pod', 'file.1');

=head1 DESCRIPTION

Pod::Man is a module to convert documentation in the POD format (the
preferred language for documenting Perl) into *roff input using the man
macro set.  The resulting *roff code is suitable for display on a terminal
using L<nroff(1)>, normally via L<man(1)>, or printing using L<troff(1)>.
It is conventionally invoked using the driver script B<pod2man>, but it can
also be used directly.

As a derived class from Pod::Simple, Pod::Man supports the same methods and
interfaces.  See L<Pod::Simple> for all the details.

new() can take options, in the form of key/value pairs that control the
behavior of the parser.  See below for details.

If no options are given, Pod::Man uses the name of the input file with any
trailing C<.pod>, C<.pm>, or C<.pl> stripped as the man page title, to
section 1 unless the file ended in C<.pm> in which case it defaults to
section 3, to a centered title of "User Contributed Perl Documentation", to
a centered footer of the Perl version it is run with, and to a left-hand
footer of the modification date of its input (or the current date if given
C<STDIN> for input).

Pod::Man assumes that your *roff formatters have a fixed-width font named
C<CW>.  If yours is called something else (like C<CR>), use the C<fixed>
option to specify it.  This generally only matters for troff output for
printing.  Similarly, you can set the fonts used for bold, italic, and
bold italic fixed-width output.

Besides the obvious pod conversions, Pod::Man also takes care of
formatting func(), func(3), and simple variable references like $foo or
@bar so you don't have to use code escapes for them; complex expressions
like C<$fred{'stuff'}> will still need to be escaped, though.  It also
translates dashes that aren't used as hyphens into en dashes, makes long
dashes--like this--into proper em dashes, fixes "paired quotes," makes C++
look right, puts a little space between double underscores, makes ALLCAPS
a teeny bit smaller in B<troff>, and escapes stuff that *roff treats as
special so that you don't have to.

The recognized options to new() are as follows.  All options take a single
argument.

=over 4

=item center

Sets the centered page header for the C<.TH> macro.  The default, if this
option is not specified, is "User Contributed Perl Documentation".

=item date

Sets the left-hand footer for the C<.TH> macro.  If this option is not set,
the contents of the environment variable POD_MAN_DATE, if set, will be used.
Failing that, the value of SOURCE_DATE_EPOCH, the modification date of the
input file, or the current time if stat() can't find that file (which will be
the case if the input is from C<STDIN>) will be used.  If obtained from the
file modification date or the current time, the date will be formatted as
C<YYYY-MM-DD> and will be based on UTC (so that the output will be
reproducible regardless of local time zone).

=item errors

How to report errors.  C<die> says to throw an exception on any POD
formatting error.  C<stderr> says to report errors on standard error, but
not to throw an exception.  C<pod> says to include a POD ERRORS section
in the resulting documentation summarizing the errors.  C<none> ignores
POD errors entirely, as much as possible.

The default is C<pod>.

=item fixed

The fixed-width font to use for verbatim text and code.  Defaults to
C<CW>.  Some systems may want C<CR> instead.  Only matters for B<troff>
output.

=item fixedbold

Bold version of the fixed-width font.  Defaults to C<CB>.  Only matters
for B<troff> output.

=item fixeditalic

Italic version of the fixed-width font (actually, something of a misnomer,
since most fixed-width fonts only have an oblique version, not an italic
version).  Defaults to C<CI>.  Only matters for B<troff> output.

=item fixedbolditalic

Bold italic (probably actually oblique) version of the fixed-width font.
Pod::Man doesn't assume you have this, and defaults to C<CB>.  Some
systems (such as Solaris) have this font available as C<CX>.  Only matters
for B<troff> output.

=item lquote

=item rquote

Sets the quote marks used to surround CE<lt>> text.  C<lquote> sets the
left quote mark and C<rquote> sets the right quote mark.  Either may also
be set to the special value C<none>, in which case no quote mark is added
on that side of CE<lt>> text (but the font is still changed for troff
output).

Also see the C<quotes> option, which can be used to set both quotes at once.
If both C<quotes> and one of the other options is set, C<lquote> or C<rquote>
overrides C<quotes>.

=item name

Set the name of the manual page for the C<.TH> macro.  Without this
option, the manual name is set to the uppercased base name of the file
being converted unless the manual section is 3, in which case the path is
parsed to see if it is a Perl module path.  If it is, a path like
C<.../lib/Pod/Man.pm> is converted into a name like C<Pod::Man>.  This
option, if given, overrides any automatic determination of the name.

If generating a manual page from standard input, the name will be set to
C<STDIN> if this option is not provided.  Providing this option is strongly
recommended to set a meaningful manual page name.

=item nourls

Normally, LZ<><> formatting codes with a URL but anchor text are formatted
to show both the anchor text and the URL.  In other words:

    L<foo|http://example.com/>

is formatted as:

    foo <http://example.com/>

This option, if set to a true value, suppresses the URL when anchor text
is given, so this example would be formatted as just C<foo>.  This can
produce less cluttered output in cases where the URLs are not particularly
important.

=item quotes

Sets the quote marks used to surround CE<lt>> text.  If the value is a
single character, it is used as both the left and right quote.  Otherwise,
it is split in half, and the first half of the string is used as the left
quote and the second is used as the right quote.

This may also be set to the special value C<none>, in which case no quote
marks are added around CE<lt>> text (but the font is still changed for troff
output).

Also see the C<lquote> and C<rquote> options, which can be used to set the
left and right quotes independently.  If both C<quotes> and one of the other
options is set, C<lquote> or C<rquote> overrides C<quotes>.

=item release

Set the centered footer for the C<.TH> macro.  By default, this is set to
the version of Perl you run Pod::Man under.  Setting this to the empty
string will cause some *roff implementations to use the system default
value.

Note that some system C<an> macro sets assume that the centered footer
will be a modification date and will prepend something like "Last
modified: ".  If this is the case for your target system, you may want to
set C<release> to the last modified date and C<date> to the version
number.

=item section

Set the section for the C<.TH> macro.  The standard section numbering
convention is to use 1 for user commands, 2 for system calls, 3 for
functions, 4 for devices, 5 for file formats, 6 for games, 7 for
miscellaneous information, and 8 for administrator commands.  There is a lot
of variation here, however; some systems (like Solaris) use 4 for file
formats, 5 for miscellaneous information, and 7 for devices.  Still others
use 1m instead of 8, or some mix of both.  About the only section numbers
that are reliably consistent are 1, 2, and 3.

By default, section 1 will be used unless the file ends in C<.pm> in which
case section 3 will be selected.

=item stderr

Send error messages about invalid POD to standard error instead of
appending a POD ERRORS section to the generated *roff output.  This is
equivalent to setting C<errors> to C<stderr> if C<errors> is not already
set.  It is supported for backward compatibility.

=item utf8

By default, Pod::Man produces the most conservative possible *roff output
to try to ensure that it will work with as many different *roff
implementations as possible.  Many *roff implementations cannot handle
non-ASCII characters, so this means all non-ASCII characters are converted
either to a *roff escape sequence that tries to create a properly accented
character (at least for troff output) or to C<X>.

If this option is set, Pod::Man will instead output UTF-8.  If your *roff
implementation can handle it, this is the best output format to use and
avoids corruption of documents containing non-ASCII characters.  However,
be warned that *roff source with literal UTF-8 characters is not supported
by many implementations and may even result in segfaults and other bad
behavior.

Be aware that, when using this option, the input encoding of your POD
source should be properly declared unless it's US-ASCII.  Pod::Simple will
attempt to guess the encoding and may be successful if it's Latin-1 or
UTF-8, but it will produce warnings.  Use the C<=encoding> command to
declare the encoding.  See L<perlpod(1)> for more information.

=back

The standard Pod::Simple method parse_file() takes one argument naming the
POD file to read from.  By default, the output is sent to C<STDOUT>, but
this can be changed with the output_fh() method.

The standard Pod::Simple method parse_from_file() takes up to two
arguments, the first being the input file to read POD from and the second
being the file to write the formatted output to.

You can also call parse_lines() to parse an array of lines or
parse_string_document() to parse a document already in memory.  As with
parse_file(), parse_lines() and parse_string_document() default to sending
their output to C<STDOUT> unless changed with the output_fh() method.  Be
aware that parse_lines() and parse_string_document() both expect raw bytes,
not decoded characters.

To put the output from any parse method into a string instead of a file
handle, call the output_string() method instead of output_fh().

See L<Pod::Simple> for more specific details on the methods available to
all derived parsers.

=head1 DIAGNOSTICS

=over 4

=item roff font should be 1 or 2 chars, not "%s"

(F) You specified a *roff font (using C<fixed>, C<fixedbold>, etc.) that
wasn't either one or two characters.  Pod::Man doesn't support *roff fonts
longer than two characters, although some *roff extensions do (the
canonical versions of B<nroff> and B<troff> don't either).

=item Invalid errors setting "%s"

(F) The C<errors> parameter to the constructor was set to an unknown value.

=item Invalid quote specification "%s"

(F) The quote specification given (the C<quotes> option to the
constructor) was invalid.  A quote specification must be either one
character long or an even number (greater than one) characters long.

=item POD document had syntax errors

(F) The POD document being formatted had syntax errors and the C<errors>
option was set to C<die>.

=back

=head1 ENVIRONMENT

=over 4

=item PERL_CORE

If set and Encode is not available, silently fall back to non-UTF-8 mode
without complaining to standard error.  This environment variable is set
during Perl core builds, which build Encode after podlators.  Encode is
expected to not (yet) be available in that case.

=item POD_MAN_DATE

If set, this will be used as the value of the left-hand footer unless the
C<date> option is explicitly set, overriding the timestamp of the input
file or the current time.  This is primarily useful to ensure reproducible
builds of the same output file given the same source and Pod::Man version,
even when file timestamps may not be consistent.

=item SOURCE_DATE_EPOCH

If set, and POD_MAN_DATE and the C<date> options are not set, this will be
used as the modification time of the source file, overriding the timestamp of
the input file or the current time.  It should be set to the desired time in
seconds since UNIX epoch.  This is primarily useful to ensure reproducible
builds of the same output file given the same source and Pod::Man version,
even when file timestamps may not be consistent.  See
L<https://reproducible-builds.org/specs/source-date-epoch/> for the full
specification.

(Arguably, according to the specification, this variable should be used only
if the timestamp of the input file is not available and Pod::Man uses the
current time.  However, for reproducible builds in Debian, results were more
reliable if this variable overrode the timestamp of the input file.)

=back

=head1 BUGS

Encoding handling assumes that PerlIO is available and does not work
properly if it isn't.  The C<utf8> option is therefore not supported
unless Perl is built with PerlIO support.

There is currently no way to turn off the guesswork that tries to format
unmarked text appropriately, and sometimes it isn't wanted (particularly
when using POD to document something other than Perl).  Most of the work
toward fixing this has now been done, however, and all that's still needed
is a user interface.

The NAME section should be recognized specially and index entries emitted
for everything in that section.  This would have to be deferred until the
next section, since extraneous things in NAME tends to confuse various man
page processors.  Currently, no index entries are emitted for anything in
NAME.

Pod::Man doesn't handle font names longer than two characters.  Neither do
most B<troff> implementations, but GNU troff does as an extension.  It would
be nice to support as an option for those who want to use it.

The preamble added to each output file is rather verbose, and most of it
is only necessary in the presence of non-ASCII characters.  It would
ideally be nice if all of those definitions were only output if needed,
perhaps on the fly as the characters are used.

Pod::Man is excessively slow.

=head1 CAVEATS

If Pod::Man is given the C<utf8> option, the encoding of its output file
handle will be forced to UTF-8 if possible, overriding any existing
encoding.  This will be done even if the file handle is not created by
Pod::Man and was passed in from outside.  This maintains consistency
regardless of PERL_UNICODE and other settings.

The handling of hyphens and em dashes is somewhat fragile, and one may get
the wrong one under some circumstances.  This should only matter for
B<troff> output.

When and whether to use small caps is somewhat tricky, and Pod::Man doesn't
necessarily get it right.

Converting neutral double quotes to properly matched double quotes doesn't
work unless there are no formatting codes between the quote marks.  This
only matters for troff output.

=head1 AUTHOR

Russ Allbery <rra@cpan.org>, based I<very> heavily on the original B<pod2man>
by Tom Christiansen <tchrist@mox.perl.com>.  The modifications to work with
Pod::Simple instead of Pod::Parser were originally contributed by Sean Burke
<sburke@cpan.org> (but I've since hacked them beyond recognition and all bugs
are mine).

=head1 COPYRIGHT AND LICENSE

Copyright 1999-2010, 2012-2019 Russ Allbery <rra@cpan.org>

Substantial contributions by Sean Burke <sburke@cpan.org>.

This program is free software; you may redistribute it and/or modify it
under the same terms as Perl itself.

=head1 SEE ALSO

L<Pod::Simple>, L<perlpod(1)>, L<pod2man(1)>, L<nroff(1)>, L<troff(1)>,
L<man(1)>, L<man(7)>

Ossanna, Joseph F., and Brian W. Kernighan.  "Troff User's Manual,"
Computing Science Technical Report No. 54, AT&T Bell Laboratories.  This is
the best documentation of standard B<nroff> and B<troff>.  At the time of
this writing, it's available at L<http://www.troff.org/54.pdf>.

The man page documenting the man macro set may be L<man(5)> instead of
L<man(7)> on your system.  Also, please see L<pod2man(1)> for extensive
documentation on writing manual pages if you've not done it before and
aren't familiar with the conventions.

The current version of this module is always available from its web site at
L<https://www.eyrie.org/~eagle/software/podlators/>.  It is also part of the
Perl core distribution as of 5.6.0.

=cut

# Local Variables:
# copyright-at-end-flag: t
# End:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ternal subroutines
 that GCC uses to overcome shortcomings of particular machines, or
 special needs for some languages.
Homepage: http://gcc.gnu.org/
Important: yes

Package: libgcrypt20
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 1592
Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Version: 1.10.1-3
Depends: libc6 (>= 2.34), libgpg-error0 (>= 1.27)
Suggests: rng-tools
Description: LGPL Crypto library - runtime library
 libgcrypt contains cryptographic functions.  Many important free
 ciphers, hash algorithms and public key signing algorithms have been
 implemented:
 .
 Arcfour, Blowfish, CAST5, DES, AES, Twofish, Serpent, rfc2268 (rc2), SEED,
 Poly1305, Camellia, ChaCha20, IDEA, Salsa, SM4, Blake-2, CRC, MD2, MD4, MD5,
 RIPE-MD160, SM3, SHA-1, SHA-256, SHA-512, SHA3-224, SHA3-256, SHA3-384,
 SHA3-512, SHAKE128, SHAKE256, Tiger, Whirlpool, DSA, DSA2, ElGamal, RSA, ECC
 (Curve25519, sec256k1, GOST R 34.10-2001 and GOST R 34.10-2012, etc.)
Homepage: https://directory.fsf.org/project/libgcrypt/

Package: libgmp10
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 855
Maintainer: Debian Science Team <debian-science-maintainers@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: gmp
Version: 2:6.2.1+dfsg1-1.1
Depends: libc6 (>= 2.14)
Breaks: libmath-gmp-perl (<< 2.20-1), libmath-prime-util-gmp-perl (<< 0.51-2), postgresql-pgmp (<< 1.0.3-1)
Description: Multiprecision arithmetic library
 GNU MP is a programmer's library for arbitrary precision
 arithmetic (ie, a bignum package).  It can operate on signed
 integer, rational, and floating point numeric types.
 .
 It has a rich set of functions, and the functions have a regular
 interface.
Homepage: https://gmplib.org/

Package: libgnutls30
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 3382
Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: gnutls28
Version: 3.7.9-2+deb12u5
Depends: libc6 (>= 2.34), libgmp10 (>= 2:6.2.1+dfsg1), libhogweed6 (>= 3.6), libidn2-0 (>= 2.0.0), libnettle8 (>= 3.7~), libp11-kit0 (>= 0.23.18.1), libtasn1-6 (>= 4.14), libunistring2 (>= 0.9.7)
Suggests: gnutls-bin
Description: GNU TLS library - main runtime library
 GnuTLS is a portable library which implements the Transport Layer
 Security (TLS 1.0, 1.1, 1.2, 1.3) and Datagram
 Transport Layer Security (DTLS 1.0, 1.2) protocols.
 .
 GnuTLS features support for:
  - certificate path validation, as well as DANE and trust on first use.
  - the Online Certificate Status Protocol (OCSP).
  - public key methods, including RSA and Elliptic curves, as well as password
    and key authentication methods such as SRP and PSK protocols.
  - all the strong encryption algorithms, including AES and Camellia.
  - CPU-assisted cryptography with VIA padlock and AES-NI instruction sets.
  - HSMs and cryptographic tokens, via PKCS #11.
 .
 This package contains the main runtime library.
Homepage: https://www.gnutls.org/

Package: libgpg-error0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 192
Maintainer: Debian GnuPG Maintainers <pkg-gnupg-maint@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: libgpg-error
Version: 1.46-1
Depends: libc6 (>= 2.34)
Recommends: libgpg-error-l10n
Description: GnuPG development runtime library
 Library that defines common error values, messages, and common
 runtime functionality for all GnuPG components.  Among these are GPG,
 GPGSM, GPGME, GPG-Agent, libgcrypt, pinentry, SmartCard Daemon and
 possibly more in the future.
 .
 It will likely be renamed "gpgrt" in the future.
Homepage: https://www.gnupg.org/related_software/libgpg-error/

Package: libgssapi-krb5-2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 425
Maintainer: Sam Hartman <hartmans@debian.org>
Architecture: amd64
Multi-Arch: same
Source: krb5
Version: 1.20.1-2+deb12u3
Depends: libc6 (>= 2.33), libcom-err2 (>= 1.43.9), libk5crypto3 (>= 1.20), libkrb5-3 (= 1.20.1-2+deb12u3), libkrb5support0 (>= 1.15~beta1)
Suggests: krb5-doc, krb5-user
Breaks: moonshot-gss-eap (<= 1.0)
Description: MIT Kerberos runtime libraries - krb5 GSS-API Mechanism
 Kerberos is a system for authenticating users and services on a network.
 Kerberos is a trusted third-party service.  That means that there is a
 third party (the Kerberos server) that is trusted by all the entities on
 the network (users and services, usually called "principals").
 .
 This is the MIT reference implementation of Kerberos V5.
 .
 This package contains the runtime library for the MIT Kerberos
 implementation of GSS-API used by applications and Kerberos clients.
Homepage: https://web.mit.edu/kerberos/

Package: libhogweed6
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 463
Maintainer: Magnus Holmgren <holmgren@debian.org>
Architecture: amd64
Multi-Arch: same
Source: nettle
Version: 3.8.1-2
Depends: libc6 (>= 2.14), libgmp10 (>= 2:6.2.1+dfsg1), libnettle8
Description: low level cryptographic library (public-key cryptos)
 Nettle is a cryptographic library that is designed to fit easily in more or
 less any context: In crypto toolkits for object-oriented languages (C++,
 Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel
 space.
 .
 It tries to solve a problem of providing a common set of cryptographic
 algorithms for higher-level applications by implementing a
 context-independent set of cryptographic algorithms. In that light, Nettle
 doesn't do any memory allocation or I/O, it simply provides the
 cryptographic algorithms for the application to use in any environment and
 in any way it needs.
 .
 This package contains the asymmetric cryptographic algorithms, which,
 require the GNU multiple precision arithmetic library (libgmp) for
 their large integer computations.
Homepage: http://www.lysator.liu.se/~nisse/nettle/

Package: libidn2-0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 439
Maintainer: Debian Libidn team <help-libidn@gnu.org>
Architecture: amd64
Multi-Arch: same
Source: libidn2 (2.3.3-1)
Version: 2.3.3-1+b1
Depends: libc6 (>= 2.14), libunistring2 (>= 0.9.7)
Description: Internationalized domain names (IDNA2008/TR46) library
 Libidn2 implements the revised algorithm for internationalized domain
 names called IDNA2008/TR46.
 .
 This package contains runtime libraries.
Homepage: https://www.gnu.org/software/libidn/#libidn2

Package: libip4tc2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 66
Maintainer: Debian Netfilter Packaging Team <pkg-netfilter-team@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: iptables
Version: 1.8.9-2
Depends: libc6 (>= 2.28)
Description: netfilter libip4tc library
 The iptables/xtables framework has been replaced by nftables. You should
 consider migrating now.
 .
 This package contains the user-space iptables (IPv4) C library from the
 Netfilter xtables framework.
 .
 iptables IPv4 ruleset ADT and kernel interface.
 .
 This library has been considered private for years (and still is), in the
 sense of changing symbols and backward compatibility not guaranteed.
Homepage: https://www.netfilter.org/

Package: libjansson4
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 101
Maintainer: Alessandro Ghedini <ghedo@debian.org>
Architecture: amd64
Multi-Arch: same
Source: jansson
Version: 2.14-2
Depends: libc6 (>= 2.14)
Description: C library for encoding, decoding and manipulating JSON data
 Jansson is a C library for encoding, decoding and manipulating JSON data.
 .
 It features:
  * Simple and intuitive API and data model
  * Comprehensive documentation
  * No dependencies on other libraries
  * Full Unicode support (UTF-8)
  * Extensive test suite
Homepage: http://www.digip.org/jansson/

Package: libjson-c5
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 109
Maintainer: Nicolas Mora <babelouest@debian.org>
Architecture: amd64
Multi-Arch: same
Source: json-c
Version: 0.16-2
Depends: libc6 (>= 2.33)
Description: JSON manipulation library - shared library
 This library allows you to easily construct JSON objects in C,
 output them as JSON formatted strings and parse JSON formatted
 strings back into the C representation of JSON objects.
Homepage: https://github.com/json-c/json-c/wiki

Package: libk5crypto3
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 261
Maintainer: Sam Hartman <hartmans@debian.org>
Architecture: amd64
Multi-Arch: same
Source: krb5
Version: 1.20.1-2+deb12u3
Depends: libc6 (>= 2.33), libkrb5support0 (>= 1.20)
Suggests: krb5-doc, krb5-user
Breaks: libgssapi-krb5-2 (<= 1.18~), libkrb5-3 (<= 1.18~)
Description: MIT Kerberos runtime libraries - Crypto Library
 Kerberos is a system for authenticating users and services on a network.
 Kerberos is a trusted third-party service.  That means that there is a
 third party (the Kerberos server) that is trusted by all the entities on
 the network (users and services, usually called "principals").
 .
 This is the MIT reference implementation of Kerberos V5.
 .
 This package contains the runtime cryptography libraries used by
 applications and Kerberos clients.
Homepage: https://web.mit.edu/kerberos/

Package: libkeyutils1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 40
Maintainer: Christian Kastner <ckk@debian.org>
Architecture: amd64
Multi-Arch: same
Source: keyutils
Version: 1.6.3-2
Depends: libc6 (>= 2.14)
Description: Linux Key Management Utilities (library)
 Keyutils is a set of utilities for managing the key retention facility in the
 kernel, which can be used by filesystems, block devices and more to gain and
 retain the authorization and encryption keys required to perform secure
 operations.
 .
 This package provides a wrapper library for the key management facility system
 calls.
Homepage: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git

Package: libklibc
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 97
Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
Architecture: amd64
Multi-Arch: same
Source: klibc
Version: 2.0.12-1
Description: minimal libc subset for use with initramfs
 klibc is intended to be a minimalistic libc subset for use with
 initramfs.  It is deliberately written for small size, minimal
 entanglement, and portability, not speed.  It is definitely a work in
 progress, and a lot of things are still missing.
Homepage: https://git.kernel.org/cgit/libs/klibc/klibc.git

Package: libkmod2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 141
Maintainer: Marco d'Itri <md@linux.it>
Architecture: amd64
Multi-Arch: same
Source: kmod
Version: 30+20221128-1
Depends: libc6 (>= 2.33), liblzma5 (>= 5.1.1alpha+20120614), libssl3 (>= 3.0.0), libzstd1 (>= 1.5.2)
Description: libkmod shared library
 This library provides an API for insertion, removal, configuration and
 listing of kernel modules.

Package: libkrb5-3
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 1077
Maintainer: Sam Hartman <hartmans@debian.org>
Architecture: amd64
Multi-Arch: same
Source: krb5
Version: 1.20.1-2+deb12u3
Depends: libc6 (>= 2.34), libcom-err2 (>= 1.43.9), libk5crypto3 (>= 1.20), libkeyutils1 (>= 1.5.9), libkrb5support0 (= 1.20.1-2+deb12u3), libssl3 (>= 3.0.0)
Recommends: krb5-locales
Suggests: krb5-doc, krb5-user
Breaks: libapache2-mod-auth-kerb (<= 5.4-2.4), libsmbclient (<= 2:3.6.1-2), sssd (<= 1.2.1-4.3)
Description: MIT Kerberos runtime libraries
 Kerberos is a system for authenticating users and services on a network.
 Kerberos is a trusted third-party service.  That means that there is a
 third party (the Kerberos server) that is trusted by all the entities on
 the network (users and services, usually called "principals").
 .
 This is the MIT reference implementation of Kerberos V5.
 .
 This package contains the runtime library for the main Kerberos v5 API
 used by applications and Kerberos clients.
Homepage: https://web.mit.edu/kerberos/

Package: libkrb5support0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 134
Maintainer: Sam Hartman <hartmans@debian.org>
Architecture: amd64
Multi-Arch: same
Source: krb5
Version: 1.20.1-2+deb12u3
Depends: libc6 (>= 2.34)
Breaks: libgssapi-krb5-2 (<< 1.20), libk5crypto3 (<< 1.20), libkadm5clnt-mit9 (<< 1.13~alpha1-1), libkadm5srv-mit9 (<< 1.13~alpha1-1), libkdb5-8 (<< 1.16)
Description: MIT Kerberos runtime libraries - Support library
 Kerberos is a system for authenticating users and services on a network.
 Kerberos is a trusted third-party service.  That means that there is a
 third party (the Kerberos server) that is trusted by all the entities on
 the network (users and services, usually called "principals").
 .
 This is the MIT reference implementation of Kerberos V5.
 .
 This package contains an internal runtime support library used by other
 Kerberos libraries.
Homepage: https://web.mit.edu/kerberos/

Package: liblocale-gettext-perl
Status: install ok installed
Priority: required
Section: perl
Installed-Size: 51
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Architecture: amd64
Version: 1.07-5
Depends: libc6 (>= 2.3)
Pre-Depends: perl-base (>= 5.36.0-5), perlapi-5.36.0
Description: module using libc functions for internationalization in Perl
 The Locale::gettext module permits access from perl to the gettext() family of
 functions for retrieving message strings from databases constructed
 to internationalize software.
 .
 It provides gettext(), dgettext(), dcgettext(), textdomain(),
 bindtextdomain(), bind_textdomain_codeset(), ngettext(), dcngettext()
 and dngettext().
Homepage: https://metacpan.org/release/gettext

Package: liblz4-1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 169
Maintainer: Nobuhiro Iwamatsu <iwamatsu@debian.org>
Architecture: amd64
Multi-Arch: same
Source: lz4
Version: 1.9.4-1
Replaces: liblz4-1a
Depends: libc6 (>= 2.14)
Breaks: liblz4-1a
Description: Fast LZ compression algorithm library - runtime
 LZ4 is a very fast lossless compression algorithm, providing compression speed
 at 400 MB/s per core, scalable with multi-cores CPU. It also features an
 extremely fast decoder, with speed in multiple GB/s per core, typically
 reaching RAM speed limits on multi-core systems.
 .
 This package includes the shared library.
Homepage: https://github.com/lz4/lz4

Package: liblzma5
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 333
Maintainer: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Architecture: amd64
Multi-Arch: same
Source: xz-utils
Version: 5.4.1-1
Depends: libc6 (>= 2.34)
Breaks: liblzma2 (<< 5.1.1alpha+20110809-3~)
Description: XZ-format compression library
 XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm
 compression format, which provides memory-hungry but powerful
 compression (often better than bzip2) and fast, easy decompression.
 .
 The native format of liblzma is XZ; it also supports raw (headerless)
 streams and the older LZMA format used by lzma. (For 7-Zip's related
 format, use the p7zip package instead.)
Homepage: https://tukaani.org/xz/

Package: libmd0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 79
Maintainer: Guillem Jover <guillem@debian.org>
Architecture: amd64
Multi-Arch: same
Source: libmd
Version: 1.0.4-2
Depends: libc6 (>= 2.33)
Description: message digest functions from BSD systems - shared library
 The libmd library provides various message digest ("hash") functions,
 as found on various BSDs on a library with the same name and with a
 compatible API.
Homepage: https://www.hadrons.org/software/libmd/

Package: libmnl0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 46
Maintainer: Debian Netfilter Packaging Team <pkg-netfilter-team@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: libmnl
Version: 1.0.4-3
Depends: libc6 (>= 2.14)
Description: minimalistic Netlink communication library
 libmnl is a minimalistic user-space library oriented to Netlink developers.
 There are a lot of common tasks in parsing, validating, constructing of
 both the Netlink header and TLVs that are repetitive and easy to get wrong.
 This library aims to provide simple helpers that allows you to re-use code
 and to avoid re-inventing the wheel.
 .
 The main features of this library are:
 .
 Small: the shared library requires around 30KB for an x86-based computer.
 .
 Simple: this library avoids complexity and elaborated abstractions that
 tend to hide Netlink details.
 .
 Easy to use: the library simplifies the work for Netlink-wise developers.
 It provides functions to make socket handling, message building,
 validating, parsing and sequence tracking, easier.
 .
 Easy to re-use: you can use the library to build your own abstraction
 layer on top of this library.
 .
 Decoupling: the interdependency of the main bricks that compose the
 library is reduced, i.e. the library provides many helpers, but the
 programmer is not forced to use them.
 .
 This package contains the shared libraries needed to run programs that use
 the minimalistic Netlink communication library.
Homepage: https://netfilter.org/projects/libmnl/

Package: libmount1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 454
Maintainer: util-linux packagers <util-linux@packages.debian.org>
Architecture: amd64
Multi-Arch: same
Source: util-linux
Version: 2.38.1-5+deb12u3
Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.34), libselinux1 (>= 3.1~)
Suggests: cryptsetup-bin
Description: device mounting library
 This device mounting library is used by mount and umount helpers.
Homepage: https://www.kernel.org/pub/linux/utils/util-linux/

Package: libncursesw6
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 412
Maintainer: Craig Small <csmall@debian.org>
Architecture: amd64
Multi-Arch: same
Source: ncurses
Version: 6.4-4
Depends: libtinfo6 (= 6.4-4), libc6 (>= 2.34)
Recommends: libgpm2
Description: shared libraries for terminal handling (wide character support)
 The ncurses library routines are a terminal-independent method of
 updating character screens with reasonable optimization.
 .
 This package contains the shared libraries necessary to run programs
 compiled with ncursesw, which includes support for wide characters.
Homepage: https://invisible-island.net/ncurses/

Package: libnettle8
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 520
Maintainer: Magnus Holmgren <holmgren@debian.org>
Architecture: amd64
Multi-Arch: same
Source: nettle
Version: 3.8.1-2
Depends: libc6 (>= 2.17)
Description: low level cryptographic library (symmetric and one-way cryptos)
 Nettle is a cryptographic library that is designed to fit easily in more or
 less any context: In crypto toolkits for object-oriented languages (C++,
 Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel
 space.
 .
 It tries to solve a problem of providing a common set of cryptographic
 algorithms for higher-level applications by implementing a
 context-independent set of cryptographic algorithms. In that light, Nettle
 doesn't do any memory allocation or I/O, it simply provides the
 cryptographic algorithms for the application to use in any environment and
 in any way it needs.
 .
 This package contains the symmetric and one-way cryptographic
 algorithms. To avoid having this package depend on libgmp, the
 asymmetric cryptos reside in a separate library, libhogweed.
Homepage: http://www.lysator.liu.se/~nisse/nettle/

Package: libnewt0.52
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 365
Maintainer: Alastair McKinstry <mckinstry@debian.org>
Architecture: amd64
Multi-Arch: same
Source: newt (0.52.23-1)
Version: 0.52.23-1+b1
Depends: libc6 (>= 2.34), libslang2 (>= 2.2.4)
Recommends: libfribidi0
Description: Not Erik's Windowing Toolkit - text mode windowing with slang
 Newt is a windowing toolkit for text mode built from the slang library.
 It allows color text mode applications to easily use stackable windows,
 push buttons, check boxes, radio buttons, lists, entry fields, labels,
 and displayable text. Scrollbars are supported, and forms may be nested
 to provide extra functionality. This package contains the shared library
 for programs that have been built with newt.
Homepage: https://pagure.io/newt

Package: libnftables1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 920
Maintainer: Debian Netfilter Packaging Team <pkg-netfilter-team@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: nftables
Version: 1.0.6-2+deb12u2
Depends: libc6 (>= 2.34), libgmp10 (>= 2:6.2.1+dfsg1), libjansson4 (>= 2.14), libmnl0 (>= 1.0.3-4~), libnftnl11 (>= 1.2.2), libxtables12 (>= 1.6.0+snapshot20161117)
Description: Netfilter nftables high level userspace API library
 This library provides high level semantics to interact with the nftables
 framework by Netfilter project.
 .
 nftables replaces the old popular iptables, ip6tables, arptables and ebtables.
 .
 Netfilter software and nftables in particular are used in applications such
 as Internet connection sharing, firewalls, IP accounting, transparent
 proxying, advanced routing and traffic control.
 .
 A Linux kernel >= 3.13 is required. However, >= 4.14 is recommended.
 .
 This package contains the libnftables library.
Homepage: https://www.netfilter.org/

Package: libnftnl11
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 233
Maintainer: Debian Netfilter Packaging Team <pkg-netfilter-team@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: libnftnl
Version: 1.2.4-2
Depends: libc6 (>= 2.34), libmnl0 (>= 1.0.3-4~)
Description: Netfilter nftables userspace API library
 libnftnl is the low-level library for Netfilter 4th generation
 framework nftables.
 .
 Is the user-space library for low-level interaction with
 nftables Netlink's API over libmnl.
Homepage: https://git.netfilter.org/libnftnl

Package: libp11-kit0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 1408
Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: p11-kit
Version: 0.24.1-2
Depends: libc6 (>= 2.34), libffi8 (>= 3.4)
Description: library for loading and coordinating access to PKCS#11 modules - runtime
 The p11-kit library provides a way to load and enumerate Public-Key
 Cryptography Standard #11 modules, along with a standard configuration
 setup for installing PKCS#11 modules so that they're discoverable. It
 also solves problems with coordinating the use of PKCS#11 by different
 components or libraries living in the same process.
 .
 This package contains the shared library required for applications loading
 and accessing PKCS#11 modules.
Homepage: https://p11-glue.github.io/p11-glue/p11-kit.html

Package: libpam-modules
Status: install ok installed
Priority: required
Section: admin
Installed-Size: 1031
Maintainer: Sam Hartman <hartmans@debian.org>
Architecture: amd64
Multi-Arch: same
Source: pam
Version: 1.5.2-6+deb12u1
Replaces: libpam-umask, libpam0g-util
Provides: libpam-mkhomedir, libpam-motd, libpam-umask
Pre-Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcrypt1 (>= 1:4.3.0), libdb5.3, libpam0g (>= 1.4.1), libselinux1 (>= 3.1~), debconf (>= 0.5) | debconf-2.0, libpam-modules-bin (= 1.5.2-6+deb12u1)
Conflicts: libpam-mkhomedir, libpam-motd, libpam-umask
Conffiles:
 /etc/security/access.conf dc21d0fd769d655b311d785670e5c6ae
 /etc/security/faillock.conf 164da8ffb87f3074179bc60b71d0b99f
 /etc/security/group.conf f1e26e8db6f7abd2d697d7dad3422c36
 /etc/security/limits.conf 0b1967ff9042a716ce6b01cb999aa1f5
 /etc/security/namespace.conf 6b3796403421d66db7defc46517711bc
 /etc/security/namespace.init d9e6a7c85e966427ef23a04ec6c7000f
 /etc/security/pam_env.conf 89cc8702173d5cd51abc152ae9f8d6bc
 /etc/security/sepermit.conf 3d82df292d497bbeaaf8ebef18cd14f1
 /etc/security/time.conf 06e05c6079e839c8833ac7c3abfde192
Description: Pluggable Authentication Modules for PAM
 This package completes the set of modules for PAM. It includes the
  pam_unix.so module as well as some specialty modules.
Homepage: http://www.linux-pam.org/

Package: libpam-modules-bin
Status: install ok installed
Priority: required
Section: admin
Installed-Size: 227
Maintainer: Sam Hartman <hartmans@debian.org>
Architecture: amd64
Multi-Arch: foreign
Source: pam
Version: 1.5.2-6+deb12u1
Replaces: libpam-modules (<< 1.5.2-5~)
Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcrypt1 (>= 1:4.3.0), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~)
Description: Pluggable Authentication Modules for PAM - helper binaries
 This package contains helper binaries used by the standard set of PAM
 modules in the libpam-modules package.
Homepage: http://www.linux-pam.org/

Package: libpam-runtime
Status: install ok installed
Priority: required
Section: admin
Installed-Size: 876
Maintainer: Sam Hartman <hartmans@debian.org>
Architecture: all
Multi-Arch: foreign
Source: pam
Version: 1.5.2-6+deb12u1
Replaces: libpam0g-dev, libpam0g-util
Depends: debconf (>= 0.5) | debconf-2.0, debconf (>= 1.5.19) | cdebconf, libpam-modules (>= 1.0.1-6)
Conflicts: libpam0g-util
Conffiles:
 /etc/pam.conf 87fc76f18e98ee7d3848f6b81b3391e5
 /etc/pam.d/other 31aa7f2181889ffb00b87df4126d1701
Description: Runtime support for the PAM library
 Contains configuration files and  directories required for
 authentication  to work on Debian systems.  This package is required
 on almost all installations.
Homepage: http://www.linux-pam.org/

Package: libpam0g
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 215
Maintainer: Sam Hartman <hartmans@debian.org>
Architecture: amd64
Multi-Arch: same
Source: pam
Version: 1.5.2-6+deb12u1
Replaces: libpam0g-util
Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), debconf (>= 0.5) | debconf-2.0
Suggests: libpam-doc
Description: Pluggable Authentication Modules library
 Contains the shared library for Linux-PAM, a library that enables the
 local system administrator to choose how applications authenticate users.
 In other words, without rewriting or recompiling a PAM-aware application,
 it is possible to switch between the authentication mechanism(s) it uses.
 One may entirely upgrade the local authentication system without touching
 the applications themselves.
Homepage: http://www.linux-pam.org/

Package: libpci3
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 124
Maintainer: Guillem Jover <guillem@debian.org>
Architecture: amd64
Multi-Arch: same
Source: pciutils
Version: 1:3.9.0-4
Depends: libc6 (>= 2.34), libudev1 (>= 196), zlib1g (>= 1:1.1.4), pci.ids (>= 0.0~2019.11.10-2)
Description: PCI utilities (shared library)
 This package contains the libpci shared library files.
 .
 The libpci library provides portable access to configuration
 registers of devices connected to the PCI bus.
Homepage: https://mj.ucw.cz/sw/pciutils/

Package: libpcre2-8-0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 685
Maintainer: Matthew Vernon <matthew@debian.org>
Architecture: amd64
Multi-Arch: same
Source: pcre2
Version: 10.42-1
Depends: libc6 (>= 2.34)
Description: New Perl Compatible Regular Expression Library- 8 bit runtime files
 This is PCRE2, the new implementation of PCRE, a library of functions
 to support regular expressions whose syntax and semantics are as
 close as possible to those of the Perl 5 language. New projects
 should use this library in preference to the older library,
 confusingly called pcre3 in Debian.
 .
 This package contains the 8 bit runtime library, which operates on
 ASCII and UTF-8 input.
Homepage: https://pcre.org/

Package: libpopt0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 245
Maintainer: Håvard F. Aasen <havard.f.aasen@pfft.no>
Architecture: amd64
Multi-Arch: same
Source: popt
Version: 1.19+dfsg-1
Depends: libc6 (>= 2.33)
Description: lib for parsing cmdline parameters
 Popt was heavily influenced by the getopt() and getopt_long() functions,
 but it allows more powerful argument expansion. It can parse arbitrary
 argv[] style arrays and automatically set variables based on command
 line arguments. It also allows command line arguments to be aliased via
 configuration files and includes utility functions for parsing arbitrary
 strings into argv[] arrays using shell-like rules.
 .
 This package contains the runtime library and locale data.
Homepage: https://github.com/rpm-software-management/popt

Package: libproc2-0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 232
Maintainer: Craig Small <csmall@debian.org>
Architecture: amd64
Multi-Arch: same
Source: procps
Version: 2:4.0.2-3
Replaces: procps (<< 1:3.3.2-1)
Depends: libc6 (>= 2.34), libsystemd0 (>= 209)
Description: library for accessing process information from /proc
 The libproc2 library is a way of accessing information out of the /proc
 filesystem.
 .
 This package contains the shared libraries necessary to run programs
 compiled with libproc2.
Homepage: https://gitlab.com/procps-ng/procps

Package: libreadline8
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 475
Maintainer: Matthias Klose <doko@debian.org>
Architecture: amd64
Multi-Arch: same
Source: readline
Version: 8.2-1.3
Depends: readline-common, libc6 (>= 2.33), libtinfo6 (>= 6)
Description: GNU readline and history libraries, run-time libraries
 The GNU readline library aids in the consistency of user interface
 across discrete programs that need to provide a command line
 interface.
 .
 The GNU history library provides a consistent user interface for
 recalling lines of previously typed input.

Package: libseccomp2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 148
Maintainer: Kees Cook <kees@debian.org>
Architecture: amd64
Multi-Arch: same
Source: libseccomp
Version: 2.5.4-1+deb12u1
Depends: libc6 (>= 2.4)
Description: high level interface to Linux seccomp filter
 This library provides a high level interface to constructing, analyzing
 and installing seccomp filters via a BPF passed to the Linux Kernel's
 prctl() syscall.
Homepage: https://github.com/seccomp/libseccomp

Package: libselinux1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 199
Maintainer: Debian SELinux maintainers <selinux-devel@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: libselinux (3.4-1)
Version: 3.4-1+b6
Depends: libc6 (>= 2.34), libpcre2-8-0 (>= 10.22)
Description: SELinux runtime shared libraries
 This package provides the shared libraries for Security-enhanced
 Linux that provides interfaces (e.g. library functions for the
 SELinux kernel APIs like getcon(), other support functions like
 getseuserbyname()) to SELinux-aware applications. Security-enhanced
 Linux is a patch of the Linux kernel and a number of utilities with
 enhanced security functionality designed to add mandatory access
 controls to Linux.  The Security-enhanced Linux kernel contains new
 architectural components originally developed to improve the security
 of the Flask operating system. These architectural components provide
 general support for the enforcement of many kinds of mandatory access
 control policies, including those based on the concepts of Type
 Enforcement, Role-based Access Control, and Multi-level Security.
 .
 libselinux1 provides an API for SELinux applications to get and set
 process and file security contexts and to obtain security policy
 decisions.  Required for any applications that use the SELinux
 API. libselinux may use the shared libsepol to manipulate the binary
 policy if necessary (e.g. to downgrade the policy format to an older
 version supported by the kernel) when loading policy.
Homepage: https://selinuxproject.org

Package: libsemanage-common
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 37
Maintainer: Debian SELinux maintainers <selinux-devel@lists.alioth.debian.org>
Architecture: all
Multi-Arch: foreign
Source: libsemanage
Version: 3.4-1
Conffiles:
 /etc/selinux/semanage.conf 8e8dfac33a09c1b53ca08bf6d4201b10
Description: Common files for SELinux policy management libraries
 This package provides the common files used by the shared libraries
 for SELinux policy management.
 .
 Security-enhanced Linux is a patch of the Linux kernel and a
 number of utilities with enhanced security functionality designed to
 add mandatory access controls to Linux.  The Security-enhanced Linux
 kernel contains new architectural components originally developed to
 improve the security of the Flask operating system. These
 architectural components provide general support for the enforcement
 of many kinds of mandatory access control policies, including those
 based on the concepts of Type Enforcement, Role-based Access
 Control, and Multi-level Security.
Homepage: https://selinuxproject.org

Package: libsemanage2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 297
Maintainer: Debian SELinux maintainers <selinux-devel@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: libsemanage (3.4-1)
Version: 3.4-1+b5
Depends: libsemanage-common (>= 3.4-1), libaudit1 (>= 1:2.2.1), libbz2-1.0, libc6 (>= 2.34), libselinux1 (>= 3.4), libsepol2 (>= 3.4)
Breaks: policycoreutils (<< 3.0)
Description: SELinux policy management library
 This package provides the shared libraries for SELinux policy management.
 It uses libsepol for binary policy manipulation and libselinux for
 interacting with the SELinux system.  It also exec's helper programs
 for loading policy and for checking whether the file_contexts
 configuration is valid (load_policy and setfiles from
 policycoreutils) presently, although this may change at least for the
 bootstrapping case
 .
 Security-enhanced Linux is a patch of the Linux kernel and a
 number of utilities with enhanced security functionality designed to
 add mandatory access controls to Linux.  The Security-enhanced Linux
 kernel contains new architectural components originally developed to
 improve the security of the Flask operating system. These
 architectural components provide general support for the enforcement
 of many kinds of mandatory access control policies, including those
 based on the concepts of Type Enforcement, Role-based Access
 Control, and Multi-level Security.
Homepage: https://selinuxproject.org

Package: libsepol2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 775
Maintainer: Debian SELinux maintainers <selinux-devel@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: libsepol
Version: 3.4-2.1
Depends: libc6 (>= 2.33)
Description: SELinux library for manipulating binary security policies
 Security-enhanced Linux is a patch of the Linux kernel and a number
 of utilities with enhanced security functionality designed to add
 mandatory access controls to Linux.  The Security-enhanced Linux
 kernel contains new architectural components originally developed to
 improve the security of the Flask operating system. These
 architectural components provide general support for the enforcement
 of many kinds of mandatory access control policies, including those
 based on the concepts of Type Enforcement®, Role-based Access
 Control, and Multi-level Security.
 .
 libsepol provides an API for the manipulation of SELinux binary policies.
 It is used by checkpolicy (the policy compiler) and similar tools, as well
 as by programs like load_policy that need to perform specific transformations
 on binary policies such as customizing policy boolean settings.
Homepage: https://selinuxproject.org

Package: libslang2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 2386
Maintainer: Alastair McKinstry <mckinstry@debian.org>
Architecture: amd64
Multi-Arch: same
Source: slang2
Version: 2.3.3-3
Depends: libc6 (>= 2.35)
Description: S-Lang programming library - runtime version
 S-Lang is a C programmer's library that includes routines for the rapid
 development of sophisticated, user friendly, multi-platform applications.
 .
 This package contains only the shared library libslang.so.* and copyright
 information. It is only necessary for programs that use this library (such
 as jed and slrn). If you plan on doing development with S-Lang, you will
 need the companion -dev package as well.
Built-Using: unicode-data (= 15.0.0-1)
Homepage: http://www.jedsoft.org/slang/

Package: libsmartcols1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 289
Maintainer: util-linux packagers <util-linux@packages.debian.org>
Architecture: amd64
Multi-Arch: same
Source: util-linux
Version: 2.38.1-5+deb12u3
Depends: libc6 (>= 2.33)
Description: smart column output alignment library
 This smart column output alignment library is used by fdisk utilities.
Homepage: https://www.kernel.org/pub/linux/utils/util-linux/

Package: libss2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 70
Maintainer: Theodore Y. Ts'o <tytso@mit.edu>
Architecture: amd64
Multi-Arch: same
Source: e2fsprogs
Version: 1.47.0-2
Replaces: e2fsprogs (<< 1.34-1)
Depends: libcom-err2, libc6 (>= 2.34)
Description: command-line interface parsing library
 libss provides a simple command-line interface parser which will
 accept input from the user, parse the command into an argv argument
 vector, and then dispatch it to a handler function.
 .
 It was originally inspired by the Multics SubSystem library.
Homepage: http://e2fsprogs.sourceforge.net

Package: libssl3
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 6021
Maintainer: Debian OpenSSL Team <pkg-openssl-devel@alioth-lists.debian.net>
Architecture: amd64
Multi-Arch: same
Source: openssl
Version: 3.0.17-1~deb12u3
Depends: libc6 (>= 2.34)
Description: Secure Sockets Layer toolkit - shared libraries
 This package is part of the OpenSSL project's implementation of the SSL
 and TLS cryptographic protocols for secure communication over the
 Internet.
 .
 It provides the libssl and libcrypto shared libraries.
Homepage: https://www.openssl.org/

Package: libstdc++6
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 2686
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: amd64
Multi-Arch: same
Source: gcc-12
Version: 12.2.0-14+deb12u1
Replaces: libstdc++6-12-dbg (<< 4.9.0-3)
Depends: gcc-12-base (= 12.2.0-14+deb12u1), libc6 (>= 2.36), libgcc-s1 (>= 4.2)
Breaks: gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2)
Conflicts: scim (<< 1.4.2-1)
Description: GNU Standard C++ Library v3
 This package contains an additional runtime library for C++ programs
 built with the GNU compiler.
 .
 libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which
 was included up to g++-2.95. The first version of libstdc++-v3 appeared
 in g++-3.0.
Homepage: http://gcc.gnu.org/

Package: libsystemd-shared
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 5345
Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: systemd
Version: 252.39-1~deb12u1
Depends: libacl1 (>= 2.2.23), libapparmor1 (>= 2.13), libaudit1 (>= 1:2.2.1), libblkid1 (>= 2.24), libc6 (>= 2.36), libcap2 (>= 1:2.10), libcrypt1 (>= 1:4.4.0), libgcrypt20 (>= 1.10.0), libip4tc2 (>= 1.8.3), libkmod2 (>= 15), liblz4-1 (>= 0.0~r130), liblzma5 (>= 5.1.1alpha+20120614), libmount1 (>= 2.30), libpam0g (>= 0.99.7.1), libseccomp2 (>= 2.4.1), libselinux1 (>= 3.1~), libssl3 (>= 3.0.0), libzstd1 (>= 1.5.2)
Description: systemd shared private library
 This internal shared library provides common code used by various systemd
 components. It is supposed to decrease memory and disk footprint.
 The shared library is not meant for public use and is not API or ABI stable.
Homepage: https://www.freedesktop.org/wiki/Software/systemd

Package: libsystemd0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 908
Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: systemd
Version: 252.39-1~deb12u1
Depends: libc6 (>= 2.34), libcap2 (>= 1:2.10), libgcrypt20 (>= 1.10.0), liblz4-1 (>= 0.0~r122), liblzma5 (>= 5.1.1alpha+20120614), libzstd1 (>= 1.5.2)
Description: systemd utility library
 This library provides APIs to interface with various system components such as
 the system journal, the system service manager, D-Bus and more.
Homepage: https://www.freedesktop.org/wiki/Software/systemd

Package: libtasn1-6
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 116
Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Version: 4.19.0-2+deb12u1
Depends: libc6 (>= 2.14)
Description: Manage ASN.1 structures (runtime)
 Manage ASN1 (Abstract Syntax Notation One) structures.
 The main features of this library are:
   * on-line ASN1 structure management that doesn't require any C code
     file generation.
   * off-line ASN1 structure management with C code file generation
     containing an array.
   * DER (Distinguish Encoding Rules) encoding
   * no limits for INTEGER and ENUMERATED values
 .
 This package contains runtime libraries.
Homepage: https://www.gnu.org/software/libtasn1/

Package: libtext-charwidth-perl
Status: install ok installed
Priority: required
Section: perl
Installed-Size: 41
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Version: 0.04-11
Depends: libc6 (>= 2.4), perl-base (>= 5.36.0-4), perlapi-5.36.0
Description: get display widths of characters on the terminal
 Text::CharWidth permits one to get the display widths of characters
 and strings on the terminal, using wcwidth() and wcswidth() from libc.
 .
 It provides mbwidth(), mbswidth(), and mblen().
Homepage: https://metacpan.org/release/Text-CharWidth

Package: libtext-iconv-perl
Status: install ok installed
Priority: required
Section: perl
Installed-Size: 49
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Version: 1.7-8
Depends: libc6 (>= 2.4), perl-base (>= 5.36.0-4), perlapi-5.36.0
Description: module to convert between character sets in Perl
 The iconv() family of functions from XPG4 defines an API for converting
 between character sets (e.g. UTF-8 to Latin1, EBCDIC to ASCII). They
 are provided by libc6.
 .
 This package allows access to them from Perl via the Text::Iconv
 package.
Homepage: https://metacpan.org/release/Text-Iconv

Package: libtext-wrapi18n-perl
Status: install ok installed
Priority: required
Section: perl
Installed-Size: 26
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Architecture: all
Version: 0.06-10
Depends: libtext-charwidth-perl
Description: internationalized substitute of Text::Wrap
 The Text::WrapI18N module is a substitution for Text::Wrap, supporting
 multibyte characters such as UTF-8, EUC-JP, and GB2312, fullwidth characters
 such as east Asian characters, combining characters such as diacritical marks
 and Thai, and languages which don't use whitespaces between words such as
 Chinese and Japanese.
 .
 It provides wrap().
Homepage: https://metacpan.org/release/Text-WrapI18N

Package: libtinfo6
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 541
Maintainer: Craig Small <csmall@debian.org>
Architecture: amd64
Multi-Arch: same
Source: ncurses
Version: 6.4-4
Depends: libc6 (>= 2.34)
Description: shared low-level terminfo library for terminal handling
 The ncurses library routines are a terminal-independent method of
 updating character screens with reasonable optimization.
 .
 This package contains the shared low-level terminfo library.
Homepage: https://invisible-island.net/ncurses/

Package: libtirpc-common
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 35
Maintainer: Josue Ortega <josue@debian.org>
Architecture: all
Multi-Arch: foreign
Source: libtirpc
Version: 1.3.3+ds-1
Replaces: libtirpc1, libtirpc3 (<< 1.1.4-0.1~)
Breaks: libtirpc1, libtirpc3 (<< 1.1.4-0.1~)
Conffiles:
 /etc/netconfig ca8db53e3af4d735335c2607d21c7195
Description: transport-independent RPC library - common files
 This package contains a port of Sun's transport-independent RPC library to
 Linux. The library is intended as a replacement for the RPC code in the GNU C
 library, providing among others support for RPC (and in turn, NFS) over IPv6.
 .
 This package contains the netconfig configuration file as well as the
 associated manpage.
Homepage: http://sourceforge.net/projects/libtirpc

Package: libtirpc3
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 226
Maintainer: Josue Ortega <josue@debian.org>
Architecture: amd64
Multi-Arch: same
Source: libtirpc
Version: 1.3.3+ds-1
Depends: libc6 (>= 2.34), libgssapi-krb5-2 (>= 1.17), libtirpc-common (>= 1.3.3+ds-1)
Breaks: nfs-common (<< 1:1.2.8-7), nfs-kernel-server (<< 1:1.2.8-7)
Description: transport-independent RPC library
 This package contains a port of Sun's transport-independent RPC library to
 Linux. The library is intended as a replacement for the RPC code in the GNU C
 library, providing among others support for RPC (and in turn, NFS) over IPv6.
Homepage: http://sourceforge.net/projects/libtirpc

Package: libudev1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 239
Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: systemd
Version: 252.39-1~deb12u1
Depends: libc6 (>= 2.34)
Description: libudev shared library
 This library provides APIs to introspect and enumerate devices on the local
 system.
Homepage: https://www.freedesktop.org/wiki/Software/systemd

Package: libunistring2
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 1807
Maintainer: Jörg Frings-Fürst <debian@jff.email>
Architecture: amd64
Multi-Arch: same
Source: libunistring
Version: 1.0-2
Depends: libc6 (>= 2.34)
Description: Unicode string library for C
 The 'libunistring' library implements Unicode strings (in the UTF-8,
 UTF-16, and UTF-32 encodings), together with functions for Unicode
 characters (character names, classifications, properties) and
 functions for string processing (formatted output, width, word
 breaks, line breaks, normalization, case folding, regular
 expressions).
 .
 This package contains the shared library.
Homepage: https://www.gnu.org/software/libunistring/

Package: libusb-1.0-0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 155
Maintainer: Aurelien Jarno <aurel32@debian.org>
Architecture: amd64
Multi-Arch: same
Source: libusb-1.0
Version: 2:1.0.26-1
Depends: libc6 (>= 2.17), libudev1 (>= 183)
Description: userspace USB programming library
 Library for programming USB applications without the knowledge
 of Linux kernel internals.
 .
 This package contains what you need to run programs that use this
 library.
Homepage: http://www.libusb.info

Package: libuuid1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 79
Maintainer: util-linux packagers <util-linux@packages.debian.org>
Architecture: amd64
Multi-Arch: same
Source: util-linux
Version: 2.38.1-5+deb12u3
Depends: libc6 (>= 2.25)
Recommends: uuid-runtime
Description: Universally Unique ID library
 The libuuid library generates and parses 128-bit Universally Unique
 IDs (UUIDs). A UUID is an identifier that is unique within the space
 of all such identifiers across both space and time. It can be used for
 multiple purposes, from tagging objects with an extremely short lifetime
 to reliably identifying very persistent objects across a network.
 .
 See RFC 4122 for more information.
Homepage: https://www.kernel.org/pub/linux/utils/util-linux/

Package: libxtables12
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 101
Maintainer: Debian Netfilter Packaging Team <pkg-netfilter-team@lists.alioth.debian.org>
Architecture: amd64
Multi-Arch: same
Source: iptables
Version: 1.8.9-2
Replaces: libxtables11 (>= 1.6.0+snapshot20161117-1)
Depends: libc6 (>= 2.34)
Breaks: libxtables11 (>= 1.6.0+snapshot20161117-1)
Description: netfilter xtables library
 The iptables/xtables framework has been replaced by nftables. You should
 consider migrating now.
 .
 However, even if a given system may be fully running opackage Pod::Simple::BlackBox;
#
# "What's in the box?"  "Pain."
#
###########################################################################
#
# This is where all the scary things happen: parsing lines into
#  paragraphs; and then into directives, verbatims, and then also
#  turning formatting sequences into treelets.
#
# Are you really sure you want to read this code?
#
#-----------------------------------------------------------------------------
#
# The basic work of this module Pod::Simple::BlackBox is doing the dirty work
# of parsing Pod into treelets (generally one per non-verbatim paragraph), and
# to call the proper callbacks on the treelets.
#
# Every node in a treelet is a ['name', {attrhash}, ...children...]

use integer; # vroom!
use strict;
use Carp ();
use vars qw($VERSION );
$VERSION = '3.43';
#use constant DEBUG => 7;

sub my_qr ($$) {

    # $1 is a pattern to compile and return.  Older perls compile any
    # syntactically valid property, even if it isn't legal.  To cope with
    # this, return an empty string unless the compiled pattern also
    # successfully matches $2, which the caller furnishes.

    my ($input_re, $should_match) = @_;
    # XXX could have a third parameter $shouldnt_match for extra safety

    my $use_utf8 = ($] le 5.006002) ? 'use utf8;' : "";

    my $re = eval "no warnings; $use_utf8 qr/$input_re/";
    #print STDERR  __LINE__, ": $input_re: $@\n" if $@;
    return "" if $@;

    my $matches = eval "no warnings; $use_utf8 '$should_match' =~ /$re/";
    #print STDERR  __LINE__, ": $input_re: $@\n" if $@;
    return "" if $@;

    #print STDERR  __LINE__, ": SUCCESS: $re\n" if $matches;
    return $re if $matches;

    #print STDERR  __LINE__, ": $re: didn't match\n";
    return "";
}

BEGIN {
  require Pod::Simple;
  *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG
}

# Matches a character iff the character will have a different meaning
# if we choose CP1252 vs UTF-8 if there is no =encoding line.
# This is broken for early Perls on non-ASCII platforms.
my $non_ascii_re = my_qr('[[:^ascii:]]', "\xB6");
$non_ascii_re = qr/[\x80-\xFF]/ unless $non_ascii_re;

# Use patterns understandable by Perl 5.6, if possible
my $cs_re = do { no warnings; my_qr('\p{IsCs}', "\x{D800}") };
my $cn_re = my_qr('\p{IsCn}', "\x{09E4}");  # <reserved> code point unlikely
                                            # to get assigned
my $rare_blocks_re = my_qr('[\p{InIPAExtensions}\p{InSpacingModifierLetters}]',
                           "\x{250}");
$rare_blocks_re = my_qr('[\x{0250}-\x{02FF}]', "\x{250}") unless $rare_blocks_re;

my $script_run_re = eval 'no warnings "experimental::script_run";
                          qr/(*script_run: ^ .* $ )/x';
my $latin_re = my_qr('[\p{IsLatin}\p{IsInherited}\p{IsCommon}]', "\x{100}");
unless ($latin_re) {
    # This was machine generated to be the ranges of the union of the above
    # three properties, with things that were undefined by Unicode 4.1 filling
    # gaps.  That is the version in use when Perl advanced enough to
    # successfully compile and execute the above pattern.
    $latin_re = my_qr('[\x00-\x{02E9}\x{02EC}-\x{0374}\x{037E}\x{0385}\x{0387}\x{0485}\x{0486}\x{0589}\x{060C}\x{061B}\x{061F}\x{0640}\x{064B}-\x{0655}\x{0670}\x{06DD}\x{0951}-\x{0954}\x{0964}\x{0965}\x{0E3F}\x{10FB}\x{16EB}-\x{16ED}\x{1735}\x{1736}\x{1802}\x{1803}\x{1805}\x{1D00}-\x{1D25}\x{1D2C}-\x{1D5C}\x{1D62}-\x{1D65}\x{1D6B}-\x{1D77}\x{1D79}-\x{1DBE}\x{1DC0}-\x{1EF9}\x{2000}-\x{2125}\x{2127}-\x{27FF}\x{2900}-\x{2B13}\x{2E00}-\x{2E1D}\x{2FF0}-\x{3004}\x{3006}\x{3008}-\x{3020}\x{302A}-\x{302D}\x{3030}-\x{3037}\x{303C}-\x{303F}\x{3099}-\x{309C}\x{30A0}\x{30FB}\x{30FC}\x{3190}-\x{319F}\x{31C0}-\x{31CF}\x{3220}-\x{325F}\x{327F}-\x{32CF}\x{3358}-\x{33FF}\x{4DC0}-\x{4DFF}\x{A700}-\x{A716}\x{FB00}-\x{FB06}\x{FD3E}\x{FD3F}\x{FE00}-\x{FE6B}\x{FEFF}-\x{FF65}\x{FF70}\x{FF9E}\x{FF9F}\x{FFE0}-\x{FFFD}\x{10100}-\x{1013F}\x{1D000}-\x{1D1DD}\x{1D300}-\x{1D7FF}]', "\x{100}");
}

my $every_char_is_latin_re = my_qr("^(?:$latin_re)*\\z", "A");

# Latin script code points not in the first release of Unicode
my $later_latin_re = my_qr('[^\P{IsLatin}\p{IsAge=1.1}]', "\x{1F6}");

# If this perl doesn't have the Deprecated property, there's only one code
# point in it that we need be concerned with.
my $deprecated_re = my_qr('\p{IsDeprecated}', "\x{149}");
$deprecated_re = qr/\x{149}/ unless $deprecated_re;

my $utf8_bom;
if (($] ge 5.007_003)) {
  $utf8_bom = "\x{FEFF}";
  utf8::encode($utf8_bom);
} else {
  $utf8_bom = "\xEF\xBB\xBF";   # No EBCDIC BOM detection for early Perls.
}

# This is used so that the 'content_seen' method doesn't return true on a
# file that just happens to have a line that matches /^=[a-zA-z]/.  Only if
# there is a valid =foo line will we return that content was seen.
my $seen_legal_directive = 0;

#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

sub parse_line { shift->parse_lines(@_) } # alias

# - - -  Turn back now!  Run away!  - - -

sub parse_lines {             # Usage: $parser->parse_lines(@lines)
  # an undef means end-of-stream
  my $self = shift;

  my $code_handler = $self->{'code_handler'};
  my $cut_handler  = $self->{'cut_handler'};
  my $wl_handler   = $self->{'whiteline_handler'};
  $self->{'line_count'} ||= 0;

  my $scratch;

  DEBUG > 4 and
   print STDERR "# Parsing starting at line ", $self->{'line_count'}, ".\n";

  DEBUG > 5 and
   print STDERR "#  About to parse lines: ",
     join(' ', map defined($_) ? "[$_]" : "EOF", @_), "\n";

  my $paras = ($self->{'paras'} ||= []);
   # paragraph buffer.  Because we need to defer processing of =over
   # directives and verbatim paragraphs.  We call _ponder_paragraph_buffer
   # to process this.

  $self->{'pod_para_count'} ||= 0;

  # An attempt to match the pod portions of a line.  This is not fool proof,
  # but is good enough to serve as part of the heuristic for guessing the pod
  # encoding if not specified.
  my $codes = join '', grep { / ^ [A-Za-z] $/x } sort keys %{$self->{accept_codes}};
  my $pod_chars_re = qr/ ^ = [A-Za-z]+ | [\Q$codes\E] < /x;

  my $line;
  foreach my $source_line (@_) {
    if( $self->{'source_dead'} ) {
      DEBUG > 4 and print STDERR "# Source is dead.\n";
      last;
    }

    unless( defined $source_line ) {
      DEBUG > 4 and print STDERR "# Undef-line seen.\n";

      push @$paras, ['~end', {'start_line' => $self->{'line_count'}}];
      push @$paras, $paras->[-1], $paras->[-1];
       # So that it definitely fills the buffer.
      $self->{'source_dead'} = 1;
      $self->_ponder_paragraph_buffer;
      next;
    }


    if( $self->{'line_count'}++ ) {
      ($line = $source_line) =~ tr/\n\r//d;
       # If we don't have two vars, we'll end up with that there
       # tr/// modding the (potentially read-only) original source line!

    } else {
      DEBUG > 2 and print STDERR "First line: [$source_line]\n";

      if( ($line = $source_line) =~ s/^$utf8_bom//s ) {
        DEBUG and print STDERR "UTF-8 BOM seen.  Faking a '=encoding utf8'.\n";
        $self->_handle_encoding_line( "=encoding utf8" );
        delete $self->{'_processed_encoding'};
        $line =~ tr/\n\r//d;

      } elsif( $line =~ s/^\xFE\xFF//s ) {
        DEBUG and print STDERR "Big-endian UTF-16 BOM seen.  Aborting parsing.\n";
        $self->scream(
          $self->{'line_count'},
          "UTF16-BE Byte Encoding Mark found; but Pod::Simple v$Pod::Simple::VERSION doesn't implement UTF16 yet."
        );
        splice @_;
        push @_, undef;
        next;

        # TODO: implement somehow?

      } elsif( $line =~ s/^\xFF\xFE//s ) {
        DEBUG and print STDERR "Little-endian UTF-16 BOM seen.  Aborting parsing.\n";
        $self->scream(
          $self->{'line_count'},
          "UTF16-LE Byte Encoding Mark found; but Pod::Simple v$Pod::Simple::VERSION doesn't implement UTF16 yet."
        );
        splice @_;
        push @_, undef;
        next;

        # TODO: implement somehow?

      } else {
        DEBUG > 2 and print STDERR "First line is BOM-less.\n";
        ($line = $source_line) =~ tr/\n\r//d;
      }
    }

    if(!$self->{'parse_characters'} && !$self->{'encoding'}
      && ($self->{'in_pod'} || $line =~ /^=/s)
      && $line =~ /$non_ascii_re/
    ) {

      my $encoding;

      # No =encoding line, and we are at the first pod line in the input that
      # contains a non-ascii byte, that is, one whose meaning varies depending
      # on whether the file is encoded in UTF-8 or CP1252, which are the two
      # possibilities permitted by the pod spec.  (ASCII is assumed if the
      # file only contains ASCII bytes.)  In order to process this line, we
      # need to figure out what encoding we will use for the file.
      #
      # Strictly speaking ISO 8859-1 (Latin 1) refers to the code points
      # 160-255, but it is used here, as it often colloquially is, to refer to
      # the complete set of code points 0-255, including ASCII (0-127), the C1
      # controls (128-159), and strict Latin 1 (160-255).
      #
      # CP1252 is effectively a superset of Latin 1, because it differs only
      # from colloquial 8859-1 in the C1 controls, which are very unlikely to
      # actually be present in 8859-1 files, so can be used for other purposes
      # without conflict.  CP 1252 uses most of them for graphic characters.
      #
      # Note that all ASCII-range bytes represent their corresponding code
      # points in both CP1252 and UTF-8.  In ASCII platform UTF-8, all other
      # code points require multiple (non-ASCII) bytes to represent.  (A
      # separate paragraph for EBCDIC is below.)  The multi-byte
      # representation is quite structured.  If we find an isolated byte that
      # would require multiple bytes to represent in UTF-8, we know that the
      # encoding is not UTF-8.  If we find a sequence of bytes that violates
      # the UTF-8 structure, we also can presume the encoding isn't UTF-8, and
      # hence must be 1252.
      #
      # But there are ambiguous cases where we could guess wrong.  If so, the
      # user will end up having to supply an =encoding line.  We use all
      # readily available information to improve our chances of guessing
      # right.  The odds of something not being UTF-8, but still passing a
      # UTF-8 validity test go down very rapidly with increasing length of the
      # sequence.  Therefore we look at all non-ascii sequences on the line.
      # If any of the sequences can't be UTF-8, we quit there and choose
      # CP1252.  If all could be UTF-8, we see if any of the code points
      # represented are unlikely to be in pod.  If so, we guess CP1252.  If
      # not, we check if the line is all in the same script; if not guess
      # CP1252; otherwise UTF-8.  For perls that don't have convenient script
      # run testing, see if there is both Latin and non-Latin.  If so, CP1252,
      # otherwise UTF-8.
      #
      # On EBCDIC platforms, the situation is somewhat different.  In
      # UTF-EBCDIC, not only do ASCII-range bytes represent their code points,
      # but so do the bytes that are for the C1 controls.  Recall that these
      # correspond to the unused portion of 8859-1 that 1252 mostly takes
      # over.  That means that there are fewer code points that are
      # represented by multi-bytes.  But, note that the these controls are
      # very unlikely to be in pod text.  So if we encounter one of them, it
      # means that it is quite likely CP1252 and not UTF-8.  The net result is
      # the same code below is used for both platforms.
      #
      # XXX probably if the line has E<foo> that evaluates to illegal CP1252,
      # then it is UTF-8.  But we haven't processed E<> yet.

      goto set_1252 if $] lt 5.006_000;    # No UTF-8 on very early perls

      my $copy;

      no warnings 'utf8';

      if ($] ge 5.007_003) {
        $copy = $line;

        # On perls that have this function, we can use it to easily see if the
        # sequence is valid UTF-8 or not; if valid it turns on the UTF-8 flag
        # needed below for script run detection
        goto set_1252 if ! utf8::decode($copy);
      }
      elsif (ord("A") != 65) {  # Early EBCDIC, assume UTF-8.  What's a windows
                                # code page doing here anyway?
        goto set_utf8;
      }
      else { # ASCII, no decode(): do it ourselves using the fundamental
             # characteristics of UTF-8
        use if $] le 5.006002, 'utf8';

        my $char_ord;
        my $needed;         # How many continuation bytes to gobble up

        # Initialize the translated line with a dummy character that will be
        # deleted after everything else is done.  This dummy makes sure that
        # $copy will be in UTF-8.  Doing it now avoids the bugs in early perls
        # with upgrading in the middle
        $copy = chr(0x100);

        # Parse through the line
        for (my $i = 0; $i < length $line; $i++) {
          my $byte = substr($line, $i, 1);

          # ASCII bytes are trivially dealt with
          if ($byte !~ $non_ascii_re) {
            $copy .= $byte;
            next;
          }

          my $b_ord = ord $byte;

          # Now figure out what this code point would be if the input is
          # actually in UTF-8.  If, in the process, we discover that it isn't
          # well-formed UTF-8, we guess CP1252.
          #
          # Start the process.  If it is UTF-8, we are at the first, start
          # byte, of a multi-byte sequence.  We look at this byte to figure
          # out how many continuation bytes are needed, and to initialize the
          # code point accumulator with the data from this byte.
          #
          # Normally the minimum continuation byte is 0x80, but in certain
          # instances the minimum is a higher number.  So the code below
          # overrides this for those instances.
          my $min_cont = 0x80;

          if ($b_ord < 0xC2) { #  A start byte < C2 is malformed
            goto set_1252;
          }
          elsif ($b_ord <= 0xDF) {
            $needed = 1;
            $char_ord = $b_ord & 0x1F;
          }
          elsif ($b_ord <= 0xEF) {
            $min_cont = 0xA0 if $b_ord == 0xE0;
            $needed = 2;
            $char_ord = $b_ord & (0x1F >> 1);
          }
          elsif ($b_ord <= 0xF4) {
            $min_cont = 0x90 if $b_ord == 0xF0;
            $needed = 3;
            $char_ord = $b_ord & (0x1F >> 2);
          }
          else { # F4 is the highest start byte for legal Unicode; higher is
                 # unlikely to be in pod.
            goto set_1252;
          }

          # ? not enough continuation bytes available
          goto set_1252 if $i + $needed >= length $line;

          # Accumulate the ordinal of the character from the remaining
          # (continuation) bytes.
          while ($needed-- > 0) {
            my $cont = substr($line, ++$i, 1);
            $b_ord = ord $cont;
            goto set_1252 if $b_ord < $min_cont || $b_ord > 0xBF;

            # In all cases, any next continuation bytes all have the same
            # minimum legal value
            $min_cont = 0x80;

            # Accumulate this byte's contribution to the code point
            $char_ord <<= 6;
            $char_ord |= ($b_ord & 0x3F);
          }

          # Here, the sequence that formed this code point was valid UTF-8,
          # so add the completed character to the output
          $copy .= chr $char_ord;
        } # End of loop through line

        # Delete the dummy first character
        $copy = substr($copy, 1);
      }

      # Here, $copy is legal UTF-8.

      # If it can't be legal CP1252, no need to look further.  (These bytes
      # aren't valid in CP1252.)  This test could have been placed higher in
      # the code, but it seemed wrong to set the encoding to UTF-8 without
      # making sure that the very first instance is well-formed.  But what if
      # it isn't legal CP1252 either?  We have to choose one or the other, and
      # It seems safer to favor the single-byte encoding over the multi-byte.
      goto set_utf8 if ord("A") == 65 && $line =~ /[\x81\x8D\x8F\x90\x9D]/;

      # The C1 controls are not likely to appear in pod
      goto set_1252 if ord("A") == 65 && $copy =~ /[\x80-\x9F]/;

      # Nor are surrogates nor unassigned, nor deprecated.
      DEBUG > 8 and print STDERR __LINE__, ": $copy: surrogate\n" if $copy =~ $cs_re;
      goto set_1252 if $cs_re && $copy =~ $cs_re;
      DEBUG > 8 and print STDERR __LINE__, ": $copy: unassigned\n" if $cn_re && $copy =~ $cn_re;
      goto set_1252 if $cn_re && $copy =~ $cn_re;
      DEBUG > 8 and print STDERR __LINE__, ": $copy: deprecated\n" if $copy =~ $deprecated_re;
      goto set_1252 if $copy =~ $deprecated_re;

      # Nor are rare code points.  But this is hard to determine.  khw
      # believes that IPA characters and the modifier letters are unlikely to
      # be in pod (and certainly very unlikely to be the in the first line in
      # the pod containing non-ASCII)
      DEBUG > 8 and print STDERR __LINE__, ": $copy: rare\n" if $copy =~ $rare_blocks_re;
      goto set_1252 if $rare_blocks_re && $copy =~ $rare_blocks_re;

      # The first Unicode version included essentially every Latin character
      # in modern usage.  So, a Latin character not in the first release will
      # unlikely be in pod.
      DEBUG > 8 and print STDERR __LINE__, ": $copy: later_latin\n" if $later_latin_re && $copy =~ $later_latin_re;
      goto set_1252 if $later_latin_re && $copy =~ $later_latin_re;

      # On perls that handle script runs, if the UTF-8 interpretation yields
      # a single script, we guess UTF-8, otherwise just having a mixture of
      # scripts is suspicious, so guess CP1252.  We first strip off, as best
      # we can, the ASCII characters that look like they are pod directives,
      # as these would always show as mixed with non-Latin text.
      $copy =~ s/$pod_chars_re//g;

      if ($script_run_re) {
        goto set_utf8 if $copy =~ $script_run_re;
        DEBUG > 8 and print STDERR __LINE__, ":  not script run\n";
        goto set_1252;
      }

      # Even without script runs, but on recent enough perls and Unicodes, we
      # can check if there is a mixture of both Latin and non-Latin.  Again,
      # having a mixture of scripts is suspicious, so assume CP1252

      # If it's all non-Latin, there is no CP1252, as that is Latin
      # characters and punct, etc.
      DEBUG > 8 and print STDERR __LINE__, ": $copy: not latin\n" if $copy !~ $latin_re;
      goto set_utf8 if $copy !~ $latin_re;

      DEBUG > 8 and print STDERR __LINE__, ": $copy: all latin\n" if $copy =~ $every_char_is_latin_re;
      goto set_utf8 if $copy =~ $every_char_is_latin_re;

      DEBUG > 8 and print STDERR __LINE__, ": $copy: mixed\n";

     set_1252:
      DEBUG > 9 and print STDERR __LINE__, ": $copy: is 1252\n";
      $encoding = 'CP1252';
      goto done_set;

     set_utf8:
      DEBUG > 9 and print STDERR __LINE__, ": $copy: is UTF-8\n";
      $encoding = 'UTF-8';

     done_set:
      $self->_handle_encoding_line( "=encoding $encoding" );
      delete $self->{'_processed_encoding'};
      $self->{'_transcoder'} && $self->{'_transcoder'}->($line);

      my ($word) = $line =~ /(\S*$non_ascii_re\S*)/;

      $self->whine(
        $self->{'line_count'},
        "Non-ASCII character seen before =encoding in '$word'. Assuming $encoding"
      );
    }

    DEBUG > 5 and print STDERR "# Parsing line: [$line]\n";

    if(!$self->{'in_pod'}) {
      if($line =~ m/^=([a-zA-Z][a-zA-Z0-9]*)(?:\s|$)/s) {
        if($1 eq 'cut') {
          $self->scream(
            $self->{'line_count'},
            "=cut found outside a pod block.  Skipping to next block."
          );

          ## Before there were errata sections in the world, it was
          ## least-pessimal to abort processing the file.  But now we can
          ## just barrel on thru (but still not start a pod block).
          #splice @_;
          #push @_, undef;

          next;
        } else {
          $self->{'in_pod'} = $self->{'start_of_pod_block'}
                            = $self->{'last_was_blank'}     = 1;
          # And fall thru to the pod-mode block further down
        }
      } else {
        DEBUG > 5 and print STDERR "# It's a code-line.\n";
        $code_handler->(map $_, $line, $self->{'line_count'}, $self)
         if $code_handler;
        # Note: this may cause code to be processed out of order relative
        #  to pods, but in order relative to cuts.

        # Note also that we haven't yet applied the transcoding to $line
        #  by time we call $code_handler!

        if( $line =~ m/^#\s*line\s+(\d+)\s*(?:\s"([^"]+)")?\s*$/ ) {
          # That RE is from perlsyn, section "Plain Old Comments (Not!)",
          #$fname = $2 if defined $2;
          #DEBUG > 1 and defined $2 and print STDERR "# Setting fname to \"$fname\"\n";
          DEBUG > 1 and print STDERR "# Setting nextline to $1\n";
          $self->{'line_count'} = $1 - 1;
        }

        next;
      }
    }

    # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    # Else we're in pod mode:

    # Apply any necessary transcoding:
    $self->{'_transcoder'} && $self->{'_transcoder'}->($line);

    # HERE WE CATCH =encoding EARLY!
    if( $line =~ m/^=encoding\s+\S+\s*$/s ) {
      next if $self->parse_characters;   # Ignore this line
      $line = $self->_handle_encoding_line( $line );
    }

    if($line =~ m/^=cut/s) {
      # here ends the pod block, and therefore the previous pod para
      DEBUG > 1 and print STDERR "Noting =cut at line ${$self}{'line_count'}\n";
      $self->{'in_pod'} = 0;
      # ++$self->{'pod_para_count'};
      $self->_ponder_paragraph_buffer();
       # by now it's safe to consider the previous paragraph as done.
      DEBUG > 6 and print STDERR "Processing any cut handler, line ${$self}{'line_count'}\n";
      $cut_handler->(map $_, $line, $self->{'line_count'}, $self)
       if $cut_handler;

      # TODO: add to docs: Note: this may cause cuts to be processed out
      #  of order relative to pods, but in order relative to code.

    } elsif($line =~ m/^(\s*)$/s) {  # it's a blank line
      if (defined $1 and $1 =~ /[^\S\r\n]/) { # it's a white line
        $wl_handler->(map $_, $line, $self->{'line_count'}, $self)
          if $wl_handler;
      }

      if(!$self->{'start_of_pod_block'} and @$paras and $paras->[-1][0] eq '~Verbatim') {
        DEBUG > 1 and print STDERR "Saving blank line at line ${$self}{'line_count'}\n";
        push @{$paras->[-1]}, $line;
      }  # otherwise it's not interesting

      if(!$self->{'start_of_pod_block'} and !$self->{'last_was_blank'}) {
        DEBUG > 1 and print STDERR "Noting para ends with blank line at ${$self}{'line_count'}\n";
      }

      $self->{'last_was_blank'} = 1;

    } elsif($self->{'last_was_blank'}) {  # A non-blank line starting a new para...

      if($line =~ m/^(=[a-zA-Z][a-zA-Z0-9]*)(\s+|$)(.*)/s) {
        # THIS IS THE ONE PLACE WHERE WE CONSTRUCT NEW DIRECTIVE OBJECTS
        my $new = [$1, {'start_line' => $self->{'line_count'}}, $3];
        $new->[1]{'~orig_spacer'} = $2 if $2 && $2 ne " ";
         # Note that in "=head1 foo", the WS is lost.
         # Example: ['=head1', {'start_line' => 123}, ' foo']

        ++$self->{'pod_para_count'};

        $self->_ponder_paragraph_buffer();
         # by now it's safe to consider the previous paragraph as done.

        push @$paras, $new; # the new incipient paragraph
        DEBUG > 1 and print STDERR "Starting new ${$paras}[-1][0] para at line ${$self}{'line_count'}\n";

      } elsif($line =~ m/^\s/s) {

        if(!$self->{'start_of_pod_block'} and @$paras and $paras->[-1][0] eq '~Verbatim') {
          DEBUG > 1 and print STDERR "Resuming verbatim para at line ${$self}{'line_count'}\n";
          push @{$paras->[-1]}, $line;
        } else {
          ++$self->{'pod_para_count'};
          $self->_ponder_paragraph_buffer();
           # by now it's safe to consider the previous paragraph as done.
          DEBUG > 1 and print STDERR "Starting verbatim para at line ${$self}{'line_count'}\n";
          push @$paras, ['~Verbatim', {'start_line' => $self->{'line_count'}}, $line];
        }
      } else {
        ++$self->{'pod_para_count'};
        $self->_ponder_paragraph_buffer();
         # by now it's safe to consider the previous paragraph as done.
        push @$paras, ['~Para',  {'start_line' => $self->{'line_count'}}, $line];
        DEBUG > 1 and print STDERR "Starting plain para at line ${$self}{'line_count'}\n";
      }
      $self->{'last_was_blank'} = $self->{'start_of_pod_block'} = 0;

    } else {
      # It's a non-blank line /continuing/ the current para
      if(@$paras) {
        DEBUG > 2 and print STDERR "Line ${$self}{'line_count'} continues current paragraph\n";
        push @{$paras->[-1]}, $line;
      } else {
        # Unexpected case!
        die "Continuing a paragraph but \@\$paras is empty?";
      }
      $self->{'last_was_blank'} = $self->{'start_of_pod_block'} = 0;
    }

  } # ends the big while loop

  DEBUG > 1 and print STDERR (pretty(@$paras), "\n");
  return $self;
}

#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

sub _handle_encoding_line {
  my($self, $line) = @_;

  return if $self->parse_characters;

  # The point of this routine is to set $self->{'_transcoder'} as indicated.

  return $line unless $line =~ m/^=encoding\s+(\S+)\s*$/s;
  DEBUG > 1 and print STDERR "Found an encoding line \"=encoding $1\"\n";

  my $e    = $1;
  my $orig = $e;
  push @{ $self->{'encoding_command_reqs'} }, "=encoding $orig";

  my $enc_error;

  # Cf.   perldoc Encode   and   perldoc Encode::Supported

  require Pod::Simple::Transcode;

  if( $self->{'encoding'} ) {
    my $norm_current = $self->{'encoding'};
    my $norm_e = $e;
    foreach my $that ($norm_current, $norm_e) {
      $that =  lc($that);
      $that =~ s/[-_]//g;
    }
    if($norm_current eq $norm_e) {
      DEBUG > 1 and print STDERR "The '=encoding $orig' line is ",
       "redundant.  ($norm_current eq $norm_e).  Ignoring.\n";
      $enc_error = '';
       # But that doesn't necessarily mean that the earlier one went okay
    } else {
      $enc_error = "Encoding is already set to " . $self->{'encoding'};
      DEBUG > 1 and print STDERR $enc_error;
    }
  } elsif (
    # OK, let's turn on the encoding
    do {
      DEBUG > 1 and print STDERR " Setting encoding to $e\n";
      $self->{'encoding'} = $e;
      1;
    }
    and $e eq 'HACKRAW'
  ) {
    DEBUG and print STDERR " Putting in HACKRAW (no-op) encoding mode.\n";

  } elsif( Pod::Simple::Transcode::->encoding_is_available($e) ) {

    die($enc_error = "WHAT? _transcoder is already set?!")
     if $self->{'_transcoder'};   # should never happen
    require Pod::Simple::Transcode;
    $self->{'_transcoder'} = Pod::Simple::Transcode::->make_transcoder($e);
    eval {
      my @x = ('', "abc", "123");
      $self->{'_transcoder'}->(@x);
    };
    $@ && die( $enc_error =
      "Really unexpected error setting up encoding $e: $@\nAborting"
    );
    $self->{'detected_encoding'} = $e;

  } else {
    my @supported = Pod::Simple::Transcode::->all_encodings;

    # Note unsupported, and complain
    DEBUG and print STDERR " Encoding [$e] is unsupported.",
      "\nSupporteds: @supported\n";
    my $suggestion = '';

    # Look for a near match:
    my $norm = lc($e);
    $norm =~ tr[-_][]d;
    my $n;
    foreach my $enc (@supported) {
      $n = lc($enc);
      $n =~ tr[-_][]d;
      next unless $n eq $norm;
      $suggestion = "  (Maybe \"$e\" should be \"$enc\"?)";
      last;
    }
    my $encmodver = Pod::Simple::Transcode::->encmodver;
    $enc_error = join '' =>
      "This document probably does not appear as it should, because its ",
      "\"=encoding $e\" line calls for an unsupported encoding.",
      $suggestion, "  [$encmodver\'s supported encodings are: @supported]"
    ;

    $self->scream( $self->{'line_count'}, $enc_error );
  }
  push @{ $self->{'encoding_command_statuses'} }, $enc_error;
  if (defined($self->{'_processed_encoding'})) {
    # Double declaration.
    $self->scream( $self->{'line_count'}, 'Cannot have multiple =encoding directives');
  }
  $self->{'_processed_encoding'} = $orig;

  return $line;
}

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

sub _handle_encoding_second_level {
  # By time this is called, the encoding (if well formed) will already
  #  have been acted on.
  my($self, $para) = @_;
  my @x = @$para;
  my $content = join ' ', splice @x, 2;
  $content =~ s/^\s+//s;
  $content =~ s/\s+$//s;

  DEBUG > 2 and print STDERR "Ogling encoding directive: =encoding $content\n";

  if (defined($self->{'_processed_encoding'})) {
    #if($content ne $self->{'_processed_encoding'}) {
    #  Could it happen?
    #}
    delete $self->{'_processed_encoding'};
    # It's already been handled.  Check for errors.
    if(! $self->{'encoding_command_statuses'} ) {
      DEBUG > 2 and print STDERR " CRAZY ERROR: It wasn't really handled?!\n";
    } elsif( $self->{'encoding_command_statuses'}[-1] ) {
      $self->whine( $para->[1]{'start_line'},
        sprintf "Couldn't do %s: %s",
          $self->{'encoding_command_reqs'  }[-1],
          $self->{'encoding_command_statuses'}[-1],
      );
    } else {
      DEBUG > 2 and print STDERR " (Yup, it was successfully handled already.)\n";
    }

  } else {
    # Otherwise it's a syntax error
    $self->whine( $para->[1]{'start_line'},
      "Invalid =encoding syntax: $content"
    );
  }

  return;
}

#~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`~`

{
my $m = -321;   # magic line number

sub _gen_errata {
  my $self = $_[0];
  # Return 0 or more fake-o paragraphs explaining the accumulated
  #  errors on this document.

  return() unless $self->{'errata'} and keys %{$self->{'errata'}};

  my @out;

  foreach my $line (sort {$a <=> $b} keys %{$self->{'errata'}}) {
    push @out,
      ['=item', {'start_line' => $m}, "Around line $line:"],
      map( ['~Para', {'start_line' => $m, '~cooked' => 1},
        #['~Top', {'start_line' => $m},
        $_
        #]
        ],
        @{$self->{'errata'}{$line}}
      )
    ;
  }

  # TODO: report of unknown entities? unrenderable characters?

  unshift @out,
    ['=head1', {'start_line' => $m, 'errata' => 1}, 'POD ERRORS'],
    ['~Para', {'start_line' => $m, '~cooked' => 1, 'errata' => 1},
     "Hey! ",
     ['B', {},
      'The above document had some coding errors, which are explained below:'
     ]
    ],
    ['=over',  {'start_line' => $m, 'errata' => 1}, ''],
  ;

  push @out,
    ['=back',  {'start_line' => $m, 'errata' => 1}, ''],
  ;

  DEBUG and print STDERR "\n<<\n", pretty(\@out), "\n>>\n\n";

  return @out;
}

}

#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

##############################################################################
##
##  stop reading now stop reading now stop reading now stop reading now stop
##
##                         HERE IT BECOMES REALLY SCARY
##
##  stop reading now stop reading now stop reading now stop reading now stop
##
##############################################################################

sub _ponder_paragraph_buffer {

  # Para-token types as found in the buffer.
  #   ~Verbatim, ~Para, ~end, =head1..4, =for, =begin, =end,
  #   =over, =back, =item
  #   and the null =pod (to be complained about if over one line)
  #
  # "~data" paragraphs are something we generate at this level, depending on
  # a currently open =over region

  # Events fired:  Begin and end for:
  #                   directivename (like head1 .. head4), item, extend,
  #                   for (from =begin...=end, =for),
  #                   over-bullet, over-number, over-text, over-block,
  #                   item-bullet, item-number, item-text,
  #                   Document,
  #                   Data, Para, Verbatim
  #                   B, C, longdirname (TODO -- wha?), etc. for all directives
  #

  my $self = $_[0];
  my $paras;
  return unless @{$paras = $self->{'paras'}};
  my $curr_open = ($self->{'curr_open'} ||= []);

  my $scratch;

  DEBUG > 10 and print STDERR "# Paragraph buffer: <<", pretty($paras), ">>\n";

  # We have something in our buffer.  So apparently the document has started.
  unless($self->{'doc_has_started'}) {
    $self->{'doc_has_started'} = 1;

    my $starting_contentless;
    $starting_contentless =
     (
       !@$curr_open
       and @$paras and ! grep $_->[0] ne '~end', @$paras
        # i.e., if the paras is all ~ends
     )
    ;
    DEBUG and print STDERR "# Starting ",
      $starting_contentless ? 'contentless' : 'contentful',
      " document\n"
    ;

    $self->_handle_element_start(
      ($scratch = 'Document'),
      {
        'start_line' => $paras->[0][1]{'start_line'},
        $starting_contentless ? ( 'contentless' => 1 ) : (),
      },
    );
  }

  my($para, $para_type);
  while(@$paras) {

    # If a directive, assume it's legal; subtract below if found not to be
    $seen_legal_directive++ if $paras->[0][0] =~ /^=/;

    last if      @$paras == 1
            and (    $paras->[0][0] eq '=over'
                 or  $paras->[0][0] eq '=item'
                 or ($paras->[0][0] eq '~Verbatim' and $self->{'in_pod'}));
    # Those're the three kinds of paragraphs that require lookahead.
    #   Actually, an "=item Foo" inside an <over type=text> region
    #   and any =item inside an <over type=block> region (rare)
    #   don't require any lookahead, but all others (bullets
    #   and numbers) do.
    # The verbatim is different from the other two, because those might be
    # like:
    #
    #   =item
    #   ...
    #   =cut
    #   ...
    #   =item
    #
    # The =cut here finishes the paragraph but doesn't terminate the =over
    # they should be in. (khw apologizes that he didn't comment at the time
    # why the 'in_pod' works, and no longer remembers why, and doesn't think
    # it is currently worth the effort to re-figure it out.)

# TODO: whinge about many kinds of directives in non-resolving =for regions?
# TODO: many?  like what?  =head1 etc?

    $para = shift @$paras;
    $para_type = $para->[0];

    DEBUG > 1 and print STDERR "Pondering a $para_type paragraph, given the stack: (",
      $self->_dump_curr_open(), ")\n";

    if($para_type eq '=for') {
      next if $self->_ponder_for($para,$curr_open,$paras);

    } elsif($para_type eq '=begin') {
      next if $self->_ponder_begin($para,$curr_open,$paras);

    } elsif($para_type eq '=end') {
      next if $self->_ponder_end($para,$curr_open,$paras);

    } elsif($para_type eq '~end') { # The virtual end-document signal
      next if $self->_ponder_doc_end($para,$curr_open,$paras);
    }


    # ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
    #~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
    if(grep $_->[1]{'~ignore'}, @$curr_open) {
      DEBUG > 1 and
       print STDERR "Skipping $para_type paragraph because in ignore mode.\n";
      next;
    }
    #~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
    # ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

    if($para_type eq '=pod') {
      $self->_ponder_pod($para,$curr_open,$paras);

    } elsif($para_type eq '=over') {
      next if $self->_ponder_over($para,$curr_open,$paras);

    } elsif($para_type eq '=back') {
      next if $self->_ponder_back($para,$curr_open,$paras);

    } else {

      # All non-magical codes!!!

      # Here we start using $para_type for our own twisted purposes, to
      #  mean how it should get treated, not as what the element name
      #  should be.

      DEBUG > 1 and print STDERR "Pondering non-magical $para_type\n";

      my $i;

      # Enforce some =headN discipline
      if($para_type =~ m/^=head\d$/s
         and ! $self->{'accept_heads_anywhere'}
         and @$curr_open
         and $curr_open->[-1][0] eq '=over'
      ) {
        DEBUG > 2 and print STDERR "'=$para_type' inside an '=over'!\n";
        $self->whine(
          $para->[1]{'start_line'},
          "You forgot a '=back' before '$para_type'"
        );
        unshift @$paras, ['=back', {}, ''], $para;   # close the =over
        next;
      }


      if($para_type eq '=item') {

        my $over;
        unless(@$curr_open and
               $over = (grep { $_->[0] eq '=over' } @$curr_open)[-1]) {
          $self->whine(
            $para->[1]{'start_line'},
            "'=item' outside of any '=over'"
          );
          unshift @$paras,
            ['=over', {'start_line' => $para->[1]{'start_line'}}, ''],
            $para
          ;
          next;
        }


        my $over_type = $over->[1]{'~type'};

        if(!$over_type) {
          # Shouldn't happen1
          die "Typeless over in stack, starting at line "
           . $over->[1]{'start_line'};

        } elsif($over_type eq 'block') {
          unless($curr_open->[-1][1]{'~bitched_about'}) {
            $curr_open->[-1][1]{'~bitched_about'} = 1;
            $self->whine(
              $curr_open->[-1][1]{'start_line'},
              "You can't have =items (as at line "
              . $para->[1]{'start_line'}
              . ") unless the first thing after the =over is an =item"
            );
          }
          # Just turn it into a paragraph and reconsider it
          $para->[0] = '~Para';
          unshift @$paras, $para;
          next;

        } elsif($over_type eq 'text') {
          my $item_type = $self->_get_item_type($para);
            # That kills the content of the item if it's a number or bullet.
          DEBUG and print STDERR " Item is of type ", $para->[0], " under $over_type\n";

          if($item_type eq 'text') {
            # Nothing special needs doing for 'text'
          } elsif($item_type eq 'number' or $item_type eq 'bullet') {
            $self->whine(
              $para->[1]{'start_line'},
              "Expected text after =item, not a $item_type"
            );
            # Undo our clobbering:
            push @$para, $para->[1]{'~orig_content'};
            delete $para->[1]{'number'};
             # Only a PROPER item-number element is allowed
             #  to have a number attribute.
          } else {
            die "Unhandled item type $item_type"; # should never happen
          }

          # =item-text thingies don't need any assimilation, it seems.

        } elsif($over_type eq 'number') {
          my $item_type = $self->_get_item_type($para);
            # That kills the content of the item if it's a number or bullet.
          DEBUG and print STDERR " Item is of type ", $para->[0], " under $over_type\n";

          my $expected_value = ++ $curr_open->[-1][1]{'~counter'};

          if($item_type eq 'bullet') {
            # Hm, it's not numeric.  Correct for this.
            $para->[1]{'number'} = $expected_value;
            $self->whine(
              $para->[1]{'start_line'},
              "Expected '=item $expected_value'"
            );
            push @$para, $para->[1]{'~orig_content'};
              # restore the bullet, blocking the assimilation of next para

          } elsif($item_type eq 'text') {
            # Hm, it's not numeric.  Correct for this.
            $para->[1]{'number'} = $expected_value;
            $self->whine(
              $para->[1]{'start_line'},
              "Expected '=item $expected_value'"
            );
            # Text content will still be there and will block next ~Para

          } elsif($item_type ne 'number') {
            die "Unknown item type $item_type"; # should never happen

          } elsif($expected_value == $para->[1]{'number'}) {
            DEBUG > 1 and print STDERR " Numeric item has the expected value of $expected_value\n";

          } else {
            DEBUG > 1 and print STDERR " Numeric item has ", $para->[1]{'number'},
             " instead of the expected value of $expected_value\n";
            $self->whine(
              $para->[1]{'start_line'},
              "You have '=item " . $para->[1]{'number'} .
              "' instead of the expected '=item $expected_value'"
            );
            $para->[1]{'number'} = $expected_value;  # correcting!!
          }

          if(@$para == 2) {
            # For the cases where we /didn't/ push to @$para
            if($paras->[0][0] eq '~Para') {
              DEBUG and print STDERR "Assimilating following ~Para content into $over_type item\n";
              push @$para, splice @{shift @$paras},2;
            } else {
              DEBUG and print STDERR "Can't assimilate following ", $paras->[0][0], "\n";
              push @$para, '';  # Just so it's not contentless
            }
          }


        } elsif($over_type eq 'bullet') {
          my $item_type = $self->_get_item_type($para);
            # That kills the content of the item if it's a number or bullet.
          DEBUG and print STDERR " Item is of type ", $para->[0], " under $over_type\n";

          if($item_type eq 'bullet') {
            # as expected!

            if( $para->[1]{'~_freaky_para_hack'} ) {
              DEBUG and print STDERR "Accomodating '=item * Foo' tolerance hack.\n";
              push @$para, $para->[1]{'~_freaky_para_hack'};
            }

          } elsif($item_type eq 'number') {
            $self->whine(
              $para->[1]{'start_line'},
              "Expected '=item *'"
            );
            push @$para, $para->[1]{'~orig_content'};
             # and block assimilation of the next paragraph
            delete $para->[1]{'number'};
             # Only a PROPER item-number element is allowed
             #  to have a number attribute.
          } elsif($item_type eq 'text') {
            $self->whine(
              $para->[1]{'start_line'},
              "Expected '=item *'"
            );
             # But doesn't need processing.  But it'll block assimilation
             #  of the next para.
          } else {
            die "Unhandled item type $item_type"; # should never happen
          }

          if(@$para == 2) {
            # For the cases where we /didn't/ push to @$para
            if($paras->[0][0] eq '~Para') {
              DEBUG and print STDERR "Assimilating following ~Para content into $over_type item\n";
              push @$para, splice @{shift @$paras},2;
            } else {
              DEBUG and print STDERR "Can't assimilate following ", $paras->[0][0], "\n";
              push @$para, '';  # Just so it's not contentless
            }
          }

        } else {
          die "Unhandled =over type \"$over_type\"?";
          # Shouldn't happen!
        }

        $para_type = 'Plain';
        $para->[0] .= '-' . $over_type;
        # Whew.  Now fall thru and process it.


      } elsif($para_type eq '=extend') {
        # Well, might as well implement it here.
        $self->_ponder_extend($para);
        next;  # and skip
      } elsif($para_type eq '=encoding') {
        # Not actually acted on here, but we catch errors here.
        $self->_handle_encoding_second_level($para);
        next unless $self->keep_encoding_directive;
        $para_type = 'Plain';
      } elsif($para_type eq '~Verbatim') {
        $para->[0] = 'Verbatim';
        $para_type = '?Verbatim';
      } elsif($para_type eq '~Para') {
        $para->[0] = 'Para';
        $para_type = '?Plain';
      } elsif($para_type eq 'Data') {
        $para->[0] = 'Data';
        $para_type = '?Data';
      } elsif( $para_type =~ s/^=//s
        and defined( $para_type = $self->{'accept_directives'}{$para_type} )
      ) {
        DEBUG > 1 and print STDERR " Pondering known directive ${$para}[0] as $para_type\n";
      } else {
        # An unknown directive!
        $seen_legal_directive--;
        DEBUG > 1 and printf STDERR "Unhandled directive %s (Handled: %s)\n",
         $para->[0], join(' ', sort keys %{$self->{'accept_directives'}} )
        ;
        $self->whine(
          $para->[1]{'start_line'},
          "Unknown directive: $para->[0]"
        );

        # And maybe treat it as text instead of just letting it go?
        next;
      }

      if($para_type =~ s/^\?//s) {
        if(! @$curr_open) {  # usual case
          DEBUG and print STDERR "Treating $para_type paragraph as such because stack is empty.\n";
        } else {
          my @fors = grep $_->[0] eq '=for', @$curr_open;
          DEBUG > 1 and print STDERR "Containing fors: ",
            join(',', map $_->[1]{'target'}, @fors), "\n";

          if(! @fors) {
            DEBUG and print STDERR "Treating $para_type paragraph as such because stack has no =for's\n";

          #} elsif(grep $_->[1]{'~resolve'}, @fors) {
          #} elsif(not grep !$_->[1]{'~resolve'}, @fors) {
          } elsif( $fors[-1][1]{'~resolve'} ) {
            # Look to the immediately containing for

            if($para_type eq 'Data') {
              DEBUG and print STDERR "Treating Data paragraph as Plain/Verbatim because the containing =for ($fors[-1][1]{'target'}) is a resolver\n";
              $para->[0] = 'Para';
              $para_type = 'Plain';
            } else {
              DEBUG and print STDERR "Treating $para_type paragraph as such because the containing =for ($fors[-1][1]{'target'}) is a resolver\n";
            }
          } else {
            DEBUG and print STDERR "Treating $para_type paragraph as Data because the containing =for ($fors[-1][1]{'target'}) is a non-resolver\n";
            $para->[0] = $para_type = 'Data';
          }
        }
      }

      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      if($para_type eq 'Plain') {
        $self->_ponder_Plain($para);
      } elsif($para_type eq 'Verbatim') {
        $self->_ponder_Verbatim($para);
      } elsif($para_type eq 'Data') {
        $self->_ponder_Data($para);
      } else {
        die "\$para type is $para_type -- how did that happen?";
        # Shouldn't happen.
      }

      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      $para->[0] =~ s/^[~=]//s;

      DEBUG and print STDERR "\n", pretty($para), "\n";

      # traverse the treelet (which might well be just one string scalar)
      $self->{'content_seen'} ||= 1 if   $seen_legal_directive
                                    && ! $self->{'~tried_gen_errata'};
      $self->_traverse_treelet_bit(@$para);
    }
  }

  return;
}

###########################################################################
# The sub-ponderers...



sub _ponder_for {
  my ($self,$para,$curr_open,$paras) = @_;

  # Fake it out as a begin/end
  my $target;

  if(grep $_->[1]{'~ignore'}, @$curr_open) {
    DEBUG > 1 and print STDERR "Ignoring ignorable =for\n";
    return 1;
  }

  for(my $i = 2; $i < @$para; ++$i) {
    if($para->[$i] =~ s/^\s*(\S+)\s*//s) {
      $target = $1;
      last;
    }
  }
  unless(defined $target) {
    $self->whine(
      $para->[1]{'start_line'},
      "=for without a target?"
    );
    return 1;
  }
  DEBUG > 1 and
   print STDERR "Faking out a =for $target as a =begin $target / =end $target\n";

  $para->[0] = 'Data';

  unshift @$paras,
    ['=begin',
      {'start_line' => $para->[1]{'start_line'}, '~really' => '=for'},
      $target,
    ],
    $para,
    ['=end',
      {'start_line' => $para->[1]{'start_line'}, '~really' => '=for'},
      $target,
    ],
  ;

  return 1;
}

sub _ponder_begin {
  my ($self,$para,$curr_open,$paras) = @_;
  my $content = join ' ', splice @$para, 2;
  $content =~ s/^\s+//s;
  $content =~ s/\s+$//s;
  unless(length($content)) {
    $self->whine(
      $para->[1]{'start_line'},
      "=begin without a target?"
    );
    DEBUG and print STDERR "Ignoring targetless =begin\n";
    return 1;
  }

  my ($target, $title) = $content =~ m/^(\S+)\s*(.*)$/;
  $para->[1]{'title'} = $title if ($title);
  $para->[1]{'target'} = $target;  # without any ':'
  $content = $target; # strip off the title

  $content =~ s/^:!/!:/s;
  my $neg;  # whether this is a negation-match
  $neg = 1        if $content =~ s/^!//s;
  my $to_resolve;  # whether to process formatting codes
  $to_resolve = 1 if $content =~ s/^://s;

  my $dont_ignore; # whether this target matches us

  foreach my $target_name (
    split(',', $content, -1),
    $neg ? () : '*'
  ) {
    DEBUG > 2 and
     print STDERR " Considering whether =begin $content matches $target_name\n";
    next unless $self->{'accept_targets'}{$target_name};

    DEBUG > 2 and
     print STDERR "  It DOES match the acceptable target $target_name!\n";
    $to_resolve = 1
      if $self->{'accept_targets'}{$target_name} eq 'force_resolve';
    $dont_ignore = 1;
    $para->[1]{'target_matching'} = $target_name;
    last; # stop looking at other target names
  }

  if($neg) {
    if( $dont_ignore ) {
      $dont_ignore = '';
      delete $para->[1]{'target_matching'};
      DEBUG > 2 and print STDERR " But the leading ! means that this is a NON-match!\n";
    } else {
      $dont_ignore = 1;
      $para->[1]{'target_matching'} = '!';
      DEBUG > 2 and print STDERR " But the leading ! means that this IS a match!\n";
    }
  }

  $para->[0] = '=for';  # Just what we happen to call these, internally
  $para->[1]{'~really'} ||= '=begin';
  $para->[1]{'~ignore'}   = (! $dont_ignore) || 0;
  $para->[1]{'~resolve'}  = $to_resolve || 0;

  DEBUG > 1 and print STDERR " Making note to ", $dont_ignore ? 'not ' : '',
    "ignore contents of this region\n";
  DEBUG > 1 and $dont_ignore and print STDERR " Making note to treat contents as ",
    ($to_resolve ? 'verbatim/plain' : 'data'), " paragraphs\n";
  DEBUG > 1 and print STDERR " (Stack now: ", $self->_dump_curr_open(), ")\n";

  push @$curr_open, $para;
  if(!$dont_ignore or scalar grep $_->[1]{'~ignore'}, @$curr_open) {
    DEBUG > 1 and print STDERR "Ignoring ignorable =begin\n";
  } else {
    $self->{'content_seen'} ||= 1 unless $self->{'~tried_gen_errata'};
    $self->_handle_element_start((my $scratch='for'), $para->[1]);
  }

  return 1;
}

sub _ponder_end {
  my ($self,$para,$curr_open,$paras) = @_;
  my $content = join ' ', splice @$para, 2;
  $content =~ s/^\s+//s;
  $content =~ s/\s+$//s;
  DEBUG and print STDERR "Ogling '=end $content' directive\n";

  unless(length($content)) {
    $self->whine(
      $para->[1]{'start_line'},
      "'=end' without a target?" . (
        ( @$curr_open and $curr_open->[-1][0] eq '=for' )
        ? ( " (Should be \"=end " . $curr_open->[-1][1]{'target'} . '")' )
        : ''
      )
    );
    DEBUG and print STDERR "Ignoring targetless =end\n";
    return 1;
  }

  unless($content =~ m/^\S+$/) {  # i.e., unless it's one word
    $self->whine(
      $para->[1]{'start_line'},
      "'=end $content' is invalid.  (Stack: "
      . $self->_dump_curr_open() . ')'
    );
    DEBUG and print STDERR "Ignoring mistargetted =end $content\n";
    return 1;
  }

  unless(@$curr_open and $curr_open->[-1][0] eq '=for') {
    $self->whine(
      $para->[1]{'start_line'},
      "=end $content without matching =begin.  (Stack: "
      . $self->_dump_curr_open() . ')'
    );
    DEBUG and print STDERR "Ignoring mistargetted =end $content\n";
    return 1;
  }

  unless($content eq $curr_open->[-1][1]{'target'}) {
    $self->whine(
      $para->[1]{'start_line'},
      "=end $content doesn't match =begin "
      . $curr_open->[-1][1]{'target'}
      . ".  (Stack: "
      . $self->_dump_curr_open() . ')'
    );
    DEBUG and print STDERR "Ignoring mistargetted =end $content at line $para->[1]{'start_line'}\n";
    return 1;
  }

  # Else it's okay to close...
  if(grep $_->[1]{'~ignore'}, @$curr_open) {
    DEBUG > 1 and print STDERR "Not firing any event for this =end $content because in an ignored region\n";
    # And that may be because of this to-be-closed =for region, or some
    #  other one, but it doesn't matter.
  } else {
    $curr_open->[-1][1]{'start_line'} = $para->[1]{'start_line'};
      # what's that for?

    $self->{'content_seen'} ||= 1 unless $self->{'~tried_gen_errata'};
    $self->_handle_element_end( my $scratch = 'for', $para->[1]);
  }
  DEBUG > 1 and print STDERR "Popping $curr_open->[-1][0] $curr_open->[-1][1]{'target'} because of =end $content\n";
  pop @$curr_open;

  return 1;
}

sub _ponder_doc_end {
  my ($self,$para,$curr_open,$paras) = @_;
  if(@$curr_open) { # Deal with things left open
    DEBUG and print STDERR "Stack is nonempty at end-document: (",
      $self->_dump_curr_open(), ")\n";

    DEBUG > 9 and print STDERR "Stack: ", pretty($curr_open), "\n";
    unshift @$paras, $self->_closers_for_all_curr_open;
    # Make sure there is exactly one ~end in the parastack, at the end:
    @$paras = grep $_->[0] ne '~end', @$paras;
    push @$paras, $para, $para;
     # We need two -- once for the next cycle where we
     #  generate errata, and then another to be at the end
     #  when that loop back around to process the errata.
    return 1;

  } else {
    DEBUG and print STDERR "Okay, stack is empty now.\n";
  }

  # Try generating errata section, if applicable
  unless($self->{'~tried_gen_errata'}) {
    $self->{'~tried_gen_errata'} = 1;
    my @extras = $self->_gen_errata();
    if(@extras) {
      unshift @$paras, @extras;
      DEBUG and print STDERR "Generated errata... relooping...\n";
      return 1;  # I.e., loop around again to process these fake-o paragraphs
    }
  }

  splice @$paras; # Well, that's that for this paragraph buffer.
  DEBUG and print STDERR "Throwing end-document event.\n";

  $self->_handle_element_end( my $scratch = 'Document' );
  return 1; # Hasta la byebye
}

sub _ponder_pod {
  my ($self,$para,$curr_open,$paras) = @_;
  $self->whine(
    $para->[1]{'start_line'},
    "=pod directives shouldn't be over one line long!  Ignoring all "
     . (@$para - 2) . " lines of content"
  ) if @$para > 3;

  # Content ignored unless 'pod_handler' is set
  if (my $pod_handler = $self->{'pod_handler'}) {
      my ($line_num, $line) = map $_, $para->[1]{'start_line'}, $para->[2];
      $line = $line eq '' ? "=pod" : "=pod $line"; # imitate cut_handler output
      $pod_handler->($line, $line_num, $self);
  }

  # The surrounding methods set content_seen, so let us remain consistent.
  # I do not know why it was not here before -- should it not be here?
  # $self->{'content_seen'} ||= 1 unless $self->{'~tried_gen_errata'};

  return;
}

sub _ponder_over {
  my ($self,$para,$curr_open,$paras) = @_;
  return 1 unless @$paras;
  my $list_type;

  if($paras->[0][0] eq '=item') { # most common case
    $list_type = $self->_get_initial_item_type($paras->[0]);

  } elsif($paras->[0][0] eq '=back') {
    # Ignore empty lists by default
    if ($self->{'parse_empty_lists'}) {
      $list_type = 'empty';
    } else {
      shift @$paras;
      return 1;
    }
  } elsif($paras->[0][0] eq '~end') {
    $self->whine(
      $para->[1]{'start_line'},
      "=over is the last thing in the document?!"
    );
    return 1; # But feh, ignore it.
  } else {
    $list_type = 'block';
  }
  $para->[1]{'~type'} = $list_type;
  push @$curr_open, $para;
   # yes, we reuse the paragraph as a stack item

  my $content = join ' ', splice @$para, 2;
  $para->[1]{'~orig_content'} = $content;
  my $overness;
  if($content =~ m/^\s*$/s) {
    $para->[1]{'indent'} = 4;
  } elsif($content =~ m/^\s*((?:\d*\.)?\d+)\s*$/s) {
    no integer;
    $para->[1]{'indent'} = $1;
    if($1 == 0) {
      $self->whine(
        $para->[1]{'start_line'},
        "Can't have a 0 in =over $content"
      );
      $para->[1]{'indent'} = 4;
    }
  } else {
    $self->whine(
      $para->[1]{'start_line'},
      "=over should be: '=over' or '=over positive_number'"
    );
    $para->[1]{'indent'} = 4;
  }
  DEBUG > 1 and print STDERR "=over found of type $list_type\n";

  $self->{'content_seen'} ||= 1 unless $self->{'~tried_gen_errata'};
  $self->_handle_element_start((my $scratch = 'over-' . $list_type), $para->[1]);

  return;
}

sub _ponder_back {
  my ($self,$para,$curr_open,$paras) = @_;
  # TODO: fire off </item-number> or </item-bullet> or </item-text> ??

  my $content = join ' ', splice @$para, 2;
  if($content =~ m/\S/) {
    $self->whine(
      $para->[1]{'start_line'},
      "=back doesn't take any parameters, but you said =back $content"
    );
  }

  if(@$curr_open and $curr_open->[-1][0] eq '=over') {
    DEBUG > 1 and print STDERR "=back happily closes matching =over\n";
    # Expected case: we're closing the most recently opened thing
    #my $over = pop @$curr_open;
    $self->{'content_seen'} ||= 1 unless $self->{'~tried_gen_errata'};
    $self->_handle_element_end( my $scratch =
      'over-' . ( (pop @$curr_open)->[1]{'~type'} ), $para->[1]
    );
  } else {
    DEBUG > 1 and print STDERR "=back found without a matching =over.  Stack: (",
        join(', ', map $_->[0], @$curr_open), ").\n";
    $self->whine(
      $para->[1]{'start_line'},
      '=back without =over'
    );
    return 1; # and ignore it
  }
}

sub _ponder_item {
  my ($self,$para,$curr_open,$paras) = @_;
  my $over;
  unless(@$curr_open and
         $over = (grep { $_->[0] eq '=over' } @$curr_open)[-1]) {
    $self->whine(
      $para->[1]{'start_line'},
      "'=item' outside of any '=over'"
    );
    unshift @$paras,
      ['=over', {'start_line' => $para->[1]{'start_line'}}, ''],
      $para
    ;
    return 1;
  }


  my $over_type = $over->[1]{'~type'};

  if(!$over_type) {
    # Shouldn't happen1
    die "Typeless over in stack, starting at line "
     . $over->[1]{'start_line'};

  } elsif($over_type eq 'block') {
    unless($curr_open->[-1][1]{'~bitched_about'}) {
      $curr_open->[-1][1]{'~bitched_about'} = 1;
      $self->whine(
        $curr_open->[-1][1]{'start_line'},
        "You can't have =items (as at line "
        . $para->[1]{'start_line'}
        . ") unless the first thing after the =over is an =item"
      );
    }
    # Just turn it into a paragraph and reconsider it
    $para->[0] = '~Para';
    unshift @$paras, $para;
    return 1;

  } elsif($over_type eq 'text') {
    my $item_type = $self->_get_item_type($para);
      # That kills the content of the item if it's a number or bullet.
    DEBUG and print STDERR " Item is of type ", $para->[0], " under $over_type\n";

    if($item_type eq 'text') {
      # Nothing special needs doing for 'text'
    } elsif($item_type eq 'number' or $item_type eq 'bullet') {
      $self->whine(
          $para->[1]{'start_line'},
          "Expected text after =item, not a $item_type"
      );
      # Undo our clobbering:
      push @$para, $para->[1]{'~orig_content'};
      delete $para->[1]{'number'};
       # Only a PROPER item-number element is allowed
       #  to have a number attribute.
    } else {
      die "Unhandled item type $item_type"; # should never happen
    }

    # =item-text thingies don't need any assimilation, it seems.

  } elsif($over_type eq 'number') {
    my $item_type = $self->_get_item_type($para);
      # That kills the content of the item if it's a number or bullet.
    DEBUG and print STDERR " Item is of type ", $para->[0], " under $over_type\n";

    my $expected_value = ++ $curr_open->[-1][1]{'~counter'};

    if($item_type eq 'bullet') {
      # Hm, it's not numeric.  Correct for this.
      $para->[1]{'number'} = $expected_value;
      $self->whine(
        $para->[1]{'start_line'},
        "Expected '=item $expected_value'"
      );
      push @$para, $para->[1]{'~orig_content'};
        # restore the bullet, blocking the assimilation of next para

    } elsif($item_type eq 'text') {
      # Hm, it's not numeric.  Correct for this.
      $para->[1]{'number'} = $expected_value;
      $self->whine(
        $para->[1]{'start_line'},
        "Expected '=item $expected_value'"
      );
      # Text content will still be there and will block next ~Para

    } elsif($item_type ne 'number') {
      die "Unknown item type $item_type"; # should never happen

    } elsif($expected_value == $para->[1]{'number'}) {
      DEBUG > 1 and print STDERR " Numeric item has the expected value of $expected_value\n";

    } else {
      DEBUG > 1 and print STDERR " Numeric item has ", $para->[1]{'number'},
       " instead of the expected value of $expected_value\n";
      $self->whine(
        $para->[1]{'start_line'},
        "You have '=item " . $para->[1]{'number'} .
        "' instead of the expected '=item $expected_value'"
      );
      $para->[1]{'number'} = $expected_value;  # correcting!!
    }

    if(@$para == 2) {
      # For the cases where we /didn't/ push to @$para
      if($paras->[0][0] eq '~Para') {
        DEBUG and print STDERR "Assimilating following ~Para content into $over_type item\n";
        push @$para, splice @{shift @$paras},2;
      } else {
        DEBUG and print STDERR "Can't assimilate following ", $paras->[0][0], "\n";
        push @$para, '';  # Just so it's not contentless
      }
    }


  } elsif($over_type eq 'bullet') {
    my $item_type = $self->_get_item_type($para);
      # That kills the content of the item if it's a number or bullet.
    DEBUG and print STDERR " Item is of type ", $para->[0], " under $over_type\n";

    if($item_type eq 'bullet') {
      # as expected!

      if( $para->[1]{'~_freaky_para_hack'} ) {
        DEBUG and print STDERR "Accomodating '=item * Foo' tolerance hack.\n";
        push @$para, $para->[1]{'~_freaky_para_hack'};
      }

    } elsif($item_type eq 'number') {
      $self->whine(
        $para->[1]{'start_line'},
        "Expected '=item *'"
      );
      push @$para, $para->[1]{'~orig_content'};
       # and block assimilation of the next paragraph
      delete $para->[1]{'number'};
       # Only a PROPER item-number element is allowed
       #  to have a number attribute.
    } elsif($item_type eq 'text') {
      $self->whine(
        $para->[1]{'start_line'},
        "Expected '=item *'"
      );
       # But doesn't need processing.  But it'll block assimilation
       #  of the next para.
    } else {
      die "Unhandled item type $item_type"; # should never happen
    }

    if(@$para == 2) {
      # For the cases where we /didn't/ push to @$para
      if($paras->[0][0] eq '~Para') {
        DEBUG and print STDERR "Assimilating following ~Para content into $over_type item\n";
        push @$para, splice @{shift @$paras},2;
      } else {
        DEBUG and print STDERR "Can't assimilate following ", $paras->[0][0], "\n";
        push @$para, '';  # Just so it's not contentless
      }
    }

  } else {
    die "Unhandled =over type \"$over_type\"?";
    # Shouldn't happen!
  }
  $para->[0] .= '-' . $over_type;

  return;
}

sub _ponder_Plain {
  my ($self,$para) = @_;
  DEBUG and print STDERR " giving plain treatment...\n";
  unless( @$para == 2 or ( @$para == 3 and $para->[2] eq '' )
    or $para->[1]{'~cooked'}
  ) {
    push @$para,
    @{$self->_make_treelet(
      join("\n", splice(@$para, 2)),
      $para->[1]{'start_line'}
    )};
  }
  # Empty paragraphs don't need a treelet for any reason I can see.
  # And precooked paragraphs already have a treelet.
  return;
}

sub _ponder_Verbatim {
  my ($self,$para) = @_;
  DEBUG and print STDERR " giving verbatim treatment...\n";

  $para->[1]{'xml:space'} = 'preserve';

  unless ($self->{'_output_is_for_JustPod'}) {
    # Fix illegal settings for expand_verbatim_tabs()
    # This is because this module doesn't do input error checking, but khw
    # doesn't want to add yet another instance of that.
    $self->expand_verbatim_tabs(8)
                            if ! defined $self->expand_verbatim_tabs()
                            ||   $self->expand_verbatim_tabs() =~ /\D/;

    my $indent = $self->strip_verbatim_indent;
    if ($indent && ref $indent eq 'CODE') {
        my @shifted = (shift @{$para}, shift @{$para});
        $indent = $indent->($para);
        unshift @{$para}, @shifted;
    }

    for(my $i = 2; $i < @$para; $i++) {
      foreach my $line ($para->[$i]) { # just for aliasing
        # Strip indentation.
        $line =~ s/^\Q$indent// if $indent;
        next unless $self->expand_verbatim_tabs;

            # This is commented out because of github issue #85, and the
            # current maintainers don't know why it was there in the first
            # place.
            #&& !($self->{accept_codes} && $self->{accept_codes}{VerbatimFormatted});
        while( $line =~
          # Sort of adapted from Text::Tabs.
          s/^([^\t]*)(\t+)/$1.(" " x ((length($2)
                                       * $self->expand_verbatim_tabs)
                                       -(length($1)&7)))/e
        ) {}

        # TODO: whinge about (or otherwise treat) unindented or overlong lines

      }
    }
  }

  # Now the VerbatimFormatted hoodoo...
  if( $self->{'accept_codes'} and
      $self->{'accept_codes'}{'VerbatimFormatted'}
  ) {
    while(@$para > 3 and $para->[-1] !~ m/\S/) { pop @$para }
     # Kill any number of terminal newlines
    $self->_verbatim_format($para);
  } elsif ($self->{'codes_in_verbatim'}) {
    push @$para,
    @{$self->_make_treelet(
      join("\n", splice(@$para, 2)),
      $para->[1]{'start_line'}, $para->[1]{'xml:space'}
    )};
    $para->[-1] =~ s/\n+$//s; # Kill any number of terminal newlines
  } else {
    push @$para, join "\n", splice(@$para, 2) if @$para > 3;
    $para->[-1] =~ s/\n+$//s; # Kill any number of terminal newlines
  }
  return;
}

sub _ponder_Data {
  my ($self,$para) = @_;
  DEBUG and print STDERR " giving data treatment...\n";
  $para->[1]{'xml:space'} = 'preserve';
  push @$para, join "\n", splice(@$para, 2) if @$para > 3;
  return;
}




###########################################################################

sub _traverse_treelet_bit {  # for use only by the routine above
  my($self, $name) = splice @_,0,2;

  my $scratch;
  $self->_handle_element_start(($scratch=$name), shift @_);

  while (@_) {
    my $x = shift;
    if (ref($x)) {
      &_traverse_treelet_bit($self, @$x);
    } else {
      $x .= shift while @_ && !ref($_[0]);
      $self->_handle_text($x);
    }
  }

  $self->_handle_element_end($scratch=$name);
  return;
}

#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

sub _closers_for_all_curr_open {
  my $self = $_[0];
  my @closers;
  foreach my $still_open (@{  $self->{'curr_open'} || return  }) {
    my @copy = @$still_open;
    $copy[1] = {%{ $copy[1] }};
    #$copy[1]{'start_line'} = -1;
    if($copy[0] eq '=for') {
      $copy[0] = '=end';
    } elsif($copy[0] eq '=over') {
      $self->whine(
        $still_open->[1]{start_line} ,
        "=over without closing =back"
      );

      $copy[0] = '=back';
    } else {
      die "I don't know how to auto-close an open $copy[0] region";
    }

    unless( @copy > 2 ) {
      push @copy, $copy[1]{'target'};
      $copy[-1] = '' unless defined $copy[-1];
       # since =over's don't have targets
    }

    $copy[1]{'fake-closer'} = 1;

    DEBUG and print STDERR "Queuing up fake-o event: ", pretty(\@copy), "\n";
    unshift @closers, \@copy;
  }
  return @closers;
}

#--------------------------------------------------------------------------

sub _verbatim_format {
  my($it, $p) = @_;

  my $formatting;

  for(my $i = 2; $i < @$p; $i++) { # work backwards over the lines
    DEBUG and print STDERR "_verbatim_format appends a newline to $i: $p->[$i]\n";
    $p->[$i] .= "\n";
     # Unlike with simple Verbatim blocks, we don't end up just doing
     # a join("\n", ...) on the contents, so we have to append a
     # newline to every line, and then nix the last one later.
  }

  if( DEBUG > 4 ) {
    print STDERR "<<\n";
    for(my $i = $#$p; $i >= 2; $i--) { # work backwards over the lines
      print STDERR "_verbatim_format $i: $p->[$i]";
    }
    print STDERR ">>\n";
  }

  for(my $i = $#$p; $i > 2; $i--) {
    # work backwards over the lines, except the first (#2)

    #next unless $p->[$i]   =~ m{^#:([ \^\/\%]*)\n?$}s
    #        and $p->[$i-1] !~ m{^#:[ \^\/\%]*\n?$}s;
     # look at a formatty line preceding a nonformatty one
    DEBUG > 5 and print STDERR "Scrutinizing line $i: $$p[$i]\n";
    if($p->[$i]   =~ m{^#:([ \^\/\%]*)\n?$}s) {
      DEBUG > 5 and print STDERR "  It's a formatty line.  ",
       "Peeking at previous line ", $i-1, ": $$p[$i-1]: \n";

      if( $p->[$i-1] =~ m{^#:[ \^\/\%]*\n?$}s ) {
        DEBUG > 5 and print STDERR "  Previous line is formatty!  Skipping this one.\n";
        next;
      } else {
        DEBUG > 5 and print STDERR "  Previous line is non-formatty!  Yay!\n";
      }
    } else {
      DEBUG > 5 and print STDERR "  It's not a formatty line.  Ignoring\n";
      next;
    }

    # A formatty line has to have #: in the first two columns, and uses
    # "^" to mean bold, "/" to mean underline, and "%" to mean bold italic.
    # Example:
    #   What do you want?  i like pie. [or whatever]
    # #:^^^^^^^^^^^^^^^^^              /////////////


    DEBUG > 4 and print STDERR "_verbatim_format considers:\n<$p->[$i-1]>\n<$p->[$i]>\n";

    $formatting = '  ' . $1;
    $formatting =~ s/\s+$//s; # nix trailing whitespace
    unless(length $formatting and $p->[$i-1] =~ m/\S/) { # no-op
      splice @$p,$i,1; # remove this line
      $i--; # don't consider next line
      next;
    }

    if( length($formatting) >= length($p->[$i-1]) ) {
      $formatting = substr($formatting, 0, length($p->[$i-1]) - 1) . ' ';
    } else {
      $formatting .= ' ' x (length($p->[$i-1]) - length($formatting));
    }
    # Make $formatting and the previous line be exactly the same length,
    # with $formatting having a " " as the last character.

    DEBUG > 4 and print STDERR "Formatting <$formatting>    on <", $p->[$i-1], ">\n";


    my @new_line;
    while( $formatting =~ m{\G(( +)|(\^+)|(\/+)|(\%+))}g ) {
      #print STDERR "Format matches $1\n";

      if($2) {
        #print STDERR "SKIPPING <$2>\n";
        push @new_line,
          substr($p->[$i-1], pos($formatting)-length($1), length($1));
      } else {
        #print STDERR "SNARING $+\n";
        push @new_line, [
          (
            $3 ? 'VerbatimB'  :
            $4 ? 'VerbatimI'  :
            $5 ? 'VerbatimBI' : die("Should never get called")
          ), {},
          substr($p->[$i-1], pos($formatting)-length($1), length($1))
        ];
        #print STDERR "Formatting <$new_line[-1][-1]> as $new_line[-1][0]\n";
      }
    }
    my @nixed =
      splice @$p, $i-1, 2, @new_line; # replace myself and the next line
    DEBUG > 10 and print STDERR "Nixed count: ", scalar(@nixed), "\n";

    DEBUG > 6 and print STDERR "New version of the above line is these tokens (",
      scalar(@new_line), "):",
      map( ref($_)?"<@$_> ":"<$_>", @new_line ), "\n";
    $i--; # So the next line we scrutinize is the line before the one
          #  that we just went and formatted
  }

  $p->[0] = 'VerbatimFormatted';

  # Collapse adjacent text nodes, just for kicks.
  for( my $i = 2; $i > $#$p; $i++ ) { # work forwards over the tokens except for the last
    if( !ref($p->[$i]) and !ref($p->[$i + 1]) ) {
      DEBUG > 5 and print STDERR "_verbatim_format merges {$p->[$i]} and {$p->[$i+1]}\n";
      $p->[$i] .= splice @$p, $i+1, 1; # merge
      --$i;  # and back up
    }
  }

  # Now look for the last text token, and remove the terminal newline
  for( my $i = $#$p; $i >= 2; $i-- ) {
    # work backwards over the tokens, even the first
    if( !ref($p->[$i]) ) {
      if($p->[$i] =~ s/\n$//s) {
        DEBUG > 5 and print STDERR "_verbatim_format killed the terminal newline on #$i: {$p->[$i]}, after {$p->[$i-1]}\n";
      } else {
        DEBUG > 5 and print STDERR
         "No terminal newline on #$i: {$p->[$i]}, after {$p->[$i-1]} !?\n";
      }
      last; # we only want the next one
    }
  }

  return;
}


#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


sub _treelet_from_formatting_codes {
  # Given a paragraph, returns a treelet.  Full of scary tokenizing code.
  #  Like [ '~Top', {'start_line' => $start_line},
  #            "I like ",
  #            [ 'B', {}, "pie" ],
  #            "!"
  #       ]
  # This illustrates the general format of a treelet.  It is an array:
  #     [0]       is a scalar indicating its type.  In the example above, the
  #               types are '~Top' and 'B'
  #     [1]       is a hash of various flags about it, possibly empty
  #     [2] - [N] are an ordered list of the subcomponents of the treelet.
  #               Scalars are literal text, refs are sub-treelets, to
  #               arbitrary levels.  Stringifying a treelet will recursively
  #               stringify the sub-treelets, concatentating everything
  #               together to form the exact text of the treelet.

  my($self, $para, $start_line, $preserve_space) = @_;

  my $treelet = ['~Top', {'start_line' => $start_line},];

  unless ($preserve_space || $self->{'preserve_whitespace'}) {
    $para =~ s/\s+/ /g; # collapse and trim all whitespace first.
    $para =~ s/ $//;
    $para =~ s/^ //;
  }

  # Only apparent problem the above code is that N<<  >> turns into
  # N<< >>.  But then, word wrapping does that too!  So don't do that!


  # As a Start-code is encountered, the number of opening bracket '<'
  # characters minus 1 is pushed onto @stack (so 0 means a single bracket,
  # etc).  When closing brackets are found in the text, at least this number
  # (plus the 1) will be required to mean the Start-code is terminated.  When
  # those are found, @stack is popped.
  my @stack;

  my @lineage = ($treelet);
  my $raw = ''; # raw content of L<> fcode before splitting/processing
    # XXX 'raw' is not 100% accurate: all surrounding whitespace is condensed
    # into just 1 ' '. Is this the regex's doing or 'raw's?  Answer is it's
    # the 'collapse and trim all whitespace first' lines just above.
  my $inL = 0;

  DEBUG > 4 and print STDERR "Paragraph:\n$para\n\n";

  # Here begins our frightening tokenizer RE.  The following regex matches
  # text in four main parts:
  #
  #  * Start-codes.  The first alternative matches C< or C<<, the latter
  #    followed by some whitespace.  $1 will hold the entire start code
  #    (including any space following a multiple-angle-bracket delimiter),
  #    and $2 will hold only the additional brackets past the first in a
  #    multiple-bracket delimiter.  length($2) + 1 will be the number of
  #    closing brackets we have to find.
  #
  #  * Closing brackets.  Match some amount of whitespace followed by
  #    multiple close brackets.  The logic to see if this closes anything
  #    is down below.  Note that in order to parse C<<  >> correctly, we
  #    have to use look-behind (?<=\s\s), since the match of the starting
  #    code will have consumed the whitespace.
  #
  #  * A single closing bracket, to close a simple code like C<>.
  #
  #  * Something that isn't a start or end code.  We have to be careful
  #    about accepting whitespace, since perlpodspec says that any whitespace
  #    before a multiple-bracket closing delimiter should be ignored.
  #
  while($para =~
    m/\G
      (?:
        # Match starting codes, including the whitespace following a
        # multiple-delimiter start code.  $1 gets the whole start code and
        # $2 gets all but one of the <s in the multiple-bracket case.
        ([A-Z]<(?:(<+)\s+)?)
        |
        # Match multiple-bracket end codes.  $3 gets the whitespace that
        # should be discarded before an end bracket but kept in other cases
        # and $4 gets the end brackets themselves.  ($3 can be empty if the
        # construct is empty, like C<<  >>, and all the white-space has been
        # gobbled up already, considered to be space after the opening
        # bracket.  In this case we use look-behind to verify that there are
        # at least 2 spaces in a row before the ">".)
        (\s+|(?<=\s\s))(>{2,})
        |
        (\s?>)          # $5: simple end-codes
        |
        (               # $6: stuff containing no start-codes or end-codes
          (?:
            [^A-Z\s>]
            |
            (?:
              [A-Z](?!<)
            )
            |
            # whitespace is ok, but we don't want to eat the whitespace before
            # a multiple-bracket end code.
            # NOTE: we may still have problems with e.g. S<<    >>
            (?:
              \s(?!\s*>{2,})
            )
          )+
        )
      )
    /xgo
  ) {
    DEBUG > 4 and print STDERR "\nParagraphic tokenstack = (@stack)\n";
    if(defined $1) {
      my $bracket_count;    # How many '<<<' in a row this has.  Needed for
                            # Pod::Simple::JustPod
      if(defined $2) {
        DEBUG > 3 and print STDERR "Found complex start-text code \"$1\"\n";
        $bracket_count = length($2) + 1;
        push @stack, $bracket_count; # length of the necessary complex
                                     # end-code string
      } else {
        DEBUG > 3 and print STDERR "Found simple start-text code \"$1\"\n";
        push @stack, 0;  # signal that we're looking for simple
        $bracket_count = 1;
      }
      my $code = substr($1,0,1);
      if ('L' eq $code) {
        if ($inL) {
            $raw .= $1;
            $self->scream( $start_line,
                           'Nested L<> are illegal.  Pretending inner one is '
                         . 'X<...> so can continue looking for other errors.');
            $code = "X";
        }
        else {
            $raw = ""; # reset raw content accumulator
            $inL = @stack;
        }
      } else {
        $raw .= $1 if $inL;
      }
      push @lineage, [ $code, {}, ];  # new node object

      # Tell Pod::Simple::JustPod how many brackets there were, but to save
      # space, not in the most usual case of there was just 1.  It can be
      # inferred by the absence of this element.  Similarly, if there is more
      # than one bracket, extract the white space between the final bracket
      # and the real beginning of the interior.  Save that if it isn't just a
      # single space
      if ($self->{'_output_is_for_JustPod'} && $bracket_count > 1) {
        $lineage[-1][1]{'~bracket_count'} = $bracket_count;
        my $lspacer = substr($1, 1 + $bracket_count);
        $lineage[-1][1]{'~lspacer'} = $lspacer if $lspacer ne " ";
      }
      push @{ $lineage[-2] }, $lineage[-1];
    } elsif(defined $4) {
      DEBUG > 3 and print STDERR "Found apparent complex end-text code \"$3$4\"\n";
      # This is where it gets messy...
      if(! @stack) {
        # We saw " >>>>" but needed nothing.  This is ALL just stuff then.
        DEBUG > 4 and print STDERR " But it's really just stuff.\n";
        push @{ $lineage[-1] }, $3, $4;
        next;
      } elsif(!$stack[-1]) {
        # We saw " >>>>" but needed only ">".  Back pos up.
        DEBUG > 4 and print STDERR " And that's more than we needed to close simple.\n";
        push @{ $lineage[-1] }, $3; # That was a for-real space, too.
        pos($para) = pos($para) - length($4) + 1;
      } elsif($stack[-1] == length($4)) {
        # We found " >>>>", and it was exactly what we needed.  Commonest case.
        DEBUG > 4 and print STDERR " And that's exactly what we needed to close complex.\n";
      } elsif($stack[-1] < length($4)) {
        # We saw " >>>>" but needed only " >>".  Back pos up.
        DEBUG > 4 and print STDERR " And that's more than we needed to close complex.\n";
        pos($para) = pos($para) - length($4) + $stack[-1];
      } else {
        # We saw " >>>>" but needed " >>>>>>".  So this is all just stuff!
        DEBUG > 4 and print STDERR " But it's really just stuff, because we needed more.\n";
        push @{ $lineage[-1] }, $3, $4;
        next;
      }
      #print STDERR "\nHOOBOY ", scalar(@{$lineage[-1]}), "!!!\n";

      if ($3 ne " " && $self->{'_output_is_for_JustPod'}) {
        if ($3 ne "") {
          $lineage[-1][1]{'~rspacer'} = $3;
        }
        elsif ($lineage[-1][1]{'~lspacer'} eq "  ") {

          # Here we had something like C<<  >> which was a false positive
          delete $lineage[-1][1]{'~lspacer'};
        }
        else {
          $lineage[-1][1]{'~rspacer'}
                                = substr($lineage[-1][1]{'~lspacer'}, -1, 1);
          chop $lineage[-1][1]{'~lspacer'};
        }
      }

      push @{ $lineage[-1] }, '' if 2 == @{ $lineage[-1] };
      # Keep the element from being childless

      if ($inL == @stack) {
        $lineage[-1][1]{'raw'} = $raw;
        $inL = 0;
      }

      pop @stack;
      pop @lineage;

      $raw .= $3.$4 if $inL;

    } elsif(defined $5) {
      DEBUG > 3 and print STDERR "Found apparent simple end-text code \"$5\"\n";

      if(@stack and ! $stack[-1]) {
        # We're indeed expecting a simple end-code
        DEBUG > 4 and print STDERR " It's indeed an end-code.\n";

        if(length($5) == 2) { # There was a space there: " >"
          push @{ $lineage[-1] }, ' ';
        } elsif( 2 == @{ $lineage[-1] } ) { # Closing a childless element
          push @{ $lineage[-1] }, ''; # keep it from being really childless
        }

        if ($inL == @stack) {
          $lineage[-1][1]{'raw'} = $raw;
          $inL = 0;
        }

        pop @stack;
        pop @lineage;
      } else {
        DEBUG > 4 and print STDERR " It's just stuff.\n";
        push @{ $lineage[-1] }, $5;
      }

      $raw .= $5 if $inL;

    } elsif(defined $6) {
      DEBUG > 3 and print STDERR "Found stuff \"$6\"\n";
      push @{ $lineage[-1] }, $6;
      $raw .= $6 if $inL;
        # XXX does not capture multiplace whitespaces -- 'raw' ends up with
        #     at most 1 leading/trailing whitespace, why not all of it?
        #     Answer, because we deliberately trimmed it above

    } else {
      # should never ever ever ever happen
      DEBUG and print STDERR "AYYAYAAAAA at line ", __LINE__, "\n";
      die "SPORK 512512!";
    }
  }

  if(@stack) { # Uhoh, some sequences weren't closed.
    my $x= "...";
    while(@stack) {
      push @{ $lineage[-1] }, '' if 2 == @{ $lineage[-1] };
      # Hmmmmm!

      my $code         = (pop @lineage)->[0];
      my $ender_length =  pop @stack;
      if($ender_length) {
        --$ender_length;
        $x = $code . ("<" x $ender_length) . " $x " . (">" x $ender_length);
      } else {
        $x = $code . "<$x>";
      }
    }
    DEBUG > 1 and print STDERR "Unterminated $x sequence\n";
    $self->whine($start_line,
      "Unterminated $x sequence",
    );
  }

  return $treelet;
}

#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

sub text_content_of_treelet {  # method: $parser->text_content_of_treelet($lol)
  return stringify_lol($_[1]);
}

sub stringify_lol {  # function: stringify_lol($lol)
  my $string_form = '';
  _stringify_lol( $_[0] => \$string_form );
  return $string_form;
}

sub _stringify_lol {  # the real recursor
  my($lol, $to) = @_;
  for(my $i = 2; $i < @$lol; ++$i) {
    if( ref($lol->[$i] || '') and UNIVERSAL::isa($lol->[$i], 'ARRAY') ) {
      _stringify_lol( $lol->[$i], $to);  # recurse!
    } else {
      $$to .= $lol->[$i];
    }
  }
  return;
}

#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

sub _dump_curr_open { # return a string representation of the stack
  my $curr_open = $_[0]{'curr_open'};

  return '[empty]' unless @$curr_open;
  return join '; ',
    map {;
           ($_->[0] eq '=for')
             ? ( ($_->[1]{'~really'} || '=over')
               . ' ' . $_->[1]{'target'})
             : $_->[0]
        }
    @$curr_open
  ;
}

###########################################################################
my %pretty_form = (
  "\a" => '\a', # ding!
  "\b" => '\b', # BS
  "\e" => '\e', # ESC
  "\f" => '\f', # FF
  "\t" => '\t', # tab
  "\cm" => '\cm',
  "\cj" => '\cj',
  "\n" => '\n', # probably overrides one of either \cm or \cj
  '"' => '\"',
  '\\' => '\\\\',
  '$' => '\\$',
  '@' => '\\@',
  '%' => '\\%',
  '#' => '\\#',
);

sub pretty { # adopted from Class::Classless
  # Not the most brilliant routine, but passable.
  # Don't give it a cyclic data structure!
  my @stuff = @_; # copy
  my $x;
  my $out =
    # join ",\n" .
    join ", ",
    map {;
    if(!defined($_)) {
      "undef";
    } elsif(ref($_) eq 'ARRAY' or ref($_) eq 'Pod::Simple::LinkSection') {
      $x = "[ " . pretty(@$_) . " ]" ;
      $x;
    } elsif(ref($_) eq 'SCALAR') {
      $x = "\\" . pretty($$_) ;
      $x;
    } elsif(ref($_) eq 'HASH') {
      my $hr = $_;
      $x = "{" . join(", ",
        map(pretty($_) . '=>' . pretty($hr->{$_}),
            sort keys %$hr ) ) . "}" ;
      $x;
    } elsif(!length($_)) { q{''} # empty string
    } elsif(
      $_ eq '0' # very common case
      or(
         m/^-?(?:[123456789]\d*|0)(?:\.\d+)?$/s
         and $_ ne '-0' # the strange case that RE lets thru
      )
    ) { $_;
    } else {
        # Yes, explicitly name every character desired. There are shorcuts one
        # could make, but I (Karl Williamson) was afraid that some Perl
        # releases would have bugs in some of them. For example [A-Z] works
        # even on EBCDIC platforms to match exactly the 26 uppercase English
        # letters, but I don't know if it has always worked without bugs. It
        # seemed safest just to list the characters.
        # s<([^\x20\x21\x23\x27-\x3F\x41-\x5B\x5D-\x7E])>
        s<([^ !"#'()*+,\-./0123456789:;\<=\>?ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\]^_`abcdefghijklmnopqrstuvwxyz{|}~])>
         <$pretty_form{$1} || '\\x{'.sprintf("%x", ord($1)).'}'>eg;
         #<$pretty_form{$1} || '\\x'.(unpack("H2",$1))>eg;
      qq{"$_"};
    }
  } @stuff;
  # $out =~ s/\n */ /g if length($out) < 75;
  return $out;
}

#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

# A rather unsubtle method of blowing away all the state information
# from a parser object so it can be reused. Provided as a utility for
# backward compatibility in Pod::Man, etc. but not recommended for
# general use.

sub reinit {
  my $self = shift;
  foreach (qw(source_dead source_filename doc_has_started
start_of_pod_block content_seen last_was_blank paras curr_open
line_count pod_para_count in_pod ~tried_gen_errata all_errata errata errors_seen
Title)) {

    delete $self->{$_};
  }
}

#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
1;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                