blazingly-aasa 0.1.5

Apple Associated Domains (apple-app-site-association) semantics: parse, validate, match, explain, and diff
Documentation
//! ISO region and language tables backing the predefined `$(region)` and `$(lang)`
//! substitution variables.
//!
//! Generated by `scripts/generate_iso_tables.swift` from Foundation's `Locale.isoRegionCodes`
//! and `Locale.isoLanguageCodes` — the lists Apple's documentation points at.
//!
//! Source: macOS 27.0.0
//! Do not edit by hand; rerun the generator instead.

/// The Foundation release these tables were captured from.
pub(crate) const SOURCE: &str = "macOS 27.0.0 Foundation";

/// Alternatives for the predefined variable, sorted for binary search.
pub(crate) static REGIONS: &[&str] = &[
    "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX",
    "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR",
    "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM",
    "CN", "CO", "CP", "CQ", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DG", "DJ", "DK", "DM",
    "DO", "DZ", "EA", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR",
    "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT",
    "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "IC", "ID", "IE", "IL", "IM", "IN", "IO",
    "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR",
    "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC",
    "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU",
    "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU",
    "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY",
    "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK",
    "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TA", "TC", "TD", "TF", "TG",
    "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US",
    "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM",
    "ZW",
];
/// The same alternatives, lowercased and re-sorted, for case-insensitive lookup.
pub(crate) static REGIONS_LOWER: &[&str] = &[
    "ac", "ad", "ae", "af", "ag", "ai", "al", "am", "ao", "aq", "ar", "as", "at", "au", "aw", "ax",
    "az", "ba", "bb", "bd", "be", "bf", "bg", "bh", "bi", "bj", "bl", "bm", "bn", "bo", "bq", "br",
    "bs", "bt", "bv", "bw", "by", "bz", "ca", "cc", "cd", "cf", "cg", "ch", "ci", "ck", "cl", "cm",
    "cn", "co", "cp", "cq", "cr", "cu", "cv", "cw", "cx", "cy", "cz", "de", "dg", "dj", "dk", "dm",
    "do", "dz", "ea", "ec", "ee", "eg", "eh", "er", "es", "et", "fi", "fj", "fk", "fm", "fo", "fr",
    "ga", "gb", "gd", "ge", "gf", "gg", "gh", "gi", "gl", "gm", "gn", "gp", "gq", "gr", "gs", "gt",
    "gu", "gw", "gy", "hk", "hm", "hn", "hr", "ht", "hu", "ic", "id", "ie", "il", "im", "in", "io",
    "iq", "ir", "is", "it", "je", "jm", "jo", "jp", "ke", "kg", "kh", "ki", "km", "kn", "kp", "kr",
    "kw", "ky", "kz", "la", "lb", "lc", "li", "lk", "lr", "ls", "lt", "lu", "lv", "ly", "ma", "mc",
    "md", "me", "mf", "mg", "mh", "mk", "ml", "mm", "mn", "mo", "mp", "mq", "mr", "ms", "mt", "mu",
    "mv", "mw", "mx", "my", "mz", "na", "nc", "ne", "nf", "ng", "ni", "nl", "no", "np", "nr", "nu",
    "nz", "om", "pa", "pe", "pf", "pg", "ph", "pk", "pl", "pm", "pn", "pr", "ps", "pt", "pw", "py",
    "qa", "re", "ro", "rs", "ru", "rw", "sa", "sb", "sc", "sd", "se", "sg", "sh", "si", "sj", "sk",
    "sl", "sm", "sn", "so", "sr", "ss", "st", "sv", "sx", "sy", "sz", "ta", "tc", "td", "tf", "tg",
    "th", "tj", "tk", "tl", "tm", "tn", "to", "tr", "tt", "tv", "tw", "tz", "ua", "ug", "um", "us",
    "uy", "uz", "va", "vc", "ve", "vg", "vi", "vn", "vu", "wf", "ws", "xk", "ye", "yt", "za", "zm",
    "zw",
];
/// Distinct alternative lengths, in characters.
pub(crate) static REGIONS_LENGTHS: &[usize] = &[2];

