1use core::fmt;
5
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
11#[non_exhaustive]
12pub enum LocationHint {
13 Afr,
15 Apac,
17 EEur,
19 ENam,
21 Me,
23 Oc,
25 Sam,
27 WEur,
29 WNam,
31}
32
33impl LocationHint {
34 #[inline]
36 pub const fn as_str(&self) -> &'static str {
37 match self {
38 Self::Afr => "afr",
39 Self::Apac => "apac",
40 Self::EEur => "eeur",
41 Self::ENam => "enam",
42 Self::Me => "me",
43 Self::Oc => "oc",
44 Self::Sam => "sam",
45 Self::WEur => "weur",
46 Self::WNam => "wnam",
47 }
48 }
49
50 #[inline]
52 pub const fn name(&self) -> &'static str {
53 match self {
54 Self::Afr => "Africa",
55 Self::Apac => "Asia-Pacific",
56 Self::EEur => "Eastern Europe",
57 Self::ENam => "Eastern North America",
58 Self::Me => "Middle East",
59 Self::Oc => "Oceania",
60 Self::Sam => "South America",
61 Self::WEur => "Western Europe",
62 Self::WNam => "Western North America",
63 }
64 }
65
66 pub const ALL: &'static [LocationHint] = &[
68 Self::Afr,
69 Self::Apac,
70 Self::EEur,
71 Self::ENam,
72 Self::Me,
73 Self::Oc,
74 Self::Sam,
75 Self::WEur,
76 Self::WNam,
77 ];
78
79 pub fn parse(s: &str) -> Option<Self> {
81 match s {
82 "afr" => Some(Self::Afr),
83 "apac" => Some(Self::Apac),
84 "eeur" => Some(Self::EEur),
85 "enam" => Some(Self::ENam),
86 "me" => Some(Self::Me),
87 "oc" => Some(Self::Oc),
88 "sam" => Some(Self::Sam),
89 "weur" => Some(Self::WEur),
90 "wnam" => Some(Self::WNam),
91 _ => None,
92 }
93 }
94}
95
96impl fmt::Display for LocationHint {
97 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
98 f.write_str(self.as_str())
99 }
100}
101
102#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
106#[non_exhaustive]
107pub enum Colo {
108 AAE,
110 ABJ,
112 ABQ,
114 ACC,
116 ACX,
118 ADB,
120 ADD,
122 ADL,
124 AGR,
126 AKL,
128 AKX,
130 ALA,
132 ALG,
134 AMD,
136 AMM,
138 AMS,
140 ANC,
142 ARI,
144 ARN,
146 ARU,
148 ASK,
150 ASU,
152 ATH,
154 ATL,
156 AUS,
158 BAH,
160 BAQ,
162 BCN,
164 BEG,
166 BEL,
168 BEY,
170 BGI,
172 BGR,
174 BGW,
176 BHY,
178 BKK,
180 BLR,
182 BNA,
184 BNE,
186 BNU,
188 BOD,
190 BOG,
192 BOM,
194 BOS,
196 BRU,
198 BSB,
200 BSR,
202 BTS,
204 BUD,
206 BUF,
208 BWN,
210 CAI,
212 CAN,
214 CAW,
216 CBR,
218 CCP,
220 CCU,
222 CDG,
224 CEB,
226 CFC,
228 CGB,
230 CGD,
232 CGK,
234 CGO,
236 CGP,
238 CGY,
240 CHC,
242 CJB,
244 CKG,
246 CLE,
248 CLO,
250 CLT,
252 CMB,
254 CMH,
256 CNF,
258 CNI,
260 CNN,
262 CNX,
264 COK,
266 COR,
268 CPH,
270 CPT,
272 CRK,
274 CSX,
276 CTU,
278 CWB,
280 CZL,
282 CZX,
284 DAC,
286 DAD,
288 DAR,
290 DEL,
292 DEN,
294 DEX,
296 DFW,
298 DKR,
300 DLC,
302 DLP,
304 DME,
306 DMM,
308 DOH,
310 DPS,
312 DTW,
314 DUB,
316 DUR,
318 DUS,
320 DXB,
322 EBB,
324 EBL,
326 EVN,
328 EWR,
330 EZE,
332 FCO,
334 FIH,
336 FLN,
338 FOC,
340 FOR,
342 FRA,
344 FRU,
346 FSD,
348 FUK,
350 FUO,
352 GBE,
354 GDL,
356 GEO,
358 GIG,
360 GND,
362 GOT,
364 GRU,
366 GUA,
368 GUM,
370 GVA,
372 GYD,
374 GYE,
376 GYN,
378 HAK,
380 HAM,
382 HAN,
384 HBA,
386 HEL,
388 HFA,
390 HGH,
392 HKG,
394 HNL,
396 HRE,
398 HYD,
400 HYN,
402 IAD,
404 IAH,
406 ICN,
408 IND,
410 ISB,
412 IST,
414 ISU,
416 IXC,
418 JAX,
420 JDO,
422 JED,
424 JHB,
426 JIB,
428 JNB,
430 JOG,
432 JOI,
434 JXG,
436 KBP,
438 KCH,
440 KEF,
442 KGL,
444 KHH,
446 KHI,
448 KHN,
450 KIN,
452 KIV,
454 KIX,
456 KJA,
458 KMG,
460 KNU,
462 KTM,
464 KUL,
466 KWE,
468 KWI,
470 LAD,
472 LAS,
474 LAX,
476 LCA,
478 LED,
480 LHE,
482 LHR,
484 LIM,
486 LIS,
488 LLK,
490 LLW,
492 LOS,
494 LPB,
496 LUN,
498 LUX,
500 LYS,
502 MAA,
504 MAD,
506 MAN,
508 MAO,
510 MBA,
512 MCI,
514 MCT,
516 MDE,
518 MEL,
520 MEM,
522 MEX,
524 MFM,
526 MIA,
528 MLA,
530 MLE,
532 MLG,
534 MNL,
536 MPM,
538 MRS,
540 MRU,
542 MSP,
544 MSQ,
546 MUC,
548 MXP,
550 NAG,
552 NBO,
554 NJF,
556 NOU,
558 NQN,
560 NQZ,
562 NRT,
564 NVT,
566 OKA,
568 OKC,
570 OMA,
572 ORD,
574 ORF,
576 ORN,
578 OSL,
580 OTP,
582 OUA,
584 PAT,
586 PBH,
588 PBM,
590 PDX,
592 PER,
594 PHL,
596 PHX,
598 PIT,
600 PKX,
602 PMO,
604 PMW,
606 PNH,
608 POA,
610 POS,
612 PPT,
614 PRG,
616 PTY,
618 QRO,
620 QWJ,
622 RAO,
624 RDU,
626 REC,
628 RIC,
630 RIX,
632 RUH,
634 RUN,
636 SAN,
638 SAP,
640 SAT,
642 SCL,
644 SDQ,
646 SEA,
648 SFO,
650 SGN,
652 SHA,
654 SIN,
656 SJC,
658 SJK,
660 SJO,
662 SJP,
664 SJU,
666 SJW,
668 SKG,
670 SKP,
672 SLC,
674 SMF,
676 SOD,
678 SOF,
680 SSA,
682 STI,
684 STL,
686 STR,
688 SUV,
690 SYD,
692 SZX,
694 TAO,
696 TBS,
698 TEN,
700 TGU,
702 TIA,
704 TLH,
706 TLL,
708 TLV,
710 TNA,
712 TNR,
714 TPA,
716 TPE,
718 TUN,
720 TXL,
722 TYN,
724 UDI,
726 UIO,
728 ULN,
730 URT,
732 VCP,
734 VIE,
736 VIX,
738 VNO,
740 VTE,
742 WAW,
744 WDH,
746 WLG,
748 WRO,
750 XAP,
752 XFN,
754 XIY,
756 XNH,
758 YHZ,
760 YOW,
762 YUL,
764 YVR,
766 YWG,
768 YXE,
770 YYC,
772 YYZ,
774 ZAG,
776 ZDM,
778 ZRH,
780}
781
782impl Colo {
783 #[inline]
785 pub const fn code(&self) -> &'static str {
786 match self {
787 Self::AAE => "AAE",
788 Self::ABJ => "ABJ",
789 Self::ABQ => "ABQ",
790 Self::ACC => "ACC",
791 Self::ACX => "ACX",
792 Self::ADB => "ADB",
793 Self::ADD => "ADD",
794 Self::ADL => "ADL",
795 Self::AGR => "AGR",
796 Self::AKL => "AKL",
797 Self::AKX => "AKX",
798 Self::ALA => "ALA",
799 Self::ALG => "ALG",
800 Self::AMD => "AMD",
801 Self::AMM => "AMM",
802 Self::AMS => "AMS",
803 Self::ANC => "ANC",
804 Self::ARI => "ARI",
805 Self::ARN => "ARN",
806 Self::ARU => "ARU",
807 Self::ASK => "ASK",
808 Self::ASU => "ASU",
809 Self::ATH => "ATH",
810 Self::ATL => "ATL",
811 Self::AUS => "AUS",
812 Self::BAH => "BAH",
813 Self::BAQ => "BAQ",
814 Self::BCN => "BCN",
815 Self::BEG => "BEG",
816 Self::BEL => "BEL",
817 Self::BEY => "BEY",
818 Self::BGI => "BGI",
819 Self::BGR => "BGR",
820 Self::BGW => "BGW",
821 Self::BHY => "BHY",
822 Self::BKK => "BKK",
823 Self::BLR => "BLR",
824 Self::BNA => "BNA",
825 Self::BNE => "BNE",
826 Self::BNU => "BNU",
827 Self::BOD => "BOD",
828 Self::BOG => "BOG",
829 Self::BOM => "BOM",
830 Self::BOS => "BOS",
831 Self::BRU => "BRU",
832 Self::BSB => "BSB",
833 Self::BSR => "BSR",
834 Self::BTS => "BTS",
835 Self::BUD => "BUD",
836 Self::BUF => "BUF",
837 Self::BWN => "BWN",
838 Self::CAI => "CAI",
839 Self::CAN => "CAN",
840 Self::CAW => "CAW",
841 Self::CBR => "CBR",
842 Self::CCP => "CCP",
843 Self::CCU => "CCU",
844 Self::CDG => "CDG",
845 Self::CEB => "CEB",
846 Self::CFC => "CFC",
847 Self::CGB => "CGB",
848 Self::CGD => "CGD",
849 Self::CGK => "CGK",
850 Self::CGO => "CGO",
851 Self::CGP => "CGP",
852 Self::CGY => "CGY",
853 Self::CHC => "CHC",
854 Self::CJB => "CJB",
855 Self::CKG => "CKG",
856 Self::CLE => "CLE",
857 Self::CLO => "CLO",
858 Self::CLT => "CLT",
859 Self::CMB => "CMB",
860 Self::CMH => "CMH",
861 Self::CNF => "CNF",
862 Self::CNI => "CNI",
863 Self::CNN => "CNN",
864 Self::CNX => "CNX",
865 Self::COK => "COK",
866 Self::COR => "COR",
867 Self::CPH => "CPH",
868 Self::CPT => "CPT",
869 Self::CRK => "CRK",
870 Self::CSX => "CSX",
871 Self::CTU => "CTU",
872 Self::CWB => "CWB",
873 Self::CZL => "CZL",
874 Self::CZX => "CZX",
875 Self::DAC => "DAC",
876 Self::DAD => "DAD",
877 Self::DAR => "DAR",
878 Self::DEL => "DEL",
879 Self::DEN => "DEN",
880 Self::DEX => "DEX",
881 Self::DFW => "DFW",
882 Self::DKR => "DKR",
883 Self::DLC => "DLC",
884 Self::DLP => "DLP",
885 Self::DME => "DME",
886 Self::DMM => "DMM",
887 Self::DOH => "DOH",
888 Self::DPS => "DPS",
889 Self::DTW => "DTW",
890 Self::DUB => "DUB",
891 Self::DUR => "DUR",
892 Self::DUS => "DUS",
893 Self::DXB => "DXB",
894 Self::EBB => "EBB",
895 Self::EBL => "EBL",
896 Self::EVN => "EVN",
897 Self::EWR => "EWR",
898 Self::EZE => "EZE",
899 Self::FCO => "FCO",
900 Self::FIH => "FIH",
901 Self::FLN => "FLN",
902 Self::FOC => "FOC",
903 Self::FOR => "FOR",
904 Self::FRA => "FRA",
905 Self::FRU => "FRU",
906 Self::FSD => "FSD",
907 Self::FUK => "FUK",
908 Self::FUO => "FUO",
909 Self::GBE => "GBE",
910 Self::GDL => "GDL",
911 Self::GEO => "GEO",
912 Self::GIG => "GIG",
913 Self::GND => "GND",
914 Self::GOT => "GOT",
915 Self::GRU => "GRU",
916 Self::GUA => "GUA",
917 Self::GUM => "GUM",
918 Self::GVA => "GVA",
919 Self::GYD => "GYD",
920 Self::GYE => "GYE",
921 Self::GYN => "GYN",
922 Self::HAK => "HAK",
923 Self::HAM => "HAM",
924 Self::HAN => "HAN",
925 Self::HBA => "HBA",
926 Self::HEL => "HEL",
927 Self::HFA => "HFA",
928 Self::HGH => "HGH",
929 Self::HKG => "HKG",
930 Self::HNL => "HNL",
931 Self::HRE => "HRE",
932 Self::HYD => "HYD",
933 Self::HYN => "HYN",
934 Self::IAD => "IAD",
935 Self::IAH => "IAH",
936 Self::ICN => "ICN",
937 Self::IND => "IND",
938 Self::ISB => "ISB",
939 Self::IST => "IST",
940 Self::ISU => "ISU",
941 Self::IXC => "IXC",
942 Self::JAX => "JAX",
943 Self::JDO => "JDO",
944 Self::JED => "JED",
945 Self::JHB => "JHB",
946 Self::JIB => "JIB",
947 Self::JNB => "JNB",
948 Self::JOG => "JOG",
949 Self::JOI => "JOI",
950 Self::JXG => "JXG",
951 Self::KBP => "KBP",
952 Self::KCH => "KCH",
953 Self::KEF => "KEF",
954 Self::KGL => "KGL",
955 Self::KHH => "KHH",
956 Self::KHI => "KHI",
957 Self::KHN => "KHN",
958 Self::KIN => "KIN",
959 Self::KIV => "KIV",
960 Self::KIX => "KIX",
961 Self::KJA => "KJA",
962 Self::KMG => "KMG",
963 Self::KNU => "KNU",
964 Self::KTM => "KTM",
965 Self::KUL => "KUL",
966 Self::KWE => "KWE",
967 Self::KWI => "KWI",
968 Self::LAD => "LAD",
969 Self::LAS => "LAS",
970 Self::LAX => "LAX",
971 Self::LCA => "LCA",
972 Self::LED => "LED",
973 Self::LHE => "LHE",
974 Self::LHR => "LHR",
975 Self::LIM => "LIM",
976 Self::LIS => "LIS",
977 Self::LLK => "LLK",
978 Self::LLW => "LLW",
979 Self::LOS => "LOS",
980 Self::LPB => "LPB",
981 Self::LUN => "LUN",
982 Self::LUX => "LUX",
983 Self::LYS => "LYS",
984 Self::MAA => "MAA",
985 Self::MAD => "MAD",
986 Self::MAN => "MAN",
987 Self::MAO => "MAO",
988 Self::MBA => "MBA",
989 Self::MCI => "MCI",
990 Self::MCT => "MCT",
991 Self::MDE => "MDE",
992 Self::MEL => "MEL",
993 Self::MEM => "MEM",
994 Self::MEX => "MEX",
995 Self::MFM => "MFM",
996 Self::MIA => "MIA",
997 Self::MLA => "MLA",
998 Self::MLE => "MLE",
999 Self::MLG => "MLG",
1000 Self::MNL => "MNL",
1001 Self::MPM => "MPM",
1002 Self::MRS => "MRS",
1003 Self::MRU => "MRU",
1004 Self::MSP => "MSP",
1005 Self::MSQ => "MSQ",
1006 Self::MUC => "MUC",
1007 Self::MXP => "MXP",
1008 Self::NAG => "NAG",
1009 Self::NBO => "NBO",
1010 Self::NJF => "NJF",
1011 Self::NOU => "NOU",
1012 Self::NQN => "NQN",
1013 Self::NQZ => "NQZ",
1014 Self::NRT => "NRT",
1015 Self::NVT => "NVT",
1016 Self::OKA => "OKA",
1017 Self::OKC => "OKC",
1018 Self::OMA => "OMA",
1019 Self::ORD => "ORD",
1020 Self::ORF => "ORF",
1021 Self::ORN => "ORN",
1022 Self::OSL => "OSL",
1023 Self::OTP => "OTP",
1024 Self::OUA => "OUA",
1025 Self::PAT => "PAT",
1026 Self::PBH => "PBH",
1027 Self::PBM => "PBM",
1028 Self::PDX => "PDX",
1029 Self::PER => "PER",
1030 Self::PHL => "PHL",
1031 Self::PHX => "PHX",
1032 Self::PIT => "PIT",
1033 Self::PKX => "PKX",
1034 Self::PMO => "PMO",
1035 Self::PMW => "PMW",
1036 Self::PNH => "PNH",
1037 Self::POA => "POA",
1038 Self::POS => "POS",
1039 Self::PPT => "PPT",
1040 Self::PRG => "PRG",
1041 Self::PTY => "PTY",
1042 Self::QRO => "QRO",
1043 Self::QWJ => "QWJ",
1044 Self::RAO => "RAO",
1045 Self::RDU => "RDU",
1046 Self::REC => "REC",
1047 Self::RIC => "RIC",
1048 Self::RIX => "RIX",
1049 Self::RUH => "RUH",
1050 Self::RUN => "RUN",
1051 Self::SAN => "SAN",
1052 Self::SAP => "SAP",
1053 Self::SAT => "SAT",
1054 Self::SCL => "SCL",
1055 Self::SDQ => "SDQ",
1056 Self::SEA => "SEA",
1057 Self::SFO => "SFO",
1058 Self::SGN => "SGN",
1059 Self::SHA => "SHA",
1060 Self::SIN => "SIN",
1061 Self::SJC => "SJC",
1062 Self::SJK => "SJK",
1063 Self::SJO => "SJO",
1064 Self::SJP => "SJP",
1065 Self::SJU => "SJU",
1066 Self::SJW => "SJW",
1067 Self::SKG => "SKG",
1068 Self::SKP => "SKP",
1069 Self::SLC => "SLC",
1070 Self::SMF => "SMF",
1071 Self::SOD => "SOD",
1072 Self::SOF => "SOF",
1073 Self::SSA => "SSA",
1074 Self::STI => "STI",
1075 Self::STL => "STL",
1076 Self::STR => "STR",
1077 Self::SUV => "SUV",
1078 Self::SYD => "SYD",
1079 Self::SZX => "SZX",
1080 Self::TAO => "TAO",
1081 Self::TBS => "TBS",
1082 Self::TEN => "TEN",
1083 Self::TGU => "TGU",
1084 Self::TIA => "TIA",
1085 Self::TLH => "TLH",
1086 Self::TLL => "TLL",
1087 Self::TLV => "TLV",
1088 Self::TNA => "TNA",
1089 Self::TNR => "TNR",
1090 Self::TPA => "TPA",
1091 Self::TPE => "TPE",
1092 Self::TUN => "TUN",
1093 Self::TXL => "TXL",
1094 Self::TYN => "TYN",
1095 Self::UDI => "UDI",
1096 Self::UIO => "UIO",
1097 Self::ULN => "ULN",
1098 Self::URT => "URT",
1099 Self::VCP => "VCP",
1100 Self::VIE => "VIE",
1101 Self::VIX => "VIX",
1102 Self::VNO => "VNO",
1103 Self::VTE => "VTE",
1104 Self::WAW => "WAW",
1105 Self::WDH => "WDH",
1106 Self::WLG => "WLG",
1107 Self::WRO => "WRO",
1108 Self::XAP => "XAP",
1109 Self::XFN => "XFN",
1110 Self::XIY => "XIY",
1111 Self::XNH => "XNH",
1112 Self::YHZ => "YHZ",
1113 Self::YOW => "YOW",
1114 Self::YUL => "YUL",
1115 Self::YVR => "YVR",
1116 Self::YWG => "YWG",
1117 Self::YXE => "YXE",
1118 Self::YYC => "YYC",
1119 Self::YYZ => "YYZ",
1120 Self::ZAG => "ZAG",
1121 Self::ZDM => "ZDM",
1122 Self::ZRH => "ZRH",
1123 }
1124 }
1125
1126 #[inline]
1128 pub const fn name(&self) -> &'static str {
1129 match self {
1130 Self::AAE => "Annaba, Algeria",
1131 Self::ABJ => "Abidjan, Ivory Coast",
1132 Self::ABQ => "Albuquerque, NM, United States",
1133 Self::ACC => "Accra, Ghana",
1134 Self::ACX => "Xingyi, China",
1135 Self::ADB => "Izmir, Turkey",
1136 Self::ADD => "Addis Ababa, Ethiopia",
1137 Self::ADL => "Adelaide, SA, Australia",
1138 Self::AGR => "Agra, India",
1139 Self::AKL => "Auckland, New Zealand",
1140 Self::AKX => "Aktobe, Kazakhstan",
1141 Self::ALA => "Almaty, Kazakhstan",
1142 Self::ALG => "Algiers, Algeria",
1143 Self::AMD => "Ahmedabad, India",
1144 Self::AMM => "Amman, Jordan",
1145 Self::AMS => "Amsterdam, Netherlands",
1146 Self::ANC => "Anchorage, AK, United States",
1147 Self::ARI => "Arica, Chile",
1148 Self::ARN => "Stockholm, Sweden",
1149 Self::ARU => "Aracatuba, Brazil",
1150 Self::ASK => "Yamoussoukro, Ivory Coast",
1151 Self::ASU => "Asunción, Paraguay",
1152 Self::ATH => "Athens, Greece",
1153 Self::ATL => "Atlanta, GA, United States",
1154 Self::AUS => "Austin, TX, United States",
1155 Self::BAH => "Manama, Bahrain",
1156 Self::BAQ => "Barranquilla, Colombia",
1157 Self::BCN => "Barcelona, Spain",
1158 Self::BEG => "Belgrade, Serbia",
1159 Self::BEL => "Belém, Brazil",
1160 Self::BEY => "Beirut, Lebanon",
1161 Self::BGI => "Bridgetown, Barbados",
1162 Self::BGR => "Bangor, ME, United States",
1163 Self::BGW => "Baghdad, Iraq",
1164 Self::BHY => "Beihai, China",
1165 Self::BKK => "Bangkok, Thailand",
1166 Self::BLR => "Bangalore, India",
1167 Self::BNA => "Nashville, United States",
1168 Self::BNE => "Brisbane, QLD, Australia",
1169 Self::BNU => "Blumenau, Brazil",
1170 Self::BOD => "Bordeaux, France",
1171 Self::BOG => "Bogota, Colombia",
1172 Self::BOM => "Mumbai, India",
1173 Self::BOS => "Boston, MA, United States",
1174 Self::BRU => "Brussels, Belgium",
1175 Self::BSB => "Brasilia, Brazil",
1176 Self::BSR => "Basra, Iraq",
1177 Self::BTS => "Bratislava, Slovakia",
1178 Self::BUD => "Budapest, Hungary",
1179 Self::BUF => "Buffalo, NY, United States",
1180 Self::BWN => "Bandar Seri Begawan, Brunei",
1181 Self::CAI => "Cairo, Egypt",
1182 Self::CAN => "Guangzhou, China",
1183 Self::CAW => "Campos dos Goytacazes, Brazil",
1184 Self::CBR => "Canberra, ACT, Australia",
1185 Self::CCP => "Concepción, Chile",
1186 Self::CCU => "Kolkata, India",
1187 Self::CDG => "Paris, France",
1188 Self::CEB => "Cebu, Philippines",
1189 Self::CFC => "Cacador, Brazil",
1190 Self::CGB => "Cuiaba, Brazil",
1191 Self::CGD => "Changde, China",
1192 Self::CGK => "Jakarta, Indonesia",
1193 Self::CGO => "Zhengzhou, China",
1194 Self::CGP => "Chittagong, Bangladesh",
1195 Self::CGY => "Cagayan de Oro, Philippines",
1196 Self::CHC => "Christchurch, New Zealand",
1197 Self::CJB => "Coimbatore, India",
1198 Self::CKG => "Chongqing, China",
1199 Self::CLE => "Cleveland, OH, United States",
1200 Self::CLO => "Cali, Colombia",
1201 Self::CLT => "Charlotte, NC, United States",
1202 Self::CMB => "Colombo, Sri Lanka",
1203 Self::CMH => "Columbus, OH, United States",
1204 Self::CNF => "Belo Horizonte, Brazil",
1205 Self::CNI => "Cloud Network Interconnect (CNI)",
1206 Self::CNN => "Kannur, India",
1207 Self::CNX => "Chiang Mai, Thailand",
1208 Self::COK => "Kochi, India",
1209 Self::COR => "Córdoba, Argentina",
1210 Self::CPH => "Copenhagen, Denmark",
1211 Self::CPT => "Cape Town, South Africa",
1212 Self::CRK => "Tarlac City, Philippines",
1213 Self::CSX => "Changsha, China",
1214 Self::CTU => "Chengdu, China",
1215 Self::CWB => "Curitiba, Brazil",
1216 Self::CZL => "Constantine, Algeria",
1217 Self::CZX => "Changzhou, China",
1218 Self::DAC => "Dhaka, Bangladesh",
1219 Self::DAD => "Da Nang, Vietnam",
1220 Self::DAR => "Dar es Salaam, Tanzania",
1221 Self::DEL => "New Delhi, India",
1222 Self::DEN => "Denver, CO, United States",
1223 Self::DEX => "Digital Experience Monitoring (DEX)",
1224 Self::DFW => "Dallas, TX, United States",
1225 Self::DKR => "Dakar, Senegal",
1226 Self::DLC => "Dalian, China",
1227 Self::DLP => "Data Loss Prevention (DLP)",
1228 Self::DME => "Moscow, Russia",
1229 Self::DMM => "Dammam, Saudi Arabia",
1230 Self::DOH => "Doha, Qatar",
1231 Self::DPS => "Denpasar, Indonesia",
1232 Self::DTW => "Detroit, MI, United States",
1233 Self::DUB => "Dublin, Ireland",
1234 Self::DUR => "Durban, South Africa",
1235 Self::DUS => "Düsseldorf, Germany",
1236 Self::DXB => "Dubai, United Arab Emirates",
1237 Self::EBB => "Kampala, Uganda",
1238 Self::EBL => "Erbil, Iraq",
1239 Self::EVN => "Yerevan, Armenia",
1240 Self::EWR => "Newark, NJ, United States",
1241 Self::EZE => "Buenos Aires, Argentina",
1242 Self::FCO => "Rome, Italy",
1243 Self::FIH => "Kinshasa, DR Congo",
1244 Self::FLN => "Florianopolis, Brazil",
1245 Self::FOC => "Fuzhou, China",
1246 Self::FOR => "Fortaleza, Brazil",
1247 Self::FRA => "Frankfurt, Germany",
1248 Self::FRU => "Bishkek, Kyrgyzstan",
1249 Self::FSD => "Sioux Falls, SD, United States",
1250 Self::FUK => "Fukuoka, Japan",
1251 Self::FUO => "Foshan, China",
1252 Self::GBE => "Gaborone, Botswana",
1253 Self::GDL => "Guadalajara, Mexico",
1254 Self::GEO => "Georgetown, Guyana",
1255 Self::GIG => "Rio de Janeiro, Brazil",
1256 Self::GND => "St. George's, Grenada",
1257 Self::GOT => "Gothenburg, Sweden",
1258 Self::GRU => "São Paulo, Brazil",
1259 Self::GUA => "Guatemala City, Guatemala",
1260 Self::GUM => "Hagatna, Guam",
1261 Self::GVA => "Geneva, Switzerland",
1262 Self::GYD => "Baku, Azerbaijan",
1263 Self::GYE => "Guayaquil, Ecuador",
1264 Self::GYN => "Goiania, Brazil",
1265 Self::HAK => "Chengmai, China",
1266 Self::HAM => "Hamburg, Germany",
1267 Self::HAN => "Hanoi, Vietnam",
1268 Self::HBA => "Hobart, Australia",
1269 Self::HEL => "Helsinki, Finland",
1270 Self::HFA => "Haifa, Israel",
1271 Self::HGH => "Shaoxing, China",
1272 Self::HKG => "Hong Kong",
1273 Self::HNL => "Honolulu, HI, United States",
1274 Self::HRE => "Harare, Zimbabwe",
1275 Self::HYD => "Hyderabad, India",
1276 Self::HYN => "Taizhou, China",
1277 Self::IAD => "Ashburn, VA, United States",
1278 Self::IAH => "Houston, TX, United States",
1279 Self::ICN => "Seoul, South Korea",
1280 Self::IND => "Indianapolis, IN, United States",
1281 Self::ISB => "Islamabad, Pakistan",
1282 Self::IST => "Istanbul, Turkey",
1283 Self::ISU => "Sulaymaniyah, Iraq",
1284 Self::IXC => "Chandigarh, India",
1285 Self::JAX => "Jacksonville, FL, United States",
1286 Self::JDO => "Juazeiro do Norte, Brazil",
1287 Self::JED => "Jeddah, Saudi Arabia",
1288 Self::JHB => "Johor Bahru, Malaysia - (JHB)",
1289 Self::JIB => "Djibouti, Djibouti",
1290 Self::JNB => "Johannesburg, South Africa",
1291 Self::JOG => "Yogyakarta, Indonesia",
1292 Self::JOI => "Joinville, Brazil",
1293 Self::JXG => "Jiaxing, China",
1294 Self::KBP => "Kyiv, Ukraine",
1295 Self::KCH => "Kuching, Malaysia",
1296 Self::KEF => "Reykjavík, Iceland",
1297 Self::KGL => "Kigali, Rwanda",
1298 Self::KHH => "Kaohsiung City, Taiwan",
1299 Self::KHI => "Karachi, Pakistan",
1300 Self::KHN => "Nanchang, China",
1301 Self::KIN => "Kingston, Jamaica",
1302 Self::KIV => "Chișinău, Moldova",
1303 Self::KIX => "Osaka, Japan",
1304 Self::KJA => "Krasnoyarsk, Russia",
1305 Self::KMG => "Kunming, China",
1306 Self::KNU => "Kanpur, India",
1307 Self::KTM => "Kathmandu, Nepal",
1308 Self::KUL => "Kuala Lumpur, Malaysia",
1309 Self::KWE => "Guiyang, China",
1310 Self::KWI => "Kuwait City, Kuwait",
1311 Self::LAD => "Luanda, Angola",
1312 Self::LAS => "Las Vegas, NV, United States",
1313 Self::LAX => "Los Angeles, CA, United States",
1314 Self::LCA => "Nicosia, Cyprus",
1315 Self::LED => "Saint Petersburg, Russia",
1316 Self::LHE => "Lahore, Pakistan",
1317 Self::LHR => "London, United Kingdom",
1318 Self::LIM => "Lima, Peru",
1319 Self::LIS => "Lisbon, Portugal",
1320 Self::LLK => "Astara, Azerbaijan",
1321 Self::LLW => "Lilongwe, Malawi",
1322 Self::LOS => "Lagos, Nigeria",
1323 Self::LPB => "La Paz, Bolivia",
1324 Self::LUN => "Lusaka, Zambia",
1325 Self::LUX => "Luxembourg City, Luxembourg",
1326 Self::LYS => "Lyon, France",
1327 Self::MAA => "Chennai, India",
1328 Self::MAD => "Madrid, Spain",
1329 Self::MAN => "Manchester, United Kingdom",
1330 Self::MAO => "Manaus, Brazil",
1331 Self::MBA => "Mombasa, Kenya",
1332 Self::MCI => "Kansas City, MO, United States",
1333 Self::MCT => "Muscat, Oman",
1334 Self::MDE => "Medellín, Colombia",
1335 Self::MEL => "Melbourne, VIC, Australia",
1336 Self::MEM => "Memphis, TN, United States",
1337 Self::MEX => "Mexico City, Mexico",
1338 Self::MFM => "Macau",
1339 Self::MIA => "Miami, FL, United States",
1340 Self::MLA => "Valletta, Malta",
1341 Self::MLE => "Male, Maldives",
1342 Self::MLG => "Malang, Indonesia",
1343 Self::MNL => "Manila, Philippines",
1344 Self::MPM => "Maputo, Mozambique",
1345 Self::MRS => "Marseille, France",
1346 Self::MRU => "Port Louis, Mauritius",
1347 Self::MSP => "Minneapolis, MN, United States",
1348 Self::MSQ => "Minsk, Belarus",
1349 Self::MUC => "Munich, Germany",
1350 Self::MXP => "Milan, Italy",
1351 Self::NAG => "Nagpur, India",
1352 Self::NBO => "Nairobi, Kenya",
1353 Self::NJF => "Najaf, Iraq",
1354 Self::NOU => "Noumea, New Caledonia",
1355 Self::NQN => "Neuquen, Argentina",
1356 Self::NQZ => "Astana, Kazakhstan",
1357 Self::NRT => "Tokyo, Japan",
1358 Self::NVT => "Timbo, Brazil",
1359 Self::OKA => "Naha, Japan",
1360 Self::OKC => "Oklahoma City, OK, United States",
1361 Self::OMA => "Omaha, NE, United States",
1362 Self::ORD => "Chicago, IL, United States",
1363 Self::ORF => "Norfolk, VA, United States",
1364 Self::ORN => "Oran, Algeria",
1365 Self::OSL => "Oslo, Norway",
1366 Self::OTP => "Bucharest, Romania",
1367 Self::OUA => "Ouagadougou, Burkina Faso",
1368 Self::PAT => "Patna, India",
1369 Self::PBH => "Thimphu, Bhutan",
1370 Self::PBM => "Paramaribo, Suriname",
1371 Self::PDX => "Portland, OR, United States",
1372 Self::PER => "Perth, WA, Australia",
1373 Self::PHL => "Philadelphia, United States",
1374 Self::PHX => "Phoenix, AZ, United States",
1375 Self::PIT => "Pittsburgh, PA, United States",
1376 Self::PKX => "Langfang, China",
1377 Self::PMO => "Palermo, Italy",
1378 Self::PMW => "Palmas, Brazil",
1379 Self::PNH => "Phnom Penh, Cambodia",
1380 Self::POA => "Porto Alegre, Brazil",
1381 Self::POS => "Port of Spain, Trinidad and Tobago",
1382 Self::PPT => "Tahiti, French Polynesia",
1383 Self::PRG => "Prague, Czech Republic",
1384 Self::PTY => "Panama City, Panama",
1385 Self::QRO => "Queretaro, MX, Mexico",
1386 Self::QWJ => "Americana, Brazil",
1387 Self::RAO => "Ribeirao Preto, Brazil",
1388 Self::RDU => "Durham, NC, United States",
1389 Self::REC => "Recife, Brazil",
1390 Self::RIC => "Richmond, VA, United States",
1391 Self::RIX => "Riga, Latvia",
1392 Self::RUH => "Riyadh, Saudi Arabia",
1393 Self::RUN => "Saint-Denis, Réunion",
1394 Self::SAN => "San Diego, CA, United States",
1395 Self::SAP => "San Pedro Sula, Honduras",
1396 Self::SAT => "San Antonio, TX, United States",
1397 Self::SCL => "Santiago, Chile",
1398 Self::SDQ => "Santo Domingo, Dominican Republic",
1399 Self::SEA => "Seattle, WA, United States",
1400 Self::SFO => "San Francisco, CA, United States",
1401 Self::SGN => "Ho Chi Minh City, Vietnam",
1402 Self::SHA => "Shanghai, China",
1403 Self::SIN => "Singapore, Singapore",
1404 Self::SJC => "San Jose, CA, United States",
1405 Self::SJK => "São José dos Campos, Brazil",
1406 Self::SJO => "San José, Costa Rica",
1407 Self::SJP => "São José do Rio Preto, Brazil",
1408 Self::SJU => "San Juan, Puerto Rico",
1409 Self::SJW => "Shijiazhuang, China",
1410 Self::SKG => "Thessaloniki, Greece",
1411 Self::SKP => "Skopje, North Macedonia",
1412 Self::SLC => "Salt Lake City, UT, United States",
1413 Self::SMF => "Sacramento, CA, United States",
1414 Self::SOD => "Sorocaba, Brazil",
1415 Self::SOF => "Sofia, Bulgaria",
1416 Self::SSA => "Salvador, Brazil",
1417 Self::STI => "Santiago de los Caballeros, Dominican Republic",
1418 Self::STL => "St. Louis, MO, United States",
1419 Self::STR => "Stuttgart, Germany",
1420 Self::SUV => "Suva, Fiji",
1421 Self::SYD => "Sydney, NSW, Australia",
1422 Self::SZX => "Shenzhen, China",
1423 Self::TAO => "Qingdao, China",
1424 Self::TBS => "Tbilisi, Georgia",
1425 Self::TEN => "Tongren, China",
1426 Self::TGU => "Tegucigalpa, Honduras",
1427 Self::TIA => "Tirana, Albania",
1428 Self::TLH => "Tallahassee, FL, United States",
1429 Self::TLL => "Tallinn, Estonia",
1430 Self::TLV => "Tel Aviv, Israel",
1431 Self::TNA => "Zibo, China",
1432 Self::TNR => "Antananarivo, Madagascar",
1433 Self::TPA => "Tampa, FL, United States",
1434 Self::TPE => "Taipei",
1435 Self::TUN => "Tunis, Tunisia",
1436 Self::TXL => "Berlin, Germany",
1437 Self::TYN => "Yangquan, China",
1438 Self::UDI => "Uberlandia, Brazil",
1439 Self::UIO => "Quito, Ecuador",
1440 Self::ULN => "Ulaanbaatar, Mongolia",
1441 Self::URT => "Surat Thani, Thailand",
1442 Self::VCP => "Campinas, Brazil",
1443 Self::VIE => "Vienna, Austria",
1444 Self::VIX => "Vitoria, Brazil",
1445 Self::VNO => "Vilnius, Lithuania",
1446 Self::VTE => "Vientiane, Laos",
1447 Self::WAW => "Warsaw, Poland",
1448 Self::WDH => "Windhoek, Namibia",
1449 Self::WLG => "Wellington, New Zealand",
1450 Self::WRO => "Wroclaw, Poland",
1451 Self::XAP => "Chapeco, Brazil",
1452 Self::XFN => "Xiangyang, China",
1453 Self::XIY => "Baoji, China",
1454 Self::XNH => "Nasiriyah, Iraq",
1455 Self::YHZ => "Halifax, Canada",
1456 Self::YOW => "Ottawa, Canada",
1457 Self::YUL => "Montréal, QC, Canada",
1458 Self::YVR => "Vancouver, BC, Canada",
1459 Self::YWG => "Winnipeg, MB, Canada",
1460 Self::YXE => "Saskatoon, SK, Canada",
1461 Self::YYC => "Calgary, AB, Canada",
1462 Self::YYZ => "Toronto, ON, Canada",
1463 Self::ZAG => "Zagreb, Croatia",
1464 Self::ZDM => "Ramallah",
1465 Self::ZRH => "Zurich, Switzerland",
1466 }
1467 }
1468
1469 #[inline]
1477 pub const fn location_hint(&self) -> Option<LocationHint> {
1478 match self {
1479 Self::AAE => Some(LocationHint::Me),
1480 Self::ABJ => None,
1481 Self::ABQ => Some(LocationHint::WNam),
1482 Self::ACC => Some(LocationHint::Afr),
1483 Self::ACX => None,
1484 Self::ADB => Some(LocationHint::Me),
1485 Self::ADD => Some(LocationHint::Afr),
1486 Self::ADL => Some(LocationHint::Oc),
1487 Self::AGR => Some(LocationHint::Apac),
1488 Self::AKL => Some(LocationHint::Oc),
1489 Self::AKX => Some(LocationHint::EEur),
1490 Self::ALA => Some(LocationHint::EEur),
1491 Self::ALG => Some(LocationHint::Afr),
1492 Self::AMD => Some(LocationHint::Apac),
1493 Self::AMM => Some(LocationHint::WEur),
1494 Self::AMS => Some(LocationHint::Afr),
1495 Self::ANC => Some(LocationHint::WNam),
1496 Self::ARI => None,
1497 Self::ARN => Some(LocationHint::EEur),
1498 Self::ARU => None,
1499 Self::ASK => Some(LocationHint::Afr),
1500 Self::ASU => Some(LocationHint::ENam),
1501 Self::ATH => Some(LocationHint::Me),
1502 Self::ATL => Some(LocationHint::Sam),
1503 Self::AUS => Some(LocationHint::WNam),
1504 Self::BAH => Some(LocationHint::Apac),
1505 Self::BAQ => Some(LocationHint::Sam),
1506 Self::BCN => Some(LocationHint::EEur),
1507 Self::BEG => Some(LocationHint::EEur),
1508 Self::BEL => Some(LocationHint::ENam),
1509 Self::BEY => Some(LocationHint::WEur),
1510 Self::BGI => Some(LocationHint::Sam),
1511 Self::BGR => Some(LocationHint::ENam),
1512 Self::BGW => Some(LocationHint::Me),
1513 Self::BHY => None,
1514 Self::BKK => Some(LocationHint::Apac),
1515 Self::BLR => Some(LocationHint::Apac),
1516 Self::BNA => Some(LocationHint::Sam),
1517 Self::BNE => Some(LocationHint::Oc),
1518 Self::BNU => Some(LocationHint::ENam),
1519 Self::BOD => Some(LocationHint::WEur),
1520 Self::BOG => Some(LocationHint::Sam),
1521 Self::BOM => Some(LocationHint::Apac),
1522 Self::BOS => Some(LocationHint::Sam),
1523 Self::BRU => Some(LocationHint::Afr),
1524 Self::BSB => Some(LocationHint::Sam),
1525 Self::BSR => Some(LocationHint::Me),
1526 Self::BTS => Some(LocationHint::Me),
1527 Self::BUD => Some(LocationHint::Me),
1528 Self::BUF => Some(LocationHint::ENam),
1529 Self::BWN => None,
1530 Self::CAI => Some(LocationHint::Afr),
1531 Self::CAN => None,
1532 Self::CAW => None,
1533 Self::CBR => Some(LocationHint::Oc),
1534 Self::CCP => Some(LocationHint::ENam),
1535 Self::CCU => Some(LocationHint::Apac),
1536 Self::CDG => Some(LocationHint::Afr),
1537 Self::CEB => Some(LocationHint::Apac),
1538 Self::CFC => Some(LocationHint::ENam),
1539 Self::CGB => Some(LocationHint::ENam),
1540 Self::CGD => None,
1541 Self::CGK => Some(LocationHint::Apac),
1542 Self::CGO => None,
1543 Self::CGP => Some(LocationHint::Apac),
1544 Self::CGY => Some(LocationHint::Apac),
1545 Self::CHC => Some(LocationHint::Oc),
1546 Self::CJB => Some(LocationHint::Apac),
1547 Self::CKG => None,
1548 Self::CLE => Some(LocationHint::ENam),
1549 Self::CLO => Some(LocationHint::ENam),
1550 Self::CLT => None,
1551 Self::CMB => Some(LocationHint::Oc),
1552 Self::CMH => Some(LocationHint::ENam),
1553 Self::CNF => Some(LocationHint::Sam),
1554 Self::CNI => None,
1555 Self::CNN => Some(LocationHint::Apac),
1556 Self::CNX => Some(LocationHint::Apac),
1557 Self::COK => None,
1558 Self::COR => Some(LocationHint::ENam),
1559 Self::CPH => Some(LocationHint::Afr),
1560 Self::CPT => Some(LocationHint::Afr),
1561 Self::CRK => Some(LocationHint::Apac),
1562 Self::CSX => None,
1563 Self::CTU => None,
1564 Self::CWB => Some(LocationHint::ENam),
1565 Self::CZL => Some(LocationHint::Afr),
1566 Self::CZX => None,
1567 Self::DAC => Some(LocationHint::Apac),
1568 Self::DAD => Some(LocationHint::Apac),
1569 Self::DAR => Some(LocationHint::WEur),
1570 Self::DEL => Some(LocationHint::Apac),
1571 Self::DEN => Some(LocationHint::WNam),
1572 Self::DEX => None,
1573 Self::DFW => Some(LocationHint::WNam),
1574 Self::DKR => Some(LocationHint::Afr),
1575 Self::DLC => None,
1576 Self::DLP => None,
1577 Self::DME => Some(LocationHint::Me),
1578 Self::DMM => Some(LocationHint::WEur),
1579 Self::DOH => Some(LocationHint::EEur),
1580 Self::DPS => Some(LocationHint::Apac),
1581 Self::DTW => Some(LocationHint::ENam),
1582 Self::DUB => Some(LocationHint::Afr),
1583 Self::DUR => Some(LocationHint::WEur),
1584 Self::DUS => Some(LocationHint::Afr),
1585 Self::DXB => Some(LocationHint::Apac),
1586 Self::EBB => Some(LocationHint::WEur),
1587 Self::EBL => Some(LocationHint::Me),
1588 Self::EVN => Some(LocationHint::WEur),
1589 Self::EWR => Some(LocationHint::Sam),
1590 Self::EZE => Some(LocationHint::ENam),
1591 Self::FCO => Some(LocationHint::EEur),
1592 Self::FIH => None,
1593 Self::FLN => Some(LocationHint::Sam),
1594 Self::FOC => None,
1595 Self::FOR => Some(LocationHint::Sam),
1596 Self::FRA => Some(LocationHint::Me),
1597 Self::FRU => Some(LocationHint::EEur),
1598 Self::FSD => Some(LocationHint::Sam),
1599 Self::FUK => Some(LocationHint::Apac),
1600 Self::FUO => None,
1601 Self::GBE => Some(LocationHint::WEur),
1602 Self::GDL => Some(LocationHint::ENam),
1603 Self::GEO => Some(LocationHint::Sam),
1604 Self::GIG => Some(LocationHint::Sam),
1605 Self::GND => Some(LocationHint::Sam),
1606 Self::GOT => Some(LocationHint::WEur),
1607 Self::GRU => Some(LocationHint::Sam),
1608 Self::GUA => Some(LocationHint::ENam),
1609 Self::GUM => Some(LocationHint::WNam),
1610 Self::GVA => Some(LocationHint::EEur),
1611 Self::GYD => Some(LocationHint::Afr),
1612 Self::GYE => Some(LocationHint::Sam),
1613 Self::GYN => Some(LocationHint::Sam),
1614 Self::HAK => None,
1615 Self::HAM => Some(LocationHint::Me),
1616 Self::HAN => Some(LocationHint::Apac),
1617 Self::HBA => Some(LocationHint::Oc),
1618 Self::HEL => Some(LocationHint::EEur),
1619 Self::HFA => Some(LocationHint::Afr),
1620 Self::HGH => None,
1621 Self::HKG => Some(LocationHint::Apac),
1622 Self::HNL => Some(LocationHint::WNam),
1623 Self::HRE => Some(LocationHint::Afr),
1624 Self::HYD => Some(LocationHint::Apac),
1625 Self::HYN => None,
1626 Self::IAD => Some(LocationHint::ENam),
1627 Self::IAH => Some(LocationHint::ENam),
1628 Self::ICN => Some(LocationHint::Apac),
1629 Self::IND => Some(LocationHint::Sam),
1630 Self::ISB => Some(LocationHint::Apac),
1631 Self::IST => Some(LocationHint::Me),
1632 Self::ISU => Some(LocationHint::Me),
1633 Self::IXC => Some(LocationHint::Apac),
1634 Self::JAX => Some(LocationHint::Sam),
1635 Self::JDO => Some(LocationHint::ENam),
1636 Self::JED => Some(LocationHint::Afr),
1637 Self::JHB => None,
1638 Self::JIB => Some(LocationHint::Afr),
1639 Self::JNB => Some(LocationHint::WEur),
1640 Self::JOG => Some(LocationHint::Apac),
1641 Self::JOI => Some(LocationHint::Sam),
1642 Self::JXG => None,
1643 Self::KBP => Some(LocationHint::Me),
1644 Self::KCH => Some(LocationHint::Apac),
1645 Self::KEF => Some(LocationHint::Afr),
1646 Self::KGL => None,
1647 Self::KHH => Some(LocationHint::Apac),
1648 Self::KHI => Some(LocationHint::Apac),
1649 Self::KHN => None,
1650 Self::KIN => Some(LocationHint::Sam),
1651 Self::KIV => Some(LocationHint::EEur),
1652 Self::KIX => Some(LocationHint::Apac),
1653 Self::KJA => Some(LocationHint::Me),
1654 Self::KMG => None,
1655 Self::KNU => Some(LocationHint::Apac),
1656 Self::KTM => Some(LocationHint::Apac),
1657 Self::KUL => Some(LocationHint::Apac),
1658 Self::KWE => None,
1659 Self::KWI => Some(LocationHint::Afr),
1660 Self::LAD => Some(LocationHint::Afr),
1661 Self::LAS => Some(LocationHint::WNam),
1662 Self::LAX => Some(LocationHint::WNam),
1663 Self::LCA => Some(LocationHint::WEur),
1664 Self::LED => Some(LocationHint::Me),
1665 Self::LHE => Some(LocationHint::Apac),
1666 Self::LHR => Some(LocationHint::Afr),
1667 Self::LIM => Some(LocationHint::Sam),
1668 Self::LIS => Some(LocationHint::Afr),
1669 Self::LLK => Some(LocationHint::Afr),
1670 Self::LLW => None,
1671 Self::LOS => Some(LocationHint::Afr),
1672 Self::LPB => None,
1673 Self::LUN => Some(LocationHint::WEur),
1674 Self::LUX => Some(LocationHint::Afr),
1675 Self::LYS => Some(LocationHint::WEur),
1676 Self::MAA => Some(LocationHint::Apac),
1677 Self::MAD => Some(LocationHint::WEur),
1678 Self::MAN => Some(LocationHint::Afr),
1679 Self::MAO => Some(LocationHint::Sam),
1680 Self::MBA => Some(LocationHint::Me),
1681 Self::MCI => Some(LocationHint::Sam),
1682 Self::MCT => Some(LocationHint::Apac),
1683 Self::MDE => Some(LocationHint::ENam),
1684 Self::MEL => Some(LocationHint::Oc),
1685 Self::MEM => Some(LocationHint::ENam),
1686 Self::MEX => Some(LocationHint::WNam),
1687 Self::MFM => Some(LocationHint::Apac),
1688 Self::MIA => Some(LocationHint::Sam),
1689 Self::MLA => Some(LocationHint::WEur),
1690 Self::MLE => Some(LocationHint::WEur),
1691 Self::MLG => Some(LocationHint::Apac),
1692 Self::MNL => Some(LocationHint::Apac),
1693 Self::MPM => Some(LocationHint::WEur),
1694 Self::MRS => Some(LocationHint::Afr),
1695 Self::MRU => Some(LocationHint::Apac),
1696 Self::MSP => Some(LocationHint::ENam),
1697 Self::MSQ => Some(LocationHint::WEur),
1698 Self::MUC => Some(LocationHint::EEur),
1699 Self::MXP => Some(LocationHint::EEur),
1700 Self::NAG => Some(LocationHint::Apac),
1701 Self::NBO => Some(LocationHint::Me),
1702 Self::NJF => Some(LocationHint::EEur),
1703 Self::NOU => Some(LocationHint::Oc),
1704 Self::NQN => Some(LocationHint::ENam),
1705 Self::NQZ => None,
1706 Self::NRT => Some(LocationHint::Apac),
1707 Self::NVT => Some(LocationHint::ENam),
1708 Self::OKA => None,
1709 Self::OKC => Some(LocationHint::Sam),
1710 Self::OMA => Some(LocationHint::WNam),
1711 Self::ORD => Some(LocationHint::ENam),
1712 Self::ORF => None,
1713 Self::ORN => Some(LocationHint::Afr),
1714 Self::OSL => Some(LocationHint::EEur),
1715 Self::OTP => Some(LocationHint::Me),
1716 Self::OUA => None,
1717 Self::PAT => Some(LocationHint::Apac),
1718 Self::PBH => Some(LocationHint::Apac),
1719 Self::PBM => Some(LocationHint::Sam),
1720 Self::PDX => Some(LocationHint::WNam),
1721 Self::PER => Some(LocationHint::Oc),
1722 Self::PHL => Some(LocationHint::ENam),
1723 Self::PHX => Some(LocationHint::WNam),
1724 Self::PIT => Some(LocationHint::Sam),
1725 Self::PKX => None,
1726 Self::PMO => Some(LocationHint::EEur),
1727 Self::PMW => Some(LocationHint::ENam),
1728 Self::PNH => Some(LocationHint::Apac),
1729 Self::POA => Some(LocationHint::WEur),
1730 Self::POS => Some(LocationHint::ENam),
1731 Self::PPT => Some(LocationHint::WNam),
1732 Self::PRG => Some(LocationHint::EEur),
1733 Self::PTY => Some(LocationHint::ENam),
1734 Self::QRO => Some(LocationHint::Sam),
1735 Self::QWJ => Some(LocationHint::ENam),
1736 Self::RAO => Some(LocationHint::Sam),
1737 Self::RDU => Some(LocationHint::Sam),
1738 Self::REC => Some(LocationHint::ENam),
1739 Self::RIC => Some(LocationHint::ENam),
1740 Self::RIX => Some(LocationHint::Me),
1741 Self::RUH => Some(LocationHint::EEur),
1742 Self::RUN => Some(LocationHint::WEur),
1743 Self::SAN => Some(LocationHint::WNam),
1744 Self::SAP => Some(LocationHint::ENam),
1745 Self::SAT => Some(LocationHint::WNam),
1746 Self::SCL => Some(LocationHint::Sam),
1747 Self::SDQ => Some(LocationHint::Sam),
1748 Self::SEA => Some(LocationHint::WNam),
1749 Self::SFO => None,
1750 Self::SGN => Some(LocationHint::Apac),
1751 Self::SHA => None,
1752 Self::SIN => Some(LocationHint::Apac),
1753 Self::SJC => Some(LocationHint::WNam),
1754 Self::SJK => Some(LocationHint::Sam),
1755 Self::SJO => Some(LocationHint::Sam),
1756 Self::SJP => Some(LocationHint::ENam),
1757 Self::SJU => Some(LocationHint::Sam),
1758 Self::SJW => None,
1759 Self::SKG => Some(LocationHint::Me),
1760 Self::SKP => None,
1761 Self::SLC => Some(LocationHint::WNam),
1762 Self::SMF => Some(LocationHint::WNam),
1763 Self::SOD => Some(LocationHint::Sam),
1764 Self::SOF => Some(LocationHint::Me),
1765 Self::SSA => Some(LocationHint::WEur),
1766 Self::STI => Some(LocationHint::Sam),
1767 Self::STL => Some(LocationHint::Sam),
1768 Self::STR => Some(LocationHint::WEur),
1769 Self::SUV => Some(LocationHint::Oc),
1770 Self::SYD => Some(LocationHint::Oc),
1771 Self::SZX => None,
1772 Self::TAO => None,
1773 Self::TBS => Some(LocationHint::Me),
1774 Self::TEN => None,
1775 Self::TGU => Some(LocationHint::Sam),
1776 Self::TIA => Some(LocationHint::Me),
1777 Self::TLH => Some(LocationHint::Sam),
1778 Self::TLL => Some(LocationHint::EEur),
1779 Self::TLV => Some(LocationHint::EEur),
1780 Self::TNA => None,
1781 Self::TNR => Some(LocationHint::WEur),
1782 Self::TPA => Some(LocationHint::ENam),
1783 Self::TPE => Some(LocationHint::Apac),
1784 Self::TUN => Some(LocationHint::WEur),
1785 Self::TXL => Some(LocationHint::WEur),
1786 Self::TYN => None,
1787 Self::UDI => Some(LocationHint::Sam),
1788 Self::UIO => Some(LocationHint::Sam),
1789 Self::ULN => Some(LocationHint::EEur),
1790 Self::URT => Some(LocationHint::Apac),
1791 Self::VCP => Some(LocationHint::Sam),
1792 Self::VIE => Some(LocationHint::Me),
1793 Self::VIX => None,
1794 Self::VNO => Some(LocationHint::Me),
1795 Self::VTE => Some(LocationHint::Apac),
1796 Self::WAW => Some(LocationHint::Me),
1797 Self::WDH => Some(LocationHint::WEur),
1798 Self::WLG => None,
1799 Self::WRO => Some(LocationHint::Me),
1800 Self::XAP => None,
1801 Self::XFN => None,
1802 Self::XIY => None,
1803 Self::XNH => Some(LocationHint::Me),
1804 Self::YHZ => Some(LocationHint::Sam),
1805 Self::YOW => Some(LocationHint::ENam),
1806 Self::YUL => Some(LocationHint::Sam),
1807 Self::YVR => Some(LocationHint::WNam),
1808 Self::YWG => Some(LocationHint::ENam),
1809 Self::YXE => Some(LocationHint::WNam),
1810 Self::YYC => Some(LocationHint::WNam),
1811 Self::YYZ => Some(LocationHint::ENam),
1812 Self::ZAG => Some(LocationHint::EEur),
1813 Self::ZDM => Some(LocationHint::WEur),
1814 Self::ZRH => Some(LocationHint::Me),
1815 }
1816 }
1817
1818 pub fn from_code(code: &str) -> Option<Self> {
1820 match code {
1821 "AAE" => Some(Self::AAE),
1822 "ABJ" => Some(Self::ABJ),
1823 "ABQ" => Some(Self::ABQ),
1824 "ACC" => Some(Self::ACC),
1825 "ACX" => Some(Self::ACX),
1826 "ADB" => Some(Self::ADB),
1827 "ADD" => Some(Self::ADD),
1828 "ADL" => Some(Self::ADL),
1829 "AGR" => Some(Self::AGR),
1830 "AKL" => Some(Self::AKL),
1831 "AKX" => Some(Self::AKX),
1832 "ALA" => Some(Self::ALA),
1833 "ALG" => Some(Self::ALG),
1834 "AMD" => Some(Self::AMD),
1835 "AMM" => Some(Self::AMM),
1836 "AMS" => Some(Self::AMS),
1837 "ANC" => Some(Self::ANC),
1838 "ARI" => Some(Self::ARI),
1839 "ARN" => Some(Self::ARN),
1840 "ARU" => Some(Self::ARU),
1841 "ASK" => Some(Self::ASK),
1842 "ASU" => Some(Self::ASU),
1843 "ATH" => Some(Self::ATH),
1844 "ATL" => Some(Self::ATL),
1845 "AUS" => Some(Self::AUS),
1846 "BAH" => Some(Self::BAH),
1847 "BAQ" => Some(Self::BAQ),
1848 "BCN" => Some(Self::BCN),
1849 "BEG" => Some(Self::BEG),
1850 "BEL" => Some(Self::BEL),
1851 "BEY" => Some(Self::BEY),
1852 "BGI" => Some(Self::BGI),
1853 "BGR" => Some(Self::BGR),
1854 "BGW" => Some(Self::BGW),
1855 "BHY" => Some(Self::BHY),
1856 "BKK" => Some(Self::BKK),
1857 "BLR" => Some(Self::BLR),
1858 "BNA" => Some(Self::BNA),
1859 "BNE" => Some(Self::BNE),
1860 "BNU" => Some(Self::BNU),
1861 "BOD" => Some(Self::BOD),
1862 "BOG" => Some(Self::BOG),
1863 "BOM" => Some(Self::BOM),
1864 "BOS" => Some(Self::BOS),
1865 "BRU" => Some(Self::BRU),
1866 "BSB" => Some(Self::BSB),
1867 "BSR" => Some(Self::BSR),
1868 "BTS" => Some(Self::BTS),
1869 "BUD" => Some(Self::BUD),
1870 "BUF" => Some(Self::BUF),
1871 "BWN" => Some(Self::BWN),
1872 "CAI" => Some(Self::CAI),
1873 "CAN" => Some(Self::CAN),
1874 "CAW" => Some(Self::CAW),
1875 "CBR" => Some(Self::CBR),
1876 "CCP" => Some(Self::CCP),
1877 "CCU" => Some(Self::CCU),
1878 "CDG" => Some(Self::CDG),
1879 "CEB" => Some(Self::CEB),
1880 "CFC" => Some(Self::CFC),
1881 "CGB" => Some(Self::CGB),
1882 "CGD" => Some(Self::CGD),
1883 "CGK" => Some(Self::CGK),
1884 "CGO" => Some(Self::CGO),
1885 "CGP" => Some(Self::CGP),
1886 "CGY" => Some(Self::CGY),
1887 "CHC" => Some(Self::CHC),
1888 "CJB" => Some(Self::CJB),
1889 "CKG" => Some(Self::CKG),
1890 "CLE" => Some(Self::CLE),
1891 "CLO" => Some(Self::CLO),
1892 "CLT" => Some(Self::CLT),
1893 "CMB" => Some(Self::CMB),
1894 "CMH" => Some(Self::CMH),
1895 "CNF" => Some(Self::CNF),
1896 "CNI" => Some(Self::CNI),
1897 "CNN" => Some(Self::CNN),
1898 "CNX" => Some(Self::CNX),
1899 "COK" => Some(Self::COK),
1900 "COR" => Some(Self::COR),
1901 "CPH" => Some(Self::CPH),
1902 "CPT" => Some(Self::CPT),
1903 "CRK" => Some(Self::CRK),
1904 "CSX" => Some(Self::CSX),
1905 "CTU" => Some(Self::CTU),
1906 "CWB" => Some(Self::CWB),
1907 "CZL" => Some(Self::CZL),
1908 "CZX" => Some(Self::CZX),
1909 "DAC" => Some(Self::DAC),
1910 "DAD" => Some(Self::DAD),
1911 "DAR" => Some(Self::DAR),
1912 "DEL" => Some(Self::DEL),
1913 "DEN" => Some(Self::DEN),
1914 "DEX" => Some(Self::DEX),
1915 "DFW" => Some(Self::DFW),
1916 "DKR" => Some(Self::DKR),
1917 "DLC" => Some(Self::DLC),
1918 "DLP" => Some(Self::DLP),
1919 "DME" => Some(Self::DME),
1920 "DMM" => Some(Self::DMM),
1921 "DOH" => Some(Self::DOH),
1922 "DPS" => Some(Self::DPS),
1923 "DTW" => Some(Self::DTW),
1924 "DUB" => Some(Self::DUB),
1925 "DUR" => Some(Self::DUR),
1926 "DUS" => Some(Self::DUS),
1927 "DXB" => Some(Self::DXB),
1928 "EBB" => Some(Self::EBB),
1929 "EBL" => Some(Self::EBL),
1930 "EVN" => Some(Self::EVN),
1931 "EWR" => Some(Self::EWR),
1932 "EZE" => Some(Self::EZE),
1933 "FCO" => Some(Self::FCO),
1934 "FIH" => Some(Self::FIH),
1935 "FLN" => Some(Self::FLN),
1936 "FOC" => Some(Self::FOC),
1937 "FOR" => Some(Self::FOR),
1938 "FRA" => Some(Self::FRA),
1939 "FRU" => Some(Self::FRU),
1940 "FSD" => Some(Self::FSD),
1941 "FUK" => Some(Self::FUK),
1942 "FUO" => Some(Self::FUO),
1943 "GBE" => Some(Self::GBE),
1944 "GDL" => Some(Self::GDL),
1945 "GEO" => Some(Self::GEO),
1946 "GIG" => Some(Self::GIG),
1947 "GND" => Some(Self::GND),
1948 "GOT" => Some(Self::GOT),
1949 "GRU" => Some(Self::GRU),
1950 "GUA" => Some(Self::GUA),
1951 "GUM" => Some(Self::GUM),
1952 "GVA" => Some(Self::GVA),
1953 "GYD" => Some(Self::GYD),
1954 "GYE" => Some(Self::GYE),
1955 "GYN" => Some(Self::GYN),
1956 "HAK" => Some(Self::HAK),
1957 "HAM" => Some(Self::HAM),
1958 "HAN" => Some(Self::HAN),
1959 "HBA" => Some(Self::HBA),
1960 "HEL" => Some(Self::HEL),
1961 "HFA" => Some(Self::HFA),
1962 "HGH" => Some(Self::HGH),
1963 "HKG" => Some(Self::HKG),
1964 "HNL" => Some(Self::HNL),
1965 "HRE" => Some(Self::HRE),
1966 "HYD" => Some(Self::HYD),
1967 "HYN" => Some(Self::HYN),
1968 "IAD" => Some(Self::IAD),
1969 "IAH" => Some(Self::IAH),
1970 "ICN" => Some(Self::ICN),
1971 "IND" => Some(Self::IND),
1972 "ISB" => Some(Self::ISB),
1973 "IST" => Some(Self::IST),
1974 "ISU" => Some(Self::ISU),
1975 "IXC" => Some(Self::IXC),
1976 "JAX" => Some(Self::JAX),
1977 "JDO" => Some(Self::JDO),
1978 "JED" => Some(Self::JED),
1979 "JHB" => Some(Self::JHB),
1980 "JIB" => Some(Self::JIB),
1981 "JNB" => Some(Self::JNB),
1982 "JOG" => Some(Self::JOG),
1983 "JOI" => Some(Self::JOI),
1984 "JXG" => Some(Self::JXG),
1985 "KBP" => Some(Self::KBP),
1986 "KCH" => Some(Self::KCH),
1987 "KEF" => Some(Self::KEF),
1988 "KGL" => Some(Self::KGL),
1989 "KHH" => Some(Self::KHH),
1990 "KHI" => Some(Self::KHI),
1991 "KHN" => Some(Self::KHN),
1992 "KIN" => Some(Self::KIN),
1993 "KIV" => Some(Self::KIV),
1994 "KIX" => Some(Self::KIX),
1995 "KJA" => Some(Self::KJA),
1996 "KMG" => Some(Self::KMG),
1997 "KNU" => Some(Self::KNU),
1998 "KTM" => Some(Self::KTM),
1999 "KUL" => Some(Self::KUL),
2000 "KWE" => Some(Self::KWE),
2001 "KWI" => Some(Self::KWI),
2002 "LAD" => Some(Self::LAD),
2003 "LAS" => Some(Self::LAS),
2004 "LAX" => Some(Self::LAX),
2005 "LCA" => Some(Self::LCA),
2006 "LED" => Some(Self::LED),
2007 "LHE" => Some(Self::LHE),
2008 "LHR" => Some(Self::LHR),
2009 "LIM" => Some(Self::LIM),
2010 "LIS" => Some(Self::LIS),
2011 "LLK" => Some(Self::LLK),
2012 "LLW" => Some(Self::LLW),
2013 "LOS" => Some(Self::LOS),
2014 "LPB" => Some(Self::LPB),
2015 "LUN" => Some(Self::LUN),
2016 "LUX" => Some(Self::LUX),
2017 "LYS" => Some(Self::LYS),
2018 "MAA" => Some(Self::MAA),
2019 "MAD" => Some(Self::MAD),
2020 "MAN" => Some(Self::MAN),
2021 "MAO" => Some(Self::MAO),
2022 "MBA" => Some(Self::MBA),
2023 "MCI" => Some(Self::MCI),
2024 "MCT" => Some(Self::MCT),
2025 "MDE" => Some(Self::MDE),
2026 "MEL" => Some(Self::MEL),
2027 "MEM" => Some(Self::MEM),
2028 "MEX" => Some(Self::MEX),
2029 "MFM" => Some(Self::MFM),
2030 "MIA" => Some(Self::MIA),
2031 "MLA" => Some(Self::MLA),
2032 "MLE" => Some(Self::MLE),
2033 "MLG" => Some(Self::MLG),
2034 "MNL" => Some(Self::MNL),
2035 "MPM" => Some(Self::MPM),
2036 "MRS" => Some(Self::MRS),
2037 "MRU" => Some(Self::MRU),
2038 "MSP" => Some(Self::MSP),
2039 "MSQ" => Some(Self::MSQ),
2040 "MUC" => Some(Self::MUC),
2041 "MXP" => Some(Self::MXP),
2042 "NAG" => Some(Self::NAG),
2043 "NBO" => Some(Self::NBO),
2044 "NJF" => Some(Self::NJF),
2045 "NOU" => Some(Self::NOU),
2046 "NQN" => Some(Self::NQN),
2047 "NQZ" => Some(Self::NQZ),
2048 "NRT" => Some(Self::NRT),
2049 "NVT" => Some(Self::NVT),
2050 "OKA" => Some(Self::OKA),
2051 "OKC" => Some(Self::OKC),
2052 "OMA" => Some(Self::OMA),
2053 "ORD" => Some(Self::ORD),
2054 "ORF" => Some(Self::ORF),
2055 "ORN" => Some(Self::ORN),
2056 "OSL" => Some(Self::OSL),
2057 "OTP" => Some(Self::OTP),
2058 "OUA" => Some(Self::OUA),
2059 "PAT" => Some(Self::PAT),
2060 "PBH" => Some(Self::PBH),
2061 "PBM" => Some(Self::PBM),
2062 "PDX" => Some(Self::PDX),
2063 "PER" => Some(Self::PER),
2064 "PHL" => Some(Self::PHL),
2065 "PHX" => Some(Self::PHX),
2066 "PIT" => Some(Self::PIT),
2067 "PKX" => Some(Self::PKX),
2068 "PMO" => Some(Self::PMO),
2069 "PMW" => Some(Self::PMW),
2070 "PNH" => Some(Self::PNH),
2071 "POA" => Some(Self::POA),
2072 "POS" => Some(Self::POS),
2073 "PPT" => Some(Self::PPT),
2074 "PRG" => Some(Self::PRG),
2075 "PTY" => Some(Self::PTY),
2076 "QRO" => Some(Self::QRO),
2077 "QWJ" => Some(Self::QWJ),
2078 "RAO" => Some(Self::RAO),
2079 "RDU" => Some(Self::RDU),
2080 "REC" => Some(Self::REC),
2081 "RIC" => Some(Self::RIC),
2082 "RIX" => Some(Self::RIX),
2083 "RUH" => Some(Self::RUH),
2084 "RUN" => Some(Self::RUN),
2085 "SAN" => Some(Self::SAN),
2086 "SAP" => Some(Self::SAP),
2087 "SAT" => Some(Self::SAT),
2088 "SCL" => Some(Self::SCL),
2089 "SDQ" => Some(Self::SDQ),
2090 "SEA" => Some(Self::SEA),
2091 "SFO" => Some(Self::SFO),
2092 "SGN" => Some(Self::SGN),
2093 "SHA" => Some(Self::SHA),
2094 "SIN" => Some(Self::SIN),
2095 "SJC" => Some(Self::SJC),
2096 "SJK" => Some(Self::SJK),
2097 "SJO" => Some(Self::SJO),
2098 "SJP" => Some(Self::SJP),
2099 "SJU" => Some(Self::SJU),
2100 "SJW" => Some(Self::SJW),
2101 "SKG" => Some(Self::SKG),
2102 "SKP" => Some(Self::SKP),
2103 "SLC" => Some(Self::SLC),
2104 "SMF" => Some(Self::SMF),
2105 "SOD" => Some(Self::SOD),
2106 "SOF" => Some(Self::SOF),
2107 "SSA" => Some(Self::SSA),
2108 "STI" => Some(Self::STI),
2109 "STL" => Some(Self::STL),
2110 "STR" => Some(Self::STR),
2111 "SUV" => Some(Self::SUV),
2112 "SYD" => Some(Self::SYD),
2113 "SZX" => Some(Self::SZX),
2114 "TAO" => Some(Self::TAO),
2115 "TBS" => Some(Self::TBS),
2116 "TEN" => Some(Self::TEN),
2117 "TGU" => Some(Self::TGU),
2118 "TIA" => Some(Self::TIA),
2119 "TLH" => Some(Self::TLH),
2120 "TLL" => Some(Self::TLL),
2121 "TLV" => Some(Self::TLV),
2122 "TNA" => Some(Self::TNA),
2123 "TNR" => Some(Self::TNR),
2124 "TPA" => Some(Self::TPA),
2125 "TPE" => Some(Self::TPE),
2126 "TUN" => Some(Self::TUN),
2127 "TXL" => Some(Self::TXL),
2128 "TYN" => Some(Self::TYN),
2129 "UDI" => Some(Self::UDI),
2130 "UIO" => Some(Self::UIO),
2131 "ULN" => Some(Self::ULN),
2132 "URT" => Some(Self::URT),
2133 "VCP" => Some(Self::VCP),
2134 "VIE" => Some(Self::VIE),
2135 "VIX" => Some(Self::VIX),
2136 "VNO" => Some(Self::VNO),
2137 "VTE" => Some(Self::VTE),
2138 "WAW" => Some(Self::WAW),
2139 "WDH" => Some(Self::WDH),
2140 "WLG" => Some(Self::WLG),
2141 "WRO" => Some(Self::WRO),
2142 "XAP" => Some(Self::XAP),
2143 "XFN" => Some(Self::XFN),
2144 "XIY" => Some(Self::XIY),
2145 "XNH" => Some(Self::XNH),
2146 "YHZ" => Some(Self::YHZ),
2147 "YOW" => Some(Self::YOW),
2148 "YUL" => Some(Self::YUL),
2149 "YVR" => Some(Self::YVR),
2150 "YWG" => Some(Self::YWG),
2151 "YXE" => Some(Self::YXE),
2152 "YYC" => Some(Self::YYC),
2153 "YYZ" => Some(Self::YYZ),
2154 "ZAG" => Some(Self::ZAG),
2155 "ZDM" => Some(Self::ZDM),
2156 "ZRH" => Some(Self::ZRH),
2157 _ => None,
2158 }
2159 }
2160
2161 pub const ALL: &'static [Colo] = &[
2163 Self::AAE,
2164 Self::ABJ,
2165 Self::ABQ,
2166 Self::ACC,
2167 Self::ACX,
2168 Self::ADB,
2169 Self::ADD,
2170 Self::ADL,
2171 Self::AGR,
2172 Self::AKL,
2173 Self::AKX,
2174 Self::ALA,
2175 Self::ALG,
2176 Self::AMD,
2177 Self::AMM,
2178 Self::AMS,
2179 Self::ANC,
2180 Self::ARI,
2181 Self::ARN,
2182 Self::ARU,
2183 Self::ASK,
2184 Self::ASU,
2185 Self::ATH,
2186 Self::ATL,
2187 Self::AUS,
2188 Self::BAH,
2189 Self::BAQ,
2190 Self::BCN,
2191 Self::BEG,
2192 Self::BEL,
2193 Self::BEY,
2194 Self::BGI,
2195 Self::BGR,
2196 Self::BGW,
2197 Self::BHY,
2198 Self::BKK,
2199 Self::BLR,
2200 Self::BNA,
2201 Self::BNE,
2202 Self::BNU,
2203 Self::BOD,
2204 Self::BOG,
2205 Self::BOM,
2206 Self::BOS,
2207 Self::BRU,
2208 Self::BSB,
2209 Self::BSR,
2210 Self::BTS,
2211 Self::BUD,
2212 Self::BUF,
2213 Self::BWN,
2214 Self::CAI,
2215 Self::CAN,
2216 Self::CAW,
2217 Self::CBR,
2218 Self::CCP,
2219 Self::CCU,
2220 Self::CDG,
2221 Self::CEB,
2222 Self::CFC,
2223 Self::CGB,
2224 Self::CGD,
2225 Self::CGK,
2226 Self::CGO,
2227 Self::CGP,
2228 Self::CGY,
2229 Self::CHC,
2230 Self::CJB,
2231 Self::CKG,
2232 Self::CLE,
2233 Self::CLO,
2234 Self::CLT,
2235 Self::CMB,
2236 Self::CMH,
2237 Self::CNF,
2238 Self::CNI,
2239 Self::CNN,
2240 Self::CNX,
2241 Self::COK,
2242 Self::COR,
2243 Self::CPH,
2244 Self::CPT,
2245 Self::CRK,
2246 Self::CSX,
2247 Self::CTU,
2248 Self::CWB,
2249 Self::CZL,
2250 Self::CZX,
2251 Self::DAC,
2252 Self::DAD,
2253 Self::DAR,
2254 Self::DEL,
2255 Self::DEN,
2256 Self::DEX,
2257 Self::DFW,
2258 Self::DKR,
2259 Self::DLC,
2260 Self::DLP,
2261 Self::DME,
2262 Self::DMM,
2263 Self::DOH,
2264 Self::DPS,
2265 Self::DTW,
2266 Self::DUB,
2267 Self::DUR,
2268 Self::DUS,
2269 Self::DXB,
2270 Self::EBB,
2271 Self::EBL,
2272 Self::EVN,
2273 Self::EWR,
2274 Self::EZE,
2275 Self::FCO,
2276 Self::FIH,
2277 Self::FLN,
2278 Self::FOC,
2279 Self::FOR,
2280 Self::FRA,
2281 Self::FRU,
2282 Self::FSD,
2283 Self::FUK,
2284 Self::FUO,
2285 Self::GBE,
2286 Self::GDL,
2287 Self::GEO,
2288 Self::GIG,
2289 Self::GND,
2290 Self::GOT,
2291 Self::GRU,
2292 Self::GUA,
2293 Self::GUM,
2294 Self::GVA,
2295 Self::GYD,
2296 Self::GYE,
2297 Self::GYN,
2298 Self::HAK,
2299 Self::HAM,
2300 Self::HAN,
2301 Self::HBA,
2302 Self::HEL,
2303 Self::HFA,
2304 Self::HGH,
2305 Self::HKG,
2306 Self::HNL,
2307 Self::HRE,
2308 Self::HYD,
2309 Self::HYN,
2310 Self::IAD,
2311 Self::IAH,
2312 Self::ICN,
2313 Self::IND,
2314 Self::ISB,
2315 Self::IST,
2316 Self::ISU,
2317 Self::IXC,
2318 Self::JAX,
2319 Self::JDO,
2320 Self::JED,
2321 Self::JHB,
2322 Self::JIB,
2323 Self::JNB,
2324 Self::JOG,
2325 Self::JOI,
2326 Self::JXG,
2327 Self::KBP,
2328 Self::KCH,
2329 Self::KEF,
2330 Self::KGL,
2331 Self::KHH,
2332 Self::KHI,
2333 Self::KHN,
2334 Self::KIN,
2335 Self::KIV,
2336 Self::KIX,
2337 Self::KJA,
2338 Self::KMG,
2339 Self::KNU,
2340 Self::KTM,
2341 Self::KUL,
2342 Self::KWE,
2343 Self::KWI,
2344 Self::LAD,
2345 Self::LAS,
2346 Self::LAX,
2347 Self::LCA,
2348 Self::LED,
2349 Self::LHE,
2350 Self::LHR,
2351 Self::LIM,
2352 Self::LIS,
2353 Self::LLK,
2354 Self::LLW,
2355 Self::LOS,
2356 Self::LPB,
2357 Self::LUN,
2358 Self::LUX,
2359 Self::LYS,
2360 Self::MAA,
2361 Self::MAD,
2362 Self::MAN,
2363 Self::MAO,
2364 Self::MBA,
2365 Self::MCI,
2366 Self::MCT,
2367 Self::MDE,
2368 Self::MEL,
2369 Self::MEM,
2370 Self::MEX,
2371 Self::MFM,
2372 Self::MIA,
2373 Self::MLA,
2374 Self::MLE,
2375 Self::MLG,
2376 Self::MNL,
2377 Self::MPM,
2378 Self::MRS,
2379 Self::MRU,
2380 Self::MSP,
2381 Self::MSQ,
2382 Self::MUC,
2383 Self::MXP,
2384 Self::NAG,
2385 Self::NBO,
2386 Self::NJF,
2387 Self::NOU,
2388 Self::NQN,
2389 Self::NQZ,
2390 Self::NRT,
2391 Self::NVT,
2392 Self::OKA,
2393 Self::OKC,
2394 Self::OMA,
2395 Self::ORD,
2396 Self::ORF,
2397 Self::ORN,
2398 Self::OSL,
2399 Self::OTP,
2400 Self::OUA,
2401 Self::PAT,
2402 Self::PBH,
2403 Self::PBM,
2404 Self::PDX,
2405 Self::PER,
2406 Self::PHL,
2407 Self::PHX,
2408 Self::PIT,
2409 Self::PKX,
2410 Self::PMO,
2411 Self::PMW,
2412 Self::PNH,
2413 Self::POA,
2414 Self::POS,
2415 Self::PPT,
2416 Self::PRG,
2417 Self::PTY,
2418 Self::QRO,
2419 Self::QWJ,
2420 Self::RAO,
2421 Self::RDU,
2422 Self::REC,
2423 Self::RIC,
2424 Self::RIX,
2425 Self::RUH,
2426 Self::RUN,
2427 Self::SAN,
2428 Self::SAP,
2429 Self::SAT,
2430 Self::SCL,
2431 Self::SDQ,
2432 Self::SEA,
2433 Self::SFO,
2434 Self::SGN,
2435 Self::SHA,
2436 Self::SIN,
2437 Self::SJC,
2438 Self::SJK,
2439 Self::SJO,
2440 Self::SJP,
2441 Self::SJU,
2442 Self::SJW,
2443 Self::SKG,
2444 Self::SKP,
2445 Self::SLC,
2446 Self::SMF,
2447 Self::SOD,
2448 Self::SOF,
2449 Self::SSA,
2450 Self::STI,
2451 Self::STL,
2452 Self::STR,
2453 Self::SUV,
2454 Self::SYD,
2455 Self::SZX,
2456 Self::TAO,
2457 Self::TBS,
2458 Self::TEN,
2459 Self::TGU,
2460 Self::TIA,
2461 Self::TLH,
2462 Self::TLL,
2463 Self::TLV,
2464 Self::TNA,
2465 Self::TNR,
2466 Self::TPA,
2467 Self::TPE,
2468 Self::TUN,
2469 Self::TXL,
2470 Self::TYN,
2471 Self::UDI,
2472 Self::UIO,
2473 Self::ULN,
2474 Self::URT,
2475 Self::VCP,
2476 Self::VIE,
2477 Self::VIX,
2478 Self::VNO,
2479 Self::VTE,
2480 Self::WAW,
2481 Self::WDH,
2482 Self::WLG,
2483 Self::WRO,
2484 Self::XAP,
2485 Self::XFN,
2486 Self::XIY,
2487 Self::XNH,
2488 Self::YHZ,
2489 Self::YOW,
2490 Self::YUL,
2491 Self::YVR,
2492 Self::YWG,
2493 Self::YXE,
2494 Self::YYC,
2495 Self::YYZ,
2496 Self::ZAG,
2497 Self::ZDM,
2498 Self::ZRH,
2499 ];
2500}
2501
2502impl fmt::Display for Colo {
2503 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2504 f.write_str(self.code())
2505 }
2506}