// IRS Table 1 — Alphabetical Listing of Commonly Used Assets (MACRS asset classes with
// GDS and ADS recovery periods). Source: IRS Pub. 946 as published by Sage. Reference data
// used to pre-populate the Asset Class Number on asset categories. null = no class number /
// recovery period determined by another method (amortization, income forecasting, etc.).
// Verify against current tax law before relying on these for a filing.

// IRS Table 1 — Alphabetical Listing of Commonly Used Assets.
const COMMON = [
  { description: 'Adding Machines', class_number: '00.13', gds: 5, ads: 6 },
  { description: 'Agricultural Machinery and Equipment', class_number: '01.1', gds: 7, ads: 10 },
  { description: 'Airplanes, Commercial', class_number: '45.0', gds: 7, ads: 12 },
  { description: 'Airplanes, Noncommercial', class_number: '00.21', gds: 5, ads: 6 },
  { description: 'Appliances in Rental Property', class_number: null, gds: 5, ads: 9 },
  { description: 'Automobiles', class_number: '00.22', gds: 5, ads: 5 },
  { description: 'Barges', class_number: '00.28', gds: 10, ads: 18 },
  { description: 'Billboards', class_number: '57.1', gds: 15, ads: 20 },
  { description: 'Boats', class_number: '00.28', gds: 10, ads: 18 },
  { description: 'Bookcases', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Books (Professional Library)', class_number: '57.0', gds: 5, ads: 9 },
  { description: 'Bridges', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Buildings, Residential Rental', class_number: null, gds: 27.5, ads: 30 },
  { description: 'Buildings, if not Residential Rental', class_number: null, gds: 39, ads: 40 },
  { description: 'Buildings, Car Wash', class_number: '57.1', gds: 15, ads: 20 },
  { description: 'Buildings, Farm (not single-purpose structures)', class_number: '01.3', gds: 20, ads: 25 },
  { description: 'Buildings, Service Station', class_number: '57.1', gds: 15, ads: 20 },
  { description: 'Buildings, Telephone Central Office', class_number: '48.11', gds: 20, ads: 45 },
  { description: 'Buses', class_number: '00.23', gds: 5, ads: 9 },
  { description: 'Calculators', class_number: '00.13', gds: 5, ads: 6 },
  { description: 'Canals', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Carpeting', class_number: '57.0', gds: 5, ads: 9 },
  { description: 'Cars', class_number: '00.22', gds: 5, ads: 5 },
  { description: 'Car Phones', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Car Wash Buildings', class_number: '57.1', gds: 15, ads: 20 },
  { description: 'Cash Registers', class_number: '57.0', gds: 5, ads: 9 },
  { description: 'Cattle, Breeding or Dairy', class_number: '01.21', gds: 5, ads: 7 },
  { description: 'Cell Phones', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Coin-Operated Dispensing Machines', class_number: '57.0', gds: 5, ads: 9 },
  { description: 'Communications Equipment (not included elsewhere)', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Computers', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Computer Peripheral Equipment', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Computer Software – Amortized', class_number: null, gds: null, ads: null },
  { description: 'Concrete Ready Mix Trucks', class_number: '00.242', gds: 5, ads: 6 },
  { description: 'Construction Assets', class_number: '15.0', gds: 5, ads: 6 },
  { description: 'Copiers', class_number: '00.13', gds: 5, ads: 6 },
  { description: 'Copyrights – Amortized', class_number: null, gds: null, ads: null },
  { description: 'Cotton Ginning Assets', class_number: '01.11', gds: 7, ads: 12 },
  { description: 'Covenants Not to Compete – Amortized', class_number: null, gds: null, ads: null },
  { description: 'Customer Lists – Amortized', class_number: null, gds: null, ads: null },
  { description: 'Data Entry Devices', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Desks', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Disk Drives', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Disk Files', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Disk Packs', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Docks', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Drainage Facilities', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Duplicating Equipment', class_number: '00.13', gds: 5, ads: 6 },
  { description: 'Elevators, if Residential Rental', class_number: null, gds: 27.5, ads: 30 },
  { description: 'Elevators, if not Residential Rental', class_number: null, gds: 39, ads: 40 },
  { description: 'Escalators, if Residential Rental', class_number: null, gds: 27.5, ads: 30 },
  { description: 'Escalators, if not Residential Rental', class_number: null, gds: 39, ads: 40 },
  { description: 'Farm Buildings (not single-purpose structures)', class_number: '01.3', gds: 20, ads: 25 },
  { description: 'Fax Machines', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Fences for Agriculture', class_number: '01.1', gds: 7, ads: 10 },
  { description: 'Fences not for Agriculture', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'File Cabinets', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Films', class_number: null, gds: null, ads: null },
  { description: 'Fixtures, Office', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Fixtures in Rental Property', class_number: null, gds: 5, ads: 9 },
  { description: 'Franchises – Amortized', class_number: null, gds: null, ads: null },
  { description: 'Furniture, Office', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Furniture in Rental Property', class_number: '57.0', gds: 5, ads: 9 },
  { description: 'Goats, Breeding', class_number: '01.24', gds: 5, ads: 5 },
  { description: 'Goodwill – Amortized', class_number: null, gds: null, ads: null },
  { description: 'Grain Bins', class_number: '01.1', gds: 7, ads: 10 },
  { description: 'Helicopters', class_number: '00.21', gds: 5, ads: 6 },
  { description: 'Hogs, Breeding', class_number: '01.23', gds: 3, ads: 3 },
  { description: 'Horses, Breeding or Work (12 years old or less)', class_number: '01.221', gds: 7, ads: 10 },
  { description: 'Horses, Breeding or Work (more than 12 years old)', class_number: '01.222', gds: 3, ads: 10 },
  { description: 'Horses, Race (more than 2 years old at placed in service date)', class_number: '01.223', gds: 3, ads: 12 },
  { description: 'Horses, not Race, Breeding, or Work (more than 12 years old)', class_number: '01.224', gds: 3, ads: 12 },
  { description: 'Horses, Other (not described in any other category)', class_number: '01.225', gds: 7, ads: 12 },
  { description: 'Hotels', class_number: null, gds: 39, ads: 40 },
  { description: 'Land Improvements (not in any other class)', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Landscaping Shrubbery', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Leasehold Improvements', class_number: null, gds: 39, ads: 40 },
  { description: 'Magnetic Tape Feeds', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Mobile Homes, if Residential Rental', class_number: null, gds: 27.5, ads: 40 },
  { description: 'Mobile Homes, if not Residential Rental', class_number: null, gds: 39, ads: 40 },
  { description: 'Motels', class_number: null, gds: 39, ads: 40 },
  { description: 'Motion Pictures', class_number: null, gds: null, ads: null },
  { description: 'Motorsports Entertainment Complex', class_number: null, gds: 7, ads: 40 },
  { description: 'Nonresidential Real Property', class_number: null, gds: 39, ads: 40 },
  { description: 'Office Furniture', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Optical Character Readers', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Ore Trucks', class_number: '00.242', gds: 5, ads: 6 },
  { description: 'Organization Costs – Amortized', class_number: null, gds: null, ads: null },
  { description: 'Patents – Amortized', class_number: null, gds: null, ads: null },
  { description: 'Plotters', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Printers', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Qualified Improvement Property', class_number: null, gds: 15, ads: 20 },
  { description: 'Qualified Restaurant Property', class_number: null, gds: null, ads: null },
  { description: 'Qualified Retail Property', class_number: null, gds: null, ads: null },
  { description: 'Radio Transmitting Towers', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Railroad Cars and Locomotives, Commercial', class_number: '40.1', gds: 7, ads: 14 },
  { description: 'Railroad Cars and Locomotives, if not Commercial', class_number: '00.25', gds: 7, ads: 15 },
  { description: 'Railroad Machinery and Equipment', class_number: '40.1', gds: 7, ads: 14 },
  { description: 'Railroad Structures and Improvements', class_number: '40.2', gds: 20, ads: 30 },
  { description: 'Railroad Track', class_number: '40.4', gds: 7, ads: 10 },
  { description: 'Recreational Vehicles (RV) (Unloaded Weight 13,000 lbs or More)', class_number: '00.242', gds: 5, ads: 6 },
  { description: 'Recreational Vehicles (RV) (Unloaded Weight Less than 13,000 lbs)', class_number: '00.241', gds: 5, ads: 5 },
  { description: 'Rent-to-Own Property', class_number: null, gds: 3, ads: 4 },
  { description: 'Rental Formal Wear', class_number: '57.0', gds: 5, ads: 9 },
  { description: 'Rental Tuxedos', class_number: '57.0', gds: 5, ads: 9 },
  { description: 'Research and Development', class_number: null, gds: 5, ads: null },
  { description: 'Residential Rental Real Property', class_number: null, gds: 27.5, ads: 30 },
  { description: 'Roads', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Safes', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Service Station Buildings', class_number: '57.1', gds: 15, ads: 20 },
  { description: 'Sewers, Municipal', class_number: '51.', gds: 25, ads: 50 },
  { description: 'Sewers, if not Municipal Sewers', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Sheep, Breeding', class_number: '01.24', gds: 5, ads: 5 },
  { description: 'Ships', class_number: '00.28', gds: 10, ads: 18 },
  { description: 'Shrubbery, Landscaping', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Sidewalks', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Single-Purpose Agricultural Structures', class_number: '01.4', gds: 10, ads: 15 },
  { description: 'Single-Purpose Horticultural Structures', class_number: '01.4', gds: 10, ads: 15 },
  { description: 'Slot Machines', class_number: '79.0', gds: 7, ads: 10 },
  { description: 'Smart Electric Meter', class_number: null, gds: 10, ads: 30 },
  { description: 'Smart Grid System', class_number: null, gds: 10, ads: 30 },
  { description: 'Sound Recordings', class_number: null, gds: null, ads: null },
  { description: 'Syndication Expenses – Capitalized', class_number: null, gds: null, ads: null },
  { description: 'Tape Cassettes', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Tape Drives', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Taxis', class_number: '00.22', gds: 5, ads: 5 },
  { description: 'Telephones', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Telephone Central Office Buildings', class_number: '48.11', gds: 20, ads: 45 },
  { description: 'Telephone Central Office Equipment', class_number: '48.12', gds: 10, ads: 18 },
  { description: 'Telephone Distribution Plants', class_number: '48.14', gds: 15, ads: 24 },
  { description: 'Telephone Systems', class_number: '00.11', gds: 7, ads: 10 },
  { description: 'Teleprinters', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Television Transmitting Towers', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Terminals', class_number: '00.12', gds: 5, ads: 5 },
  { description: 'Tractor Units for Use Over the Road', class_number: '00.26', gds: 3, ads: 4 },
  { description: 'Trade Names – Amortized', class_number: null, gds: null, ads: null },
  { description: 'Trademarks – Amortized', class_number: null, gds: null, ads: null },
  { description: 'Trailer-Mounted Containers', class_number: '00.27', gds: 5, ads: 6 },
  { description: 'Trailers', class_number: '00.27', gds: 5, ads: 6 },
  { description: 'Trees Bearing Fruits or Nuts', class_number: null, gds: 10, ads: 20 },
  { description: 'Trucks, Heavy (13,000 lbs or more)', class_number: '00.242', gds: 5, ads: 6 },
  { description: 'Trucks, Light (less than 13,000 lbs)', class_number: '00.241', gds: 5, ads: 5 },
  { description: 'Tugs (not used in marine construction)', class_number: '00.28', gds: 10, ads: 18 },
  { description: 'Typewriters', class_number: '00.13', gds: 5, ads: 6 },
  { description: 'Vessels', class_number: '00.28', gds: 10, ads: 18 },
  { description: 'Videotapes', class_number: null, gds: null, ads: null },
  { description: 'Vines Bearing Fruit or Nuts', class_number: null, gds: 10, ads: 20 },
  { description: 'Waterways', class_number: '00.3', gds: 15, ads: 20 },
  { description: 'Wharves', class_number: '00.3', gds: 15, ads: 20 }
];

// IRS Table 2 — Property Categorized by the Type of Manufacturing Industry.
const INDUSTRY = [
  { description: 'Aerospace Products', class_number: '37.2', gds: 7, ads: 10 },
  { description: 'Airplanes (manufacturing)', class_number: '37.2', gds: 7, ads: 10 },
  { description: 'Amusement Machines', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Apparel (excluding rubber and leather)', class_number: '23.0', gds: 5, ads: 9 },
  { description: 'Appliances', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Art Supplies', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Athletic Goods', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Automobiles (manufacturing)', class_number: '37.11', gds: 7, ads: 12 },
  { description: 'Boat and Ship Building — Dry Docks and Land Improvements', class_number: '37.32', gds: 10, ads: 16 },
  { description: 'Boat and Ship Building — Machinery and Equipment', class_number: '37.31', gds: 7, ads: 12 },
  { description: 'Boat and Ship Building — Special Tools', class_number: '37.33', gds: 5, ads: 6.5 },
  { description: 'Boiler Systems for Steam and Chemical Recovery', class_number: '26.1', gds: 7, ads: 13 },
  { description: 'Brooms and Brushes', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Buses (manufacturing)', class_number: '37.11', gds: 7, ads: 12 },
  { description: 'Carpets', class_number: '22.3', gds: 5, ads: 9 },
  { description: 'Caskets', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Cement (not Concrete)', class_number: '32.2', gds: 15, ads: 20 },
  { description: 'Chemical and Steam Recovery Boiler Systems', class_number: '26.1', gds: 7, ads: 13 },
  { description: 'Chemicals and Allied Products', class_number: '28.0', gds: null, ads: null },
  { description: 'Clay Products', class_number: '32.3', gds: 7, ads: 15 },
  { description: 'Clocks and Watches', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Clothing (excluding rubber and leather)', class_number: '23.0', gds: 5, ads: 9 },
  { description: 'Computers and Peripheral Machines (manufacturing)', class_number: '36.0', gds: 5, ads: 6 },
  { description: 'Concrete and Concrete Products', class_number: '32.3', gds: 7, ads: 15 },
  { description: 'Construction Machinery', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Cooling Systems', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Dental Equipment', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Dental Supplies', class_number: '22.3', gds: 5, ads: 9 },
  { description: 'Dyeing Textile Products', class_number: '22.3', gds: 5, ads: 9 },
  { description: 'Electronic Components, Products, and Systems', class_number: '36.0', gds: 5, ads: 6 },
  { description: 'Farm Machinery (placed in service before 1/1/2018)', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Farm Machinery (placed in service after 12/31/2017)', class_number: '35.0', gds: 5, ads: 10 },
  { description: 'Floor Coverings — Hard Surface', class_number: '22.3', gds: 5, ads: 9 },
  { description: 'Food and Beverage — Other', class_number: '20.4', gds: null, ads: null },
  { description: 'Food and Beverage Special Handling Devices', class_number: '20.5', gds: 3, ads: 4 },
  { description: 'Foundry Products', class_number: '33.3', gds: 7, ads: 14 },
  { description: 'Furniture (wood)', class_number: '24.4', gds: 7, ads: 10 },
  { description: 'Gas — Coal Gasification', class_number: '49.223', gds: 10, ads: 18 },
  { description: 'Gas Production Plants', class_number: '49.23', gds: 7, ads: 14 },
  { description: 'Glass Products', class_number: '32.1', gds: 7, ads: 14 },
  { description: 'Glass Products — Special Tools', class_number: '32.11', gds: 3, ads: 2.5 },
  { description: 'Grain and Grain Mill Products', class_number: '20.1', gds: 10, ads: 17 },
  { description: 'Jewelry', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Knitted Goods', class_number: '22.1', gds: 5, ads: 7.5 },
  { description: 'Leather and Leather Products', class_number: '31.1', gds: 7, ads: 11 },
  { description: 'Lighting Fixtures', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Locomotives', class_number: '37.41', gds: 7, ads: 11.5 },
  { description: 'Machine Tools', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Machinery, Electrical', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Machinery, Nonelectrical', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Mechanical Products', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Medical Equipment', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Medical Supplies', class_number: '22.3', gds: 5, ads: 9 },
  { description: 'Metal Products (Fabricated)', class_number: '34.0', gds: 7, ads: 12 },
  { description: 'Metal Products (Fabricated) — Special Tools', class_number: '34.01', gds: 3, ads: 3 },
  { description: 'Metals, Primary Nonferrous', class_number: '33.2', gds: 7, ads: 14 },
  { description: 'Metals, Primary Nonferrous — Special Tools', class_number: '33.21', gds: 5, ads: 6.5 },
  { description: 'Mining Machinery', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Motion Picture Films and Tapes', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Motor Homes (manufacturing)', class_number: '37.11', gds: 7, ads: 12 },
  { description: 'Motor Vehicles (manufacturing)', class_number: '37.11', gds: 7, ads: 12 },
  { description: 'Motor Vehicles — Special Tools', class_number: '37.12', gds: 3, ads: 3 },
  { description: 'Musical Instruments', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Nonwoven Fabrics', class_number: '22.5', gds: 7, ads: 10 },
  { description: 'Nonwoven Products', class_number: '22.3', gds: 5, ads: 9 },
  { description: 'Office Supplies', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Ophthalmic Goods', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Paper', class_number: '26.1', gds: 7, ads: 13 },
  { description: 'Paper Products (converted)', class_number: '26.2', gds: 7, ads: 10 },
  { description: 'Paperboard Products', class_number: '26.2', gds: 7, ads: 10 },
  { description: 'Pencils and Pens', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Photographic Equipment', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Photographic Supplies', class_number: '28.0', gds: 5, ads: 9.5 },
  { description: 'Plastic Finished Products', class_number: '30.2', gds: 7, ads: 11 },
  { description: 'Plastic Finished Products — Special Tools', class_number: '30.21', gds: 3, ads: 3.5 },
  { description: 'Pollution Control Assets', class_number: '26.1', gds: 7, ads: 13 },
  { description: 'Pulp', class_number: '26.1', gds: 7, ads: 13 },
  { description: 'Pulp Products (converted)', class_number: '26.2', gds: 7, ads: 10 },
  { description: 'Railroad Cars', class_number: '37.42', gds: 7, ads: 12 },
  { description: 'Railroad Locomotives', class_number: '37.41', gds: 7, ads: 11.5 },
  { description: 'Rubber Products', class_number: '30.1', gds: 7, ads: 14 },
  { description: 'Rubber Products — Special Tools and Devices', class_number: '30.11', gds: 3, ads: 4 },
  { description: 'Semiconductor Manufacturing Equipment', class_number: '36.1', gds: 5, ads: 5 },
  { description: 'Ship and Boat Building — Dry Docks and Land Improvements', class_number: '37.32', gds: 10, ads: 16 },
  { description: 'Ship and Boat Building — Machinery and Equipment', class_number: '37.31', gds: 7, ads: 12 },
  { description: 'Ship and Boat Building — Special Tools', class_number: '37.33', gds: 5, ads: 6.5 },
  { description: 'Sporting Goods', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Steam Utility Production and Distribution', class_number: '49.4', gds: 20, ads: 28 },
  { description: 'Steel (Primary) Mill Products', class_number: '33.4', gds: 7, ads: 15 },
  { description: 'Stone Products', class_number: '32.3', gds: 7, ads: 15 },
  { description: 'Sugar and Sugar Products', class_number: '20.2', gds: 10, ads: 18 },
  { description: 'Television Films and Tapes', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Textile Products, Dyeing, Finishing, and Packaging', class_number: '22.3', gds: 5, ads: 9 },
  { description: 'Textured Yarns', class_number: '22.4', gds: 5, ads: 8 },
  { description: 'Thread', class_number: '22.2', gds: 7, ads: 11 },
  { description: 'Tires', class_number: '30.1', gds: 7, ads: 14 },
  { description: 'Tobacco and Tobacco Products', class_number: '21.0', gds: 7, ads: 15 },
  { description: 'Toys', class_number: '39.0', gds: 7, ads: 12 },
  { description: 'Trailers (manufacturing)', class_number: '37.11', gds: 7, ads: 12 },
  { description: 'Trucks (manufacturing)', class_number: '37.11', gds: 7, ads: 12 },
  { description: 'Vegetable Oils and Products', class_number: '20.3', gds: 10, ads: 18 },
  { description: 'Vending Machines', class_number: '35.0', gds: 7, ads: 10 },
  { description: 'Video Recorders', class_number: '36.0', gds: 5, ads: 6 },
  { description: 'Wood Products', class_number: '24.4', gds: 7, ads: 10 },
  { description: 'Woven Fabric', class_number: '22.2', gds: 7, ads: 11 },
  { description: 'Yarn', class_number: '22.2', gds: 7, ads: 11 }
];

// IRS Table 3 — Property Categorized by the Type of Business.
const BUSINESS = [
  { description: 'Agriculture', class_number: '01.1', gds: 7, ads: 10 },
  { description: 'Amusement and Theme Parks', class_number: '80.0', gds: 7, ads: 12.5 },
  { description: 'Barber Shop', class_number: '57.0', gds: 7, ads: 10 },
  { description: 'Beauty Shop', class_number: '57.0', gds: 7, ads: 10 },
  { description: 'Bed and Breakfasts', class_number: '57.0', gds: 7, ads: 10 },
  { description: 'Billiard Establishments', class_number: '79.0', gds: 7, ads: 10 },
  { description: 'Bookbinding', class_number: '27.0', gds: 7, ads: 11 },
  { description: 'Bowling Alleys', class_number: '79.0', gds: 7, ads: 10 },
  { description: 'Cable Television', class_number: '48.4+', gds: null, ads: null },
  { description: 'Casinos', class_number: '00.12', gds: 7, ads: 10 },
  { description: 'Communications (Telegraph, Ocean Cable, Satellite)', class_number: '48.3+', gds: null, ads: null },
  { description: 'Concert Halls', class_number: '79.0', gds: 7, ads: 10 },
  { description: 'Construction', class_number: '15.0', gds: 5, ads: 6 },
  { description: 'Distributive Trades and Services', class_number: '57.0', gds: 5, ads: 9 },
  { description: 'Electric Generation (industrial)', class_number: '00.4', gds: 15, ads: 22 },
  { description: 'Electric Utility Services', class_number: '49.1+', gds: null, ads: null },
  { description: 'Electrotyping', class_number: '27.0', gds: 7, ads: 11 },
  { description: 'Engraving', class_number: '27.0', gds: 7, ads: 11 },
  { description: 'Gas Deposits — Exploration and Production', class_number: '13.2', gds: 7, ads: 14 },
  { description: 'Gas and Oil — Offshore Drilling', class_number: '13.0', gds: 5, ads: 7.5 },
  { description: 'Gas and Oil — On-Shore Drilling', class_number: '13.1', gds: 5, ads: 6 },
  { description: 'Gas Utility Services', class_number: '49.2+', gds: null, ads: null },
  { description: 'Lithography', class_number: '27.0', gds: 7, ads: 11 },
  { description: 'Logging', class_number: '24.1+', gds: 5, ads: 6 },
  { description: 'Miniature Golf Courses', class_number: '79.0', gds: 7, ads: 10 },
  { description: 'Mining', class_number: '10.0', gds: 7, ads: 10 },
  { description: 'Motorsports Entertainment Complex', class_number: null, gds: 7, ads: 40 },
  { description: 'Oil and Gas — Offshore Drilling', class_number: '13.0', gds: 5, ads: 7.5 },
  { description: 'Oil and Gas — On-Shore Drilling', class_number: '13.1', gds: 5, ads: 6 },
  { description: 'Personal Services', class_number: '57.0', gds: 5, ads: 9 },
  { description: 'Petroleum — Exploration and Production', class_number: '13.2', gds: 7, ads: 14 },
  { description: 'Petroleum Refining', class_number: '13.3', gds: 10, ads: 16 },
  { description: 'Pipeline Transportation', class_number: '46.0', gds: 15, ads: 22 },
  { description: 'Printing', class_number: '27.0', gds: 7, ads: 11 },
  { description: 'Professional Services', class_number: '57.0', gds: 5, ads: 9 },
  { description: 'Publishing', class_number: '27.0', gds: 7, ads: 11 },
  { description: 'Radio Broadcasting (excluding transmitting towers)', class_number: '48.2', gds: 5, ads: 6 },
  { description: 'Recreation Services (excluding amusement parks)', class_number: '79.0', gds: 7, ads: 10 },
  { description: 'Research and Development (business activity)', class_number: null, gds: 5, ads: null },
  { description: 'Retail Trades and Services', class_number: '57.0', gds: 5, ads: 9 },
  { description: 'Steam Generation (industrial)', class_number: '00.4', gds: 15, ads: 22 },
  { description: 'Steam Utility Production and Distribution (business)', class_number: '49.4', gds: 20, ads: 28 },
  { description: 'Telephone Central Office Buildings (business)', class_number: '48.11', gds: 20, ads: 45 },
  { description: 'Telephone Central Office Switching', class_number: '48.12', gds: 10, ads: 18 },
  { description: 'Telephone Central Office Switching — Computer-Based', class_number: '48.121', gds: 5, ads: 9.5 },
  { description: 'Telephone Station Equipment', class_number: '48.13', gds: 7, ads: 10 },
  { description: 'Telephone Distribution Plants (business)', class_number: '48.14', gds: 15, ads: 24 },
  { description: 'Television Broadcasting (excluding transmitting towers)', class_number: '48.2', gds: 5, ads: 6 },
  { description: 'Theaters', class_number: '79.0', gds: 7, ads: 10 },
  { description: 'Theme and Amusement Parks', class_number: '80.0', gds: 7, ads: 12.5 },
  { description: 'Timber Cutting', class_number: '24.1+', gds: 5, ads: 6 },
  { description: 'Transport (Air) — Passengers and Freight', class_number: '45.0', gds: 7, ads: 12 },
  { description: 'Transport (Motor) — Freight', class_number: '42.0', gds: 5, ads: 8 },
  { description: 'Transport (Motor) — Passengers', class_number: '41.0', gds: 5, ads: 8 },
  { description: 'Transport (Pipeline)', class_number: '46.0', gds: 15, ads: 22 },
  { description: 'Transport (Water) — Passengers and Freight', class_number: '44.0', gds: 15, ads: 20 },
  { description: 'Typesetting', class_number: '27.0', gds: 7, ads: 11 },
  { description: 'Waste Reduction and Resource Recovery Plants', class_number: '49.5', gds: 7, ads: 10 },
  { description: 'Waste Water (Municipal) Treatment Plants', class_number: '50.0', gds: 15, ads: 24 },
  { description: 'Water Utility Services', class_number: '49.3', gds: 25, ads: 50 },
  { description: 'Wholesale Trades and Services', class_number: '57.0', gds: 5, ads: 9 }
];

// `table` marks the source list so the picker can label/group entries.
const IRS_ASSET_CLASSES = [
  ...COMMON.map((entry) => ({ ...entry, table: 'common' })),
  ...INDUSTRY.map((entry) => ({ ...entry, table: 'industry' })),
  ...BUSINESS.map((entry) => ({ ...entry, table: 'business' }))
];

module.exports = { IRS_ASSET_CLASSES };