/// Alternatives for the predefined variable, sorted for binary search.
pub(crate) static LANGS: &[&str] = &[
    "aa", "ab", "ace", "acf", "ach", "ada", "ady", "ae", "aeb", "af", "afh", "agq", "ain", "ak",
    "akk", "akz", "ale", "aln", "alt", "am", "an", "ang", "anp", "apw", "ar", "arc", "arn", "aro",
    "arp", "arq", "ars", "arw", "ary", "arz", "as", "asa", "ase", "ast", "av", "avk", "awa", "ay",
    "az", "ba", "bal", "ban", "bar", "bas", "bax", "bbc", "bbj", "be", "bej", "bem", "ber", "bew",
    "bez", "bfd", "bfq", "bg", "bgc", "bgn", "bho", "bi", "bik", "bin", "bjn", "bkm", "bla", "blo",
    "bm", "bn", "bo", "bpy", "bqi", "br", "bra", "brh", "brx", "bs", "bss", "bua", "bug", "bum",
    "byn", "byv", "ca", "cad", "car", "cay", "cch", "ccp", "ce", "ceb", "cgg", "ch", "chb", "chg",
    "chk", "chm", "chn", "cho", "chp", "chr", "chy", "cic", "ckb", "co", "com", "cop", "cps", "cr",
    "crh", "crj", "crk", "crl", "crm", "cs", "csb", "cst", "csw", "cu", "cv", "cwd", "cy", "da",
    "dak", "dar", "dav", "de", "del", "den", "dgr", "din", "dje", "doi", "dsb", "dtp", "dua",
    "dum", "dv", "dyo", "dyu", "dz", "dzg", "ebu", "ee", "efi", "egl", "egy", "eka", "el", "elx",
    "en", "enm", "eo", "es", "esu", "et", "eu", "ewo", "ext", "fa", "fan", "fat", "ff", "fi",
    "fil", "fit", "fj", "fla", "fo", "fon", "fr", "frc", "frm", "fro", "frp", "frr", "frs", "fur",
    "fy", "ga", "gaa", "gag", "gan", "gay", "gba", "gbz", "gcf", "gd", "gez", "gil", "gl", "glk",
    "gmh", "gn", "goh", "gom", "gon", "gor", "got", "grb", "grc", "gsw", "gu", "guc", "gur", "guz",
    "gv", "gwi", "ha", "hai", "hak", "haw", "hch", "he", "hi", "hif", "hil", "hit", "hmn", "ho",
    "hr", "hsb", "hsn", "ht", "hu", "hup", "hy", "hz", "ia", "iba", "ibb", "id", "ie", "ig", "ii",
    "ik", "ilo", "inh", "io", "is", "isc", "it", "iu", "izh", "ja", "jam", "jbo", "jgo", "jmc",
    "jpr", "jrb", "jut", "jv", "ka", "kaa", "kab", "kac", "kaj", "kam", "kaw", "kbd", "kbl", "kcg",
    "kde", "kea", "ken", "kfo", "kg", "kgp", "kha", "kho", "khq", "khw", "ki", "kio", "kiu", "kj",
    "kk", "kkj", "kl", "kln", "km", "kmb", "kn", "ko", "koi", "kok", "kos", "kpe", "kr", "krc",
    "kri", "krj", "krl", "kru", "ks", "ksb", "ksf", "ksh", "ku", "kum", "kut", "kv", "kw", "kxv",
    "ky", "la", "lad", "lag", "lah", "lam", "lb", "lez", "lfn", "lg", "li", "lij", "liv", "lkt",
    "lmo", "ln", "lo", "lol", "loz", "lrc", "lt", "ltg", "lu", "lua", "lui", "lun", "luo", "lus",
    "lut", "luy", "lv", "lzh", "lzz", "mad", "maf", "mag", "mai", "mak", "man", "mas", "mde",
    "mdf", "mdh", "mdr", "men", "mer", "mfe", "mg", "mga", "mgh", "mgo", "mh", "mi", "mic", "mid",
    "min", "mis", "mk", "ml", "mn", "mnc", "mni", "moh", "mos", "mr", "mrj", "ms", "mt", "mua",
    "mul", "mus", "mwl", "mwr", "mwv", "my", "mye", "myv", "mzn", "na", "nan", "nap", "naq", "nb",
    "nd", "nds", "ne", "new", "nez", "ng", "nia", "niu", "njo", "nl", "nmg", "nn", "nnh", "nnp",
    "no", "nog", "non", "nov", "nqo", "nr", "nso", "nus", "nv", "nwc", "ny", "nym", "nyn", "nyo",
    "nzi", "oc", "oj", "om", "or", "os", "osa", "ota", "otk", "oui", "pa", "pag", "pal", "pam",
    "pap", "pau", "pcd", "pcm", "pdc", "pdt", "peo", "pfl", "phn", "pi", "pl", "pms", "pnt", "pon",
    "pqm", "prg", "pro", "ps", "pt", "qu", "quc", "qug", "raj", "rap", "rar", "rej", "rgn", "rhg",
    "rif", "rm", "rn", "ro", "rof", "rom", "rtm", "ru", "rue", "rug", "rup", "rw", "rwk", "sa",
    "sad", "sah", "sam", "saq", "sas", "sat", "saz", "sba", "sbp", "sc", "scn", "sco", "sd", "sdc",
    "sdh", "se", "see", "seh", "sei", "sel", "ses", "sg", "sga", "sgs", "shi", "shn", "shp", "shu",
    "si", "sid", "sjd", "sje", "sju", "sk", "sl", "sli", "sly", "sm", "sma", "smj", "smn", "sms",
    "sn", "snk", "so", "sog", "sq", "sr", "srn", "srr", "srs", "ss", "ssy", "st", "stq", "su",
    "suk", "sus", "sux", "sv", "sw", "swb", "syc", "syr", "szl", "ta", "tcy", "te", "tem", "teo",
    "ter", "tet", "tg", "th", "ti", "tig", "tiv", "tk", "tkl", "tkr", "tlh", "tli", "tly", "tmh",
    "tn", "to", "tog", "tok", "tpi", "tr", "tru", "trv", "ts", "tsd", "tsi", "tt", "ttt", "tum",
    "tvl", "tw", "twq", "ty", "tyv", "tzm", "udm", "ug", "uga", "uk", "umb", "und", "ur", "uz",
    "vai", "ve", "vec", "vep", "vi", "vls", "vmf", "vmw", "vo", "vot", "vro", "vun", "wa", "wae",
    "wal", "war", "was", "wbp", "wo", "wuu", "xal", "xh", "xmf", "xnr", "xog", "yao", "yap", "yav",
    "ybb", "yi", "yo", "yrl", "yue", "za", "zap", "zbl", "zea", "zen", "zgh", "zh", "zu", "zun",
    "zxx", "zza",
];
/// The same alternatives, lowercased and re-sorted, for case-insensitive lookup.
pub(crate) static LANGS_LOWER: &[&str] = &[
    "aa", "ab", "ace", "acf", "ach", "ada", "ady", "ae", "aeb", "af", "afh", "agq", "ain", "ak",
    "akk", "akz", "ale", "aln", "alt", "am", "an", "ang", "anp", "apw", "ar", "arc", "arn", "aro",
    "arp", "arq", "ars", "arw", "ary", "arz", "as", "asa", "ase", "ast", "av", "avk", "awa", "ay",
    "az", "ba", "bal", "ban", "bar", "bas", "bax", "bbc", "bbj", "be", "bej", "bem", "ber", "bew",
    "bez", "bfd", "bfq", "bg", "bgc", "bgn", "bho", "bi", "bik", "bin", "bjn", "bkm", "bla", "blo",
    "bm", "bn", "bo", "bpy", "bqi", "br", "bra", "brh", "brx", "bs", "bss", "bua", "bug", "bum",
    "byn", "byv", "ca", "cad", "car", "cay", "cch", "ccp", "ce", "ceb", "cgg", "ch", "chb", "chg",
    "chk", "chm", "chn", "cho", "chp", "chr", "chy", "cic", "ckb", "co", "com", "cop", "cps", "cr",
    "crh", "crj", "crk", "crl", "crm", "cs", "csb", "cst", "csw", "cu", "cv", "cwd", "cy", "da",
    "dak", "dar", "dav", "de", "del", "den", "dgr", "din", "dje", "doi", "dsb", "dtp", "dua",
    "dum", "dv", "dyo", "dyu", "dz", "dzg", "ebu", "ee", "efi", "egl", "egy", "eka", "el", "elx",
    "en", "enm", "eo", "es", "esu", "et", "eu", "ewo", "ext", "fa", "fan", "fat", "ff", "fi",
    "fil", "fit", "fj", "fla", "fo", "fon", "fr", "frc", "frm", "fro", "frp", "frr", "frs", "fur",
    "fy", "ga", "gaa", "gag", "gan", "gay", "gba", "gbz", "gcf", "gd", "gez", "gil", "gl", "glk",
    "gmh", "gn", "goh", "gom", "gon", "gor", "got", "grb", "grc", "gsw", "gu", "guc", "gur", "guz",
    "gv", "gwi", "ha", "hai", "hak", "haw", "hch", "he", "hi", "hif", "hil", "hit", "hmn", "ho",
    "hr", "hsb", "hsn", "ht", "hu", "hup", "hy", "hz", "ia", "iba", "ibb", "id", "ie", "ig", "ii",
    "ik", "ilo", "inh", "io", "is", "isc", "it", "iu", "izh", "ja", "jam", "jbo", "jgo", "jmc",
    "jpr", "jrb", "jut", "jv", "ka", "kaa", "kab", "kac", "kaj", "kam", "kaw", "kbd", "kbl", "kcg",
    "kde", "kea", "ken", "kfo", "kg", "kgp", "kha", "kho", "khq", "khw", "ki", "kio", "kiu", "kj",
    "kk", "kkj", "kl", "kln", "km", "kmb", "kn", "ko", "koi", "kok", "kos", "kpe", "kr", "krc",
    "kri", "krj", "krl", "kru", "ks", "ksb", "ksf", "ksh", "ku", "kum", "kut", "kv", "kw", "kxv",
    "ky", "la", "lad", "lag", "lah", "lam", "lb", "lez", "lfn", "lg", "li", "lij", "liv", "lkt",
    "lmo", "ln", "lo", "lol", "loz", "lrc", "lt", "ltg", "lu", "lua", "lui", "lun", "luo", "lus",
    "lut", "luy", "lv", "lzh", "lzz", "mad", "maf", "mag", "mai", "mak", "man", "mas", "mde",
    "mdf", "mdh", "mdr", "men", "mer", "mfe", "mg", "mga", "mgh", "mgo", "mh", "mi", "mic", "mid",
    "min", "mis", "mk", "ml", "mn", "mnc", "mni", "moh", "mos", "mr", "mrj", "ms", "mt", "mua",
    "mul", "mus", "mwl", "mwr", "mwv", "my", "mye", "myv", "mzn", "na", "nan", "nap", "naq", "nb",
    "nd", "nds", "ne", "new", "nez", "ng", "nia", "niu", "njo", "nl", "nmg", "nn", "nnh", "nnp",
    "no", "nog", "non", "nov", "nqo", "nr", "nso", "nus", "nv", "nwc", "ny", "nym", "nyn", "nyo",
    "nzi", "oc", "oj", "om", "or", "os", "osa", "ota", "otk", "oui", "pa", "pag", "pal", "pam",
    "pap", "pau", "pcd", "pcm", "pdc", "pdt", "peo", "pfl", "phn", "pi", "pl", "pms", "pnt", "pon",
    "pqm", "prg", "pro", "ps", "pt", "qu", "quc", "qug", "raj", "rap", "rar", "rej", "rgn", "rhg",
    "rif", "rm", "rn", "ro", "rof", "rom", "rtm", "ru", "rue", "rug", "rup", "rw", "rwk", "sa",
    "sad", "sah", "sam", "saq", "sas", "sat", "saz", "sba", "sbp", "sc", "scn", "sco", "sd", "sdc",
    "sdh", "se", "see", "seh", "sei", "sel", "ses", "sg", "sga", "sgs", "shi", "shn", "shp", "shu",
    "si", "sid", "sjd", "sje", "sju", "sk", "sl", "sli", "sly", "sm", "sma", "smj", "smn", "sms",
    "sn", "snk", "so", "sog", "sq", "sr", "srn", "srr", "srs", "ss", "ssy", "st", "stq", "su",
    "suk", "sus", "sux", "sv", "sw", "swb", "syc", "syr", "szl", "ta", "tcy", "te", "tem", "teo",
    "ter", "tet", "tg", "th", "ti", "tig", "tiv", "tk", "tkl", "tkr", "tlh", "tli", "tly", "tmh",
    "tn", "to", "tog", "tok", "tpi", "tr", "tru", "trv", "ts", "tsd", "tsi", "tt", "ttt", "tum",
    "tvl", "tw", "twq", "ty", "tyv", "tzm", "udm", "ug", "uga", "uk", "umb", "und", "ur", "uz",
    "vai", "ve", "vec", "vep", "vi", "vls", "vmf", "vmw", "vo", "vot", "vro", "vun", "wa", "wae",
    "wal", "war", "was", "wbp", "wo", "wuu", "xal", "xh", "xmf", "xnr", "xog", "yao", "yap", "yav",
    "ybb", "yi", "yo", "yrl", "yue", "za", "zap", "zbl", "zea", "zen", "zgh", "zh", "zu", "zun",
    "zxx", "zza",
];
/// Distinct alternative lengths, in characters.
pub(crate) static LANGS_LENGTHS: &[usize] = &[2, 3];