1use crate::rules::types::{HsRule, ShapePattern};
8
9pub static HS_RULES: &[HsRule] = &[
13 HsRule {
19 cas: "1310-73-2",
20 shape: ShapePattern::Solid,
21 purity_range: None,
22 hs_code: "281511",
23 heading_description: "Sodium hydroxide (caustic soda); solid",
24 confidence: 0.97,
25 },
26 HsRule {
27 cas: "1310-73-2",
28 shape: ShapePattern::Powder,
29 purity_range: None,
30 hs_code: "281511",
31 heading_description: "Sodium hydroxide (caustic soda); solid",
32 confidence: 0.95,
33 },
34 HsRule {
35 cas: "1310-73-2",
36 shape: ShapePattern::Solution { concentration_range_pct: None },
37 purity_range: None,
38 hs_code: "281512",
39 heading_description: "Sodium hydroxide (caustic soda); in aqueous solution (soda lye or liquid soda)",
40 confidence: 0.97,
41 },
42
43 HsRule {
45 cas: "1310-58-3",
46 shape: ShapePattern::Solid,
47 purity_range: None,
48 hs_code: "281520",
49 heading_description: "Potassium hydroxide (caustic potash)",
50 confidence: 0.97,
51 },
52 HsRule {
53 cas: "1310-58-3",
54 shape: ShapePattern::Solution { concentration_range_pct: None },
55 purity_range: None,
56 hs_code: "281520",
57 heading_description: "Potassium hydroxide (caustic potash)",
58 confidence: 0.95,
59 },
60
61 HsRule {
63 cas: "7664-93-9",
64 shape: ShapePattern::Any,
65 purity_range: None,
66 hs_code: "280700",
67 heading_description: "Sulphuric acid; oleum",
68 confidence: 0.97,
69 },
70
71 HsRule {
73 cas: "7647-01-0",
74 shape: ShapePattern::Gas,
75 purity_range: None,
76 hs_code: "280610",
77 heading_description: "Hydrogen chloride (hydrochloric acid)",
78 confidence: 0.97,
79 },
80 HsRule {
81 cas: "7647-01-0",
82 shape: ShapePattern::Solution { concentration_range_pct: None },
83 purity_range: None,
84 hs_code: "280610",
85 heading_description: "Hydrogen chloride (hydrochloric acid)",
86 confidence: 0.95,
87 },
88 HsRule {
89 cas: "7647-01-0",
90 shape: ShapePattern::Any,
91 purity_range: None,
92 hs_code: "280610",
93 heading_description: "Hydrogen chloride (hydrochloric acid)",
94 confidence: 0.90,
95 },
96
97 HsRule {
100 cas: "7697-37-2",
101 shape: ShapePattern::Solution { concentration_range_pct: Some(98.0..=100.0) },
102 purity_range: None,
103 hs_code: "280810",
104 heading_description: "Nitric acid; fuming nitric acid",
105 confidence: 0.90,
106 },
107 HsRule {
109 cas: "7697-37-2",
110 shape: ShapePattern::Solution { concentration_range_pct: Some(0.0..=97.99) },
111 purity_range: None,
112 hs_code: "280890",
113 heading_description: "Nitric acid",
114 confidence: 0.90,
115 },
116 HsRule {
117 cas: "7697-37-2",
118 shape: ShapePattern::Any,
119 purity_range: None,
120 hs_code: "280800",
121 heading_description: "Nitric acid; sulphonitric acids",
122 confidence: 0.75, },
124
125 HsRule {
127 cas: "7664-38-2",
128 shape: ShapePattern::Any,
129 purity_range: None,
130 hs_code: "280920",
131 heading_description: "Phosphoric acid and polyphosphoric acids",
132 confidence: 0.97,
133 },
134
135 HsRule {
137 cas: "7664-39-3",
138 shape: ShapePattern::Gas,
139 purity_range: None,
140 hs_code: "281111",
141 heading_description: "Hydrogen fluoride (hydrofluoric acid)",
142 confidence: 0.97,
143 },
144 HsRule {
145 cas: "7664-39-3",
146 shape: ShapePattern::Any,
147 purity_range: None,
148 hs_code: "281111",
149 heading_description: "Hydrogen fluoride (hydrofluoric acid)",
150 confidence: 0.90,
151 },
152
153 HsRule {
155 cas: "7664-41-7",
156 shape: ShapePattern::Gas,
157 purity_range: None,
158 hs_code: "281410",
159 heading_description: "Anhydrous ammonia",
160 confidence: 0.97,
161 },
162 HsRule {
163 cas: "7664-41-7",
164 shape: ShapePattern::Solution { concentration_range_pct: None },
165 purity_range: None,
166 hs_code: "281420",
167 heading_description: "Ammonia in aqueous solution",
168 confidence: 0.97,
169 },
170 HsRule {
171 cas: "7664-41-7",
172 shape: ShapePattern::Any,
173 purity_range: None,
174 hs_code: "281400",
175 heading_description: "Ammonia, anhydrous or in aqueous solution",
176 confidence: 0.75,
177 },
178
179 HsRule {
181 cas: "7782-50-5",
182 shape: ShapePattern::Any,
183 purity_range: None,
184 hs_code: "280110",
185 heading_description: "Chlorine",
186 confidence: 0.97,
187 },
188
189 HsRule {
191 cas: "7726-95-6",
192 shape: ShapePattern::Any,
193 purity_range: None,
194 hs_code: "280130",
195 heading_description: "Bromine",
196 confidence: 0.97,
197 },
198
199 HsRule {
201 cas: "7647-14-5",
202 shape: ShapePattern::Any,
203 purity_range: None,
204 hs_code: "250100",
205 heading_description: "Salt (including table salt and denatured salt)",
206 confidence: 0.90, },
208
209 HsRule {
211 cas: "497-19-8",
212 shape: ShapePattern::Any,
213 purity_range: None,
214 hs_code: "283620",
215 heading_description: "Sodium carbonate",
216 confidence: 0.97,
217 },
218
219 HsRule {
221 cas: "144-55-8",
222 shape: ShapePattern::Any,
223 purity_range: None,
224 hs_code: "283630",
225 heading_description: "Sodium bicarbonate (sodium hydrogen carbonate)",
226 confidence: 0.97,
227 },
228
229 HsRule {
231 cas: "471-34-1",
232 shape: ShapePattern::Any,
233 purity_range: None,
234 hs_code: "283650",
235 heading_description: "Calcium carbonate",
236 confidence: 0.90, },
238
239 HsRule {
241 cas: "1305-62-0",
242 shape: ShapePattern::Any,
243 purity_range: None,
244 hs_code: "282520",
245 heading_description: "Calcium hydroxide",
246 confidence: 0.97,
247 },
248
249 HsRule {
251 cas: "10043-52-4",
252 shape: ShapePattern::Any,
253 purity_range: None,
254 hs_code: "282720",
255 heading_description: "Calcium chloride",
256 confidence: 0.97,
257 },
258
259 HsRule {
261 cas: "1344-28-1",
262 shape: ShapePattern::Any,
263 purity_range: None,
264 hs_code: "281820",
265 heading_description: "Aluminium oxide (other than artificial corundum)",
266 confidence: 0.90, },
268
269 HsRule {
271 cas: "13463-67-7",
272 shape: ShapePattern::Any,
273 purity_range: None,
274 hs_code: "282300",
275 heading_description: "Titanium oxides",
276 confidence: 0.97,
277 },
278
279 HsRule {
281 cas: "7705-08-0",
282 shape: ShapePattern::Any,
283 purity_range: None,
284 hs_code: "282739",
285 heading_description: "Chlorides of other metals — iron(III) chloride",
286 confidence: 0.95,
287 },
288
289 HsRule {
291 cas: "7758-98-7",
292 shape: ShapePattern::Any,
293 purity_range: None,
294 hs_code: "283325",
295 heading_description: "Copper sulphates",
296 confidence: 0.97,
297 },
298
299 HsRule {
301 cas: "7631-86-9",
302 shape: ShapePattern::Any,
303 purity_range: None,
304 hs_code: "281122",
305 heading_description: "Silicon dioxide (synthetic)",
306 confidence: 0.93,
307 },
308
309 HsRule {
311 cas: "1344-09-8",
312 shape: ShapePattern::Any,
313 purity_range: None,
314 hs_code: "283911",
315 heading_description: "Sodium silicates — sodium metasilicate",
316 confidence: 0.88,
317 },
318
319 HsRule {
321 cas: "7722-84-1",
322 shape: ShapePattern::Any,
323 purity_range: None,
324 hs_code: "284700",
325 heading_description: "Hydrogen peroxide",
326 confidence: 0.97,
327 },
328
329 HsRule {
331 cas: "7681-52-9",
332 shape: ShapePattern::Any,
333 purity_range: None,
334 hs_code: "282810",
335 heading_description: "Hypochlorites — sodium hypochlorite",
336 confidence: 0.97,
337 },
338
339 HsRule {
341 cas: "7757-82-6",
342 shape: ShapePattern::Any,
343 purity_range: None,
344 hs_code: "283311",
345 heading_description: "Disodium sulphate",
346 confidence: 0.97,
347 },
348
349 HsRule {
351 cas: "7447-40-7",
352 shape: ShapePattern::Any,
353 purity_range: None,
354 hs_code: "283110",
355 heading_description: "Potassium chloride",
356 confidence: 0.93, },
358
359 HsRule {
361 cas: "6484-52-2",
362 shape: ShapePattern::Any,
363 purity_range: None,
364 hs_code: "310230",
365 heading_description: "Ammonium nitrate (Ch.31 fertiliser heading)",
366 confidence: 0.85, },
368
369 HsRule {
375 cas: "64-17-5",
376 shape: ShapePattern::Any,
377 purity_range: Some(95.0..=100.0), hs_code: "220710",
379 heading_description: "Undenatured ethyl alcohol of an alcoholic strength ≥80%",
380 confidence: 0.85,
381 },
382 HsRule {
383 cas: "64-17-5",
384 shape: ShapePattern::Any,
385 purity_range: None,
386 hs_code: "290511",
387 heading_description: "Ethanol (methanol)",
388 confidence: 0.70, },
390
391 HsRule {
393 cas: "67-56-1",
394 shape: ShapePattern::Any,
395 purity_range: None,
396 hs_code: "290511",
397 heading_description: "Methanol (methyl alcohol)",
398 confidence: 0.97,
399 },
400
401 HsRule {
403 cas: "67-64-1",
404 shape: ShapePattern::Any,
405 purity_range: None,
406 hs_code: "291411",
407 heading_description: "Acetone",
408 confidence: 0.97,
409 },
410
411 HsRule {
413 cas: "64-19-7",
414 shape: ShapePattern::Any,
415 purity_range: None,
416 hs_code: "291521",
417 heading_description: "Acetic acid",
418 confidence: 0.97,
419 },
420
421 HsRule {
423 cas: "108-88-3",
424 shape: ShapePattern::Any,
425 purity_range: None,
426 hs_code: "290230",
427 heading_description: "Toluene",
428 confidence: 0.97,
429 },
430
431 HsRule {
433 cas: "71-43-2",
434 shape: ShapePattern::Any,
435 purity_range: None,
436 hs_code: "290220",
437 heading_description: "Benzene",
438 confidence: 0.97,
439 },
440
441 HsRule {
443 cas: "1330-20-7",
444 shape: ShapePattern::Any,
445 purity_range: None,
446 hs_code: "290244",
447 heading_description: "Mixed xylene isomers",
448 confidence: 0.93,
449 },
450
451 HsRule {
453 cas: "67-63-0",
454 shape: ShapePattern::Any,
455 purity_range: None,
456 hs_code: "290512",
457 heading_description: "Propan-2-ol (isopropyl alcohol)",
458 confidence: 0.97,
459 },
460
461 HsRule {
463 cas: "141-78-6",
464 shape: ShapePattern::Any,
465 purity_range: None,
466 hs_code: "291523",
467 heading_description: "Ethyl acetate",
468 confidence: 0.97,
469 },
470
471 HsRule {
473 cas: "50-00-0",
474 shape: ShapePattern::Any,
475 purity_range: None,
476 hs_code: "291211",
477 heading_description: "Methanal (formaldehyde)",
478 confidence: 0.97,
479 },
480
481 HsRule {
483 cas: "64-18-6",
484 shape: ShapePattern::Any,
485 purity_range: None,
486 hs_code: "291511",
487 heading_description: "Formic acid",
488 confidence: 0.97,
489 },
490
491 HsRule {
493 cas: "77-92-9",
494 shape: ShapePattern::Any,
495 purity_range: None,
496 hs_code: "291814",
497 heading_description: "Citric acid",
498 confidence: 0.97,
499 },
500
501 HsRule {
503 cas: "57-13-6",
504 shape: ShapePattern::Any,
505 purity_range: None,
506 hs_code: "310210",
507 heading_description: "Urea (Ch.31 as fertiliser)",
508 confidence: 0.85,
509 },
510
511 HsRule {
513 cas: "62-53-3",
514 shape: ShapePattern::Any,
515 purity_range: None,
516 hs_code: "292141",
517 heading_description: "Aniline",
518 confidence: 0.97,
519 },
520
521 HsRule {
523 cas: "108-95-2",
524 shape: ShapePattern::Any,
525 purity_range: None,
526 hs_code: "290711",
527 heading_description: "Phenol",
528 confidence: 0.97,
529 },
530
531 HsRule {
537 cas: "7429-90-5",
538 shape: ShapePattern::Ingot,
539 purity_range: Some(99.0..=100.0),
540 hs_code: "760110",
541 heading_description: "Aluminium, not alloyed — ingots, billets",
542 confidence: 0.93,
543 },
544 HsRule {
545 cas: "7429-90-5",
546 shape: ShapePattern::Powder,
547 purity_range: None,
548 hs_code: "760310",
549 heading_description: "Aluminium powders of non-lamellar structure",
550 confidence: 0.92,
551 },
552 HsRule {
553 cas: "7429-90-5",
554 shape: ShapePattern::Foil,
555 purity_range: None,
556 hs_code: "760711",
557 heading_description: "Aluminium foil (not backed), rolled but not further worked",
558 confidence: 0.90,
559 },
560 HsRule {
561 cas: "7429-90-5",
562 shape: ShapePattern::Any,
563 purity_range: None,
564 hs_code: "760110",
565 heading_description: "Aluminium — unwrought",
566 confidence: 0.70,
567 },
568
569 HsRule {
571 cas: "7440-50-8",
572 shape: ShapePattern::Any,
573 purity_range: None,
574 hs_code: "740311",
575 heading_description: "Refined copper — cathodes and sections of cathodes",
576 confidence: 0.80,
577 },
578
579 HsRule {
581 cas: "7439-89-6",
582 shape: ShapePattern::Powder,
583 purity_range: None,
584 hs_code: "720310",
585 heading_description: "Ferrous products obtained by direct reduction of iron ore",
586 confidence: 0.70, },
588
589 HsRule {
591 cas: "7440-66-6",
592 shape: ShapePattern::Any,
593 purity_range: None,
594 hs_code: "790111",
595 heading_description: "Zinc, not alloyed — ≥99.99% pure",
596 confidence: 0.82,
597 },
598
599 HsRule {
605 cas: "1314-13-2",
606 shape: ShapePattern::Any,
607 purity_range: None,
608 hs_code: "281700",
609 heading_description: "Zinc oxide; zinc peroxide",
610 confidence: 0.97,
611 },
612
613 HsRule {
615 cas: "1309-37-1",
616 shape: ShapePattern::Any,
617 purity_range: None,
618 hs_code: "282110",
619 heading_description: "Iron oxides and hydroxides",
620 confidence: 0.93,
621 },
622
623 HsRule {
625 cas: "1313-13-9",
626 shape: ShapePattern::Any,
627 purity_range: None,
628 hs_code: "282010",
629 heading_description: "Manganese dioxide",
630 confidence: 0.97,
631 },
632
633 HsRule {
635 cas: "7722-64-7",
636 shape: ShapePattern::Any,
637 purity_range: None,
638 hs_code: "284130",
639 heading_description: "Potassium permanganate",
640 confidence: 0.97,
641 },
642
643 HsRule {
645 cas: "1313-82-2",
646 shape: ShapePattern::Any,
647 purity_range: None,
648 hs_code: "283010",
649 heading_description: "Sodium sulphides",
650 confidence: 0.97,
651 },
652
653 HsRule {
655 cas: "7733-02-0",
656 shape: ShapePattern::Any,
657 purity_range: None,
658 hs_code: "283329",
659 heading_description: "Sulphates — zinc sulphate",
660 confidence: 0.95,
661 },
662
663 HsRule {
665 cas: "10043-01-3",
666 shape: ShapePattern::Any,
667 purity_range: None,
668 hs_code: "283322",
669 heading_description: "Aluminium sulphate",
670 confidence: 0.97,
671 },
672
673 HsRule {
675 cas: "10043-35-3",
676 shape: ShapePattern::Any,
677 purity_range: None,
678 hs_code: "281000",
679 heading_description: "Oxides of boron; boric acids",
680 confidence: 0.97,
681 },
682
683 HsRule {
685 cas: "7631-99-4",
686 shape: ShapePattern::Any,
687 purity_range: None,
688 hs_code: "283421",
689 heading_description: "Sodium nitrate",
690 confidence: 0.97,
691 },
692
693 HsRule {
695 cas: "7757-79-1",
696 shape: ShapePattern::Any,
697 purity_range: None,
698 hs_code: "283410",
699 heading_description: "Potassium nitrate",
700 confidence: 0.97,
701 },
702
703 HsRule {
705 cas: "584-08-7",
706 shape: ShapePattern::Any,
707 purity_range: None,
708 hs_code: "283640",
709 heading_description: "Potassium carbonates",
710 confidence: 0.97,
711 },
712
713 HsRule {
715 cas: "7646-85-7",
716 shape: ShapePattern::Any,
717 purity_range: None,
718 hs_code: "282741",
719 heading_description: "Zinc chloride",
720 confidence: 0.97,
721 },
722
723 HsRule {
725 cas: "1333-82-0",
726 shape: ShapePattern::Any,
727 purity_range: None,
728 hs_code: "281910",
729 heading_description: "Chromium trioxide",
730 confidence: 0.97,
731 },
732
733 HsRule {
735 cas: "7761-88-8",
736 shape: ShapePattern::Any,
737 purity_range: None,
738 hs_code: "284321",
739 heading_description: "Silver nitrate",
740 confidence: 0.97,
741 },
742
743 HsRule {
745 cas: "7720-78-7",
746 shape: ShapePattern::Any,
747 purity_range: None,
748 hs_code: "283329",
749 heading_description: "Sulphates — ferrous sulphate (iron(II) sulphate)",
750 confidence: 0.93,
751 },
752
753 HsRule {
759 cas: "110-54-3",
760 shape: ShapePattern::Any,
761 purity_range: None,
762 hs_code: "290110",
763 heading_description: "Saturated acyclic hydrocarbons — hexanes",
764 confidence: 0.93,
765 },
766
767 HsRule {
769 cas: "110-82-7",
770 shape: ShapePattern::Any,
771 purity_range: None,
772 hs_code: "290211",
773 heading_description: "Cyclohexane",
774 confidence: 0.97,
775 },
776
777 HsRule {
779 cas: "71-36-3",
780 shape: ShapePattern::Any,
781 purity_range: None,
782 hs_code: "290513",
783 heading_description: "Butan-1-ol (n-butyl alcohol)",
784 confidence: 0.97,
785 },
786
787 HsRule {
789 cas: "107-21-1",
790 shape: ShapePattern::Any,
791 purity_range: None,
792 hs_code: "290531",
793 heading_description: "Ethylene glycol (ethanediol)",
794 confidence: 0.97,
795 },
796
797 HsRule {
799 cas: "57-55-6",
800 shape: ShapePattern::Any,
801 purity_range: None,
802 hs_code: "290532",
803 heading_description: "Propylene glycol (1,2-propanediol)",
804 confidence: 0.97,
805 },
806
807 HsRule {
809 cas: "71-23-8",
810 shape: ShapePattern::Any,
811 purity_range: None,
812 hs_code: "290512",
813 heading_description: "Propan-1-ol (propyl alcohol)",
814 confidence: 0.97,
815 },
816
817 HsRule {
819 cas: "60-29-7",
820 shape: ShapePattern::Any,
821 purity_range: None,
822 hs_code: "290911",
823 heading_description: "Diethyl ether",
824 confidence: 0.97,
825 },
826
827 HsRule {
829 cas: "75-09-2",
830 shape: ShapePattern::Any,
831 purity_range: None,
832 hs_code: "290312",
833 heading_description: "Dichloromethane (methylene chloride)",
834 confidence: 0.97,
835 },
836
837 HsRule {
839 cas: "67-66-3",
840 shape: ShapePattern::Any,
841 purity_range: None,
842 hs_code: "290313",
843 heading_description: "Chloroform (trichloromethane)",
844 confidence: 0.97,
845 },
846
847 HsRule {
849 cas: "56-23-5",
850 shape: ShapePattern::Any,
851 purity_range: None,
852 hs_code: "290314",
853 heading_description: "Carbon tetrachloride",
854 confidence: 0.97,
855 },
856
857 HsRule {
859 cas: "144-62-7",
860 shape: ShapePattern::Any,
861 purity_range: None,
862 hs_code: "291711",
863 heading_description: "Oxalic acid, its salts and esters",
864 confidence: 0.97,
865 },
866
867 HsRule {
869 cas: "50-21-5",
870 shape: ShapePattern::Any,
871 purity_range: None,
872 hs_code: "291811",
873 heading_description: "Lactic acid, its salts and esters",
874 confidence: 0.97,
875 },
876
877 HsRule {
879 cas: "65-85-0",
880 shape: ShapePattern::Any,
881 purity_range: None,
882 hs_code: "291631",
883 heading_description: "Benzoic acid, its salts and esters",
884 confidence: 0.97,
885 },
886
887 HsRule {
889 cas: "85-44-9",
890 shape: ShapePattern::Any,
891 purity_range: None,
892 hs_code: "291735",
893 heading_description: "Phthalic anhydride",
894 confidence: 0.97,
895 },
896
897 HsRule {
899 cas: "75-21-8",
900 shape: ShapePattern::Any,
901 purity_range: None,
902 hs_code: "291010",
903 heading_description: "Ethylene oxide",
904 confidence: 0.97,
905 },
906
907 HsRule {
909 cas: "67-68-5",
910 shape: ShapePattern::Any,
911 purity_range: None,
912 hs_code: "293090",
913 heading_description: "Other organo-sulphur compounds — DMSO",
914 confidence: 0.93,
915 },
916
917 HsRule {
919 cas: "68-12-2",
920 shape: ShapePattern::Any,
921 purity_range: None,
922 hs_code: "292419",
923 heading_description: "Other acyclic amides — DMF",
924 confidence: 0.95,
925 },
926
927 HsRule {
929 cas: "127-09-3",
930 shape: ShapePattern::Any,
931 purity_range: None,
932 hs_code: "291529",
933 heading_description: "Other salts of acetic acid — sodium acetate",
934 confidence: 0.95,
935 },
936
937 HsRule {
943 cas: "7440-02-0",
944 shape: ShapePattern::Ingot,
945 purity_range: Some(99.0..=100.0),
946 hs_code: "750110",
947 heading_description: "Nickel, not alloyed — ingots etc.",
948 confidence: 0.90,
949 },
950 HsRule {
951 cas: "7440-02-0",
952 shape: ShapePattern::Any,
953 purity_range: None,
954 hs_code: "750110",
955 heading_description: "Nickel, not alloyed — unwrought",
956 confidence: 0.75,
957 },
958
959 HsRule {
961 cas: "7439-92-1",
962 shape: ShapePattern::Any,
963 purity_range: None,
964 hs_code: "780110",
965 heading_description: "Refined lead — unwrought",
966 confidence: 0.78,
967 },
968
969 HsRule {
971 cas: "7440-31-5",
972 shape: ShapePattern::Any,
973 purity_range: None,
974 hs_code: "800110",
975 heading_description: "Tin, not alloyed — unwrought",
976 confidence: 0.80,
977 },
978
979 HsRule {
981 cas: "7440-22-4",
982 shape: ShapePattern::Any,
983 purity_range: None,
984 hs_code: "710691",
985 heading_description: "Silver — unwrought",
986 confidence: 0.82,
987 },
988];