UNPKG

@luminati-io/luminati-proxy

Version:

A configurable local proxy for brightdata.com

1,335 lines (1,318 loc) 66.2 kB
// LICENSE_CODE ZON ISC 'use strict'; /*jslint node:true, browser:true*/ (function(){ var define; var is_node_ff = typeof module=='object' && module.exports; if (!is_node_ff) define = self.define; else define = require('./require_node.js').define(module, '../'); define([], function(){ var E = {}; // source of alpha_3: // https://github.com/lukes/ISO-3166-Countries-with-Regional-Codes/blob/ // master/all/all.json var base_list = { AF: {name: 'Afghanistan', cn_name: '阿富汗', alpha_3: 'AFG', adj: 'Afghan'}, AL: {name: 'Albania', cn_name: '阿爾巴尼亞', alpha_3: 'ALB', adj: 'Albanian'}, DZ: {name: 'Algeria', cn_name: '阿尔及利亚', alpha_3: 'DZA', adj: 'Algerian'}, AX: {name: 'Aland Islands', cn_name: '奧蘭群島', alpha_3: 'ALA', adj_name: 'Åland Islands', adj: 'Åland Island'}, AS: {name: 'American Samoa', cn_name: '美屬薩摩亞', alpha_3: 'ASM', adj: 'American Samoan'}, AD: {name: 'Andorra', cn_name: '安道爾', alpha_3: 'AND', adj: 'Andorran'}, AO: {name: 'Angola', cn_name: '安哥拉', alpha_3: 'AGO', adj: 'Angolan'}, AI: {name: 'Anguilla', cn_name: '安圭拉島', alpha_3: 'AIA', adj: 'Anguillan'}, AQ: {name: 'Antarctica', cn_name: '南極洲', alpha_3: 'ATA'}, AG: {name: 'Antigua And Barbuda', cn_name: '安提瓜和巴布達', alpha_3: 'ATG', adj_name: 'Antigua and Barbuda', adj: 'Antiguan'}, AR: {name: 'Argentina', cn_name: '阿根廷', alpha_3: 'ARG', adj: 'Argentinian'}, AM: {name: 'Armenia', cn_name: '亚美尼亚', alpha_3: 'ARM', adj: 'Armenian'}, AW: {name: 'Aruba', cn_name: '阿魯巴島', alpha_3: 'ABW', adj: 'Aruban'}, AU: {name: 'Australia', cn_name: '澳大利亚', alpha_3: 'AUS', adj: 'Australian'}, AT: {name: 'Austria', cn_name: '奥地利', alpha_3: 'AUT', adj: 'Austrian'}, AZ: {name: 'Azerbaijan', cn_name: '阿塞拜疆', alpha_3: 'AZE', adj: 'Azerbaijani'}, BS: {name: 'Bahamas', cn_name: '巴哈马', alpha_3: 'BHS', adj: 'Bahamian'}, BH: {name: 'Bahrain', cn_name: '巴林', alpha_3: 'BHR', adj: 'Bahraini'}, JE: {name: 'Bailiwick of Jersey', cn_name: '泽西岛', alpha_3: 'JEY', adj_name: 'Jersey', adj: 'Channel Island'}, BD: {name: 'Bangladesh', cn_name: '孟加拉國', alpha_3: 'BGD', adj: 'Bengali'}, BB: {name: 'Barbados', cn_name: '巴巴多斯', alpha_3: 'BRB', adj: 'Barbadian'}, BY: {name: 'Belarus', cn_name: '白俄羅斯', alpha_3: 'BLR', adj: 'Belarusian'}, BE: {name: 'Belgium', cn_name: '比利時', alpha_3: 'BEL', adj: 'Belgian'}, BZ: {name: 'Belize', cn_name: '伯利茲', alpha_3: 'BLZ', adj: 'Belizean'}, BJ: {name: 'Benin', cn_name: '贝宁', alpha_3: 'BEN', adj: 'Beninese'}, BM: {name: 'Bermuda', cn_name: '百慕大', alpha_3: 'BMU', adj: 'Bermudan'}, BT: {name: 'Bhutan', cn_name: '不丹', alpha_3: 'BTN', adj: 'Bhutanese'}, BO: {name: 'Bolivia', cn_name: '玻利維亞', alpha_3: 'BOL', adj: 'Bolivian'}, BQ: {name: 'Bonaire (Caribbean Netherlands)', cn_name: '博奈爾島(加勒比荷蘭)', alpha_3: 'BES'}, BA: {name: 'Bosnia And Herzegovina', cn_name: '波斯尼亚和黑塞哥维那', alpha_3: 'BIH', adj_name: 'Bosnia and Herzegovina', adj: 'Bosnian'}, BW: {name: 'Botswana', cn_name: '博茨瓦納', alpha_3: 'BWA', adj: 'Botswanan'}, BR: {name: 'Brazil', cn_name: '巴西', alpha_3: 'BRA', adj: 'Brazilian'}, BN: {name: 'Brunei', cn_name: '文萊', alpha_3: 'BRN', adj: 'Bruneian'}, BG: {name: 'Bulgaria', cn_name: '保加利亚', alpha_3: 'BGR', adj: 'Bulgarian'}, BF: {name: 'Burkina Faso', cn_name: '布基纳法索', alpha_3: 'BFA', adj: 'Burkinabé'}, BI: {name: 'Burundi', cn_name: '布隆迪', alpha_3: 'BDI', adj: 'Burundian'}, KH: {name: 'Cambodia', cn_name: '柬埔寨', alpha_3: 'KHM', adj: 'Cambodian'}, CM: {name: 'Cameroon', cn_name: '喀麦隆', alpha_3: 'CMR', adj: 'Cameroonian'}, CA: {name: 'Canada', cn_name: '加拿大', alpha_3: 'CAN', adj: 'Canadian'}, CV: {name: 'Cape Verde', cn_name: '佛得角', alpha_3: 'CPV', adj_name: 'Cabo Verde', adj: 'Cabo Verdean'}, KY: {name: 'Cayman Islands', cn_name: '开曼群岛', alpha_3: 'CYM', adj: 'Caymanian'}, CF: {name: 'Central African Republic', cn_name: '中非共和國', alpha_3: 'CAF'}, TD: {name: 'Chad', cn_name: '乍得', alpha_3: 'TCD', adj: 'Chadian'}, CL: {name: 'Chile', cn_name: '智利', alpha_3: 'CHL', adj: 'Chilean'}, CN: {name: 'China', cn_name: '中国', alpha_3: 'CHN', adj: 'Chinese'}, CX: {name: 'Christmas Island', cn_name: '聖誕島', alpha_3: 'CXR', adj: 'Christmas Island'}, CC: {name: 'Cocos (Keeling) Islands', cn_name: '科科斯(基林)群島', alpha_3: 'CCK'}, CO: {name: 'Colombia', cn_name: '哥倫比亞', alpha_3: 'COL', adj: 'Colombian'}, KM: {name: 'Comoros', cn_name: '科摩罗', alpha_3: 'COM', adj: 'Comoran'}, CG: {name: 'Congo', cn_name: '刚果(布)', alpha_3: 'COG', adj: 'Congolese'}, CK: {name: 'Cook Islands', cn_name: '庫克群島', alpha_3: 'COK', adj: 'Cook Island'}, CR: {name: 'Costa Rica', cn_name: '哥斯达黎加', alpha_3: 'CRI', adj: 'Costa Rican'}, CI: {name: 'Cote D\'Ivoire (Ivory Coast)', cn_name: '科特迪瓦', alpha_3: 'CIV', adj_name: 'Côte d\'Ivoire', adj: 'Ivorian'}, HR: {name: 'Croatia (Hrvatska)', cn_name: '克羅地亞(Hrvatska)', alpha_3: 'HRV', adj_name: 'Croatia', adj: 'Croatian'}, CU: {name: 'Cuba', cn_name: '古巴', alpha_3: 'CUB', adj: 'Cuban'}, CW: {name: 'Curacao', cn_name: '库拉索', alpha_3: 'CUW', adj_name: 'Curaçao', adj: 'Curaçaoan'}, CY: {name: 'Cyprus', cn_name: '塞浦路斯', alpha_3: 'CYP', adj: 'Cypriot'}, CZ: {name: 'Czech Republic', cn_name: '捷克', alpha_3: 'CZE', adj: 'Czech'}, CD: {name: 'Democratic Republic Of Congo (Zaire)', cn_name: '剛果民主共和國(扎伊爾)', alpha_3: 'COD'}, DK: {name: 'Denmark', cn_name: '丹麦', alpha_3: 'DNK', adj: 'Danish'}, DJ: {name: 'Djibouti', cn_name: '吉布提', alpha_3: 'DJI', adj: 'Djiboutian'}, DM: {name: 'Dominica', cn_name: '多米尼加', alpha_3: 'DMA', adj: 'Dominican'}, DO: {name: 'Dominican Republic', cn_name: '多明尼加共和國', alpha_3: 'DOM', adj: 'Dominican'}, EC: {name: 'Ecuador', cn_name: '厄瓜多尔', alpha_3: 'ECU', adj: 'Ecuadorian'}, EG: {name: 'Egypt', cn_name: '埃及', alpha_3: 'EGY', adj: 'Egyptian'}, SV: {name: 'El Salvador', cn_name: '萨尔瓦多', alpha_3: 'SLV', adj: 'Salvadoran'}, GQ: {name: 'Equatorial Guinea', cn_name: '赤道幾內亞', alpha_3: 'GNQ', adj: 'Equatorial Guinean'}, ER: {name: 'Eritrea', cn_name: '厄立特里亞', alpha_3: 'ERI'}, EU: {name: 'European Union', cn_name: '歐洲聯盟'}, EE: {name: 'Estonia', cn_name: '愛沙尼亞', alpha_3: 'EST', adj: 'Estonian'}, ET: {name: 'Ethiopia', cn_name: '埃塞俄比亞', alpha_3: 'ETH', adj: 'Ethiopian'}, FK: {name: 'Falkland Islands (Malvinas)', cn_name: '福克蘭群島(馬爾維納斯)', alpha_3: 'FLK'}, FO: {name: 'Faroe Islands', cn_name: '法羅群島', alpha_3: 'FRO', adj: 'Faroese'}, FJ: {name: 'Fiji', cn_name: '斐濟', alpha_3: 'FJI', adj: 'Fijian'}, FI: {name: 'Finland', cn_name: '芬兰', alpha_3: 'FIN', adj: 'Finnish'}, FR: {name: 'France', cn_name: '法国', alpha_3: 'FRA', adj: 'French'}, GF: {name: 'French Guiana', cn_name: '法屬圭亞那', alpha_3: 'GUF'}, PF: {name: 'French Polynesia', cn_name: '法属波利尼西亚', alpha_3: 'PYF', adj: 'French Polynesian'}, TF: {name: 'French Southern Territories', cn_name: '法屬南部領地', alpha_3: 'ATF'}, GA: {name: 'Gabon', cn_name: '加蓬', alpha_3: 'GAB', adj: 'Gabonese'}, GM: {name: 'Gambia', cn_name: '冈比亚', alpha_3: 'GMB', adj: 'Gambian'}, GE: {name: 'Georgia', cn_name: '佐治亞州', alpha_3: 'GEO', adj: 'Georgian'}, DE: {name: 'Germany', cn_name: '德国', alpha_3: 'DEU', adj: 'German'}, GH: {name: 'Ghana', cn_name: '加納', alpha_3: 'GHA', adj: 'Ghanaian'}, GI: {name: 'Gibraltar', cn_name: '直布罗陀', alpha_3: 'GIB', adj: 'Gibraltar'}, GB: {name: 'Great Britain', cn_name: '大不列顛', alpha_3: 'GBR', adj_name: 'United Kingdom', adj: 'British'}, GR: {name: 'Greece', cn_name: '希腊', alpha_3: 'GRC', adj: 'Greek'}, GL: {name: 'Greenland', cn_name: '格陵蘭', alpha_3: 'GRL', adj: 'Greenlandic'}, GD: {name: 'Grenada', cn_name: '格林納達', alpha_3: 'GRD', adj: 'Grenadian'}, GU: {name: 'Guam', cn_name: '关岛', alpha_3: 'GUM', adj: 'Guamanian'}, GP: {name: 'Guadeloupe', cn_name: '瓜德罗普', alpha_3: 'GLP'}, GT: {name: 'Guatemala', cn_name: '危地马拉', alpha_3: 'GTM', adj: 'Guatemalan'}, GG: {name: 'Guernsey', cn_name: '根西島', alpha_3: 'GGY', adj: 'Channel Island'}, GN: {name: 'Guinea', cn_name: '几内亚', alpha_3: 'GIN', adj: 'Guinean'}, GW: {name: 'Guinea-Bissau', cn_name: '幾內亞比紹', alpha_3: 'GNB', adj: 'Bissau-Guinean'}, GY: {name: 'Guyana', cn_name: '圭亞那', alpha_3: 'GUY', adj: 'Guyanese'}, HT: {name: 'Haiti', cn_name: '海地', alpha_3: 'HTI', adj: 'Haitian'}, HN: {name: 'Honduras', cn_name: '洪都拉斯', alpha_3: 'HND', adj: 'Honduran'}, HK: {name: 'Hong Kong', cn_name: '香港', alpha_3: 'HKG', adj: 'Hong Kong'}, HU: {name: 'Hungary', cn_name: '匈牙利', alpha_3: 'HUN', adj: 'Hungarian'}, IS: {name: 'Iceland', cn_name: '冰岛', alpha_3: 'ISL', adj: 'Icelandic'}, IN: {name: 'India', cn_name: '印度', alpha_3: 'IND', adj: 'Indian'}, ID: {name: 'Indonesia', cn_name: '印度尼西亞', alpha_3: 'IDN', adj: 'Indonesian'}, IO: {name: 'British Indian Ocean Territory', alpha_3: 'IOT', adj: 'Indian'}, IR: {name: 'Iran', cn_name: '伊朗', alpha_3: 'IRN', adj: 'Iranian'}, IQ: {name: 'Iraq', cn_name: '伊拉克', alpha_3: 'IRQ', adj: 'Iraqi'}, IE: {name: 'Ireland', cn_name: '愛爾蘭', alpha_3: 'IRL', adj: 'Irish'}, IM: {name: 'Isle of Man', cn_name: '马恩岛', alpha_3: 'IMN', adj: 'Manx'}, IL: {name: 'Israel', cn_name: '以色列', alpha_3: 'ISR', adj: 'Israeli'}, IT: {name: 'Italy', cn_name: '意大利', alpha_3: 'ITA', adj: 'Italian'}, JM: {name: 'Jamaica', cn_name: '牙買加', alpha_3: 'JAM', adj: 'Jamaican'}, JP: {name: 'Japan', cn_name: '日本', alpha_3: 'JPN', adj: 'Japanese'}, JO: {name: 'Jordan', cn_name: '約旦', alpha_3: 'JOR', adj: 'Jordanian'}, KZ: {name: 'Kazakhstan', cn_name: '哈薩克斯坦', alpha_3: 'KAZ', adj: 'Kazakhstani'}, KE: {name: 'Kenya', cn_name: '肯尼亞', alpha_3: 'KEN', adj: 'Kenyan'}, KI: {name: 'Kiribati', cn_name: '基里巴斯', alpha_3: 'KIR', adj: 'I-Kiribati'}, XK: {name: 'Kosovo', cn_name: '科索沃'}, KW: {name: 'Kuwait', cn_name: '科威特', alpha_3: 'KWT', adj: 'Kuwaiti'}, KG: {name: 'Kyrgyzstan', cn_name: '吉尔吉斯斯坦', alpha_3: 'KGZ', adj: 'Kyrgyzstani'}, LA: {name: 'Laos', cn_name: '老撾', alpha_3: 'LAO', adj: 'Lao, Laotian'}, LV: {name: 'Latvia', cn_name: '拉脫維亞', alpha_3: 'LVA', adj: 'Latvian'}, LB: {name: 'Lebanon', cn_name: '黎巴嫩', alpha_3: 'LBN', adj: 'Lebanese'}, LS: {name: 'Lesotho', cn_name: '莱索托', alpha_3: 'LSO', adj: 'Basotho'}, LR: {name: 'Liberia', cn_name: '利比里亚', alpha_3: 'LBR', adj: 'Liberian'}, LY: {name: 'Libya', cn_name: '利比亚', alpha_3: 'LBY', adj: 'Libyan'}, LI: {name: 'Liechtenstein', cn_name: '列支敦士登', alpha_3: 'LIE', adj: 'Liechtensteiner'}, LT: {name: 'Lithuania', cn_name: '立陶宛', alpha_3: 'LTU', adj: 'Lithuanian'}, LU: {name: 'Luxembourg', cn_name: '盧森堡', alpha_3: 'LUX', adj: 'Luxembourgish'}, MO: {name: 'Macau', cn_name: '澳門', alpha_3: 'MAC', adj: 'Macanese'}, MK: {name: 'Macedonia', cn_name: '马其顿', alpha_3: 'MKD', adj: 'Macedonian'}, MG: {name: 'Madagascar', cn_name: '马达加斯加', alpha_3: 'MDG', adj: 'Malagasy'}, MW: {name: 'Malawi', cn_name: '马拉维', alpha_3: 'MWI', adj: 'Malawian'}, MY: {name: 'Malaysia', cn_name: '马来西亚', alpha_3: 'MYS', adj: 'Malaysian'}, MV: {name: 'Maldives', cn_name: '马尔代夫', alpha_3: 'MDV', adj: 'Maldivian'}, ML: {name: 'Mali', cn_name: '马里', alpha_3: 'MLI', adj: 'Malian'}, MT: {name: 'Malta', cn_name: '馬耳他', alpha_3: 'MLT', adj: 'Maltese'}, MH: {name: 'Marshall Islands', cn_name: '馬紹爾群島', alpha_3: 'MHL', adj: 'Marshallese'}, MQ: {name: 'Martinique', cn_name: '馬提尼克島', alpha_3: 'MTQ', adj: 'Martinican'}, MR: {name: 'Mauritania', cn_name: '毛里塔尼亚', alpha_3: 'MRT', adj: 'Mauritanian'}, MU: {name: 'Mauritius', cn_name: '毛里求斯', alpha_3: 'MUS', adj: 'Mauritian'}, YT: {name: 'Mayotte', cn_name: '馬約特島', alpha_3: 'MYT', adj: 'Mahoran'}, MX: {name: 'Mexico', cn_name: '墨西哥', alpha_3: 'MEX', adj: 'Mexican'}, FM: {name: 'Micronesia', cn_name: '密克羅尼西亞', alpha_3: 'FSM', adj: 'Micronesian'}, MD: {name: 'Moldova', cn_name: '摩爾多瓦', alpha_3: 'MDA', adj: 'Moldovan'}, MC: {name: 'Monaco', cn_name: '摩納哥', alpha_3: 'MCO', adj: 'Monacan'}, MN: {name: 'Mongolia', cn_name: '蒙古', alpha_3: 'MNG', adj: 'Mongolian'}, ME: {name: 'Montenegro', cn_name: '黑山', alpha_3: 'MNE', adj: 'Montenegrin'}, MS: {name: 'Montserrat', cn_name: '蒙特塞拉特', alpha_3: 'MSR'}, MA: {name: 'Morocco', cn_name: '摩洛哥', alpha_3: 'MAR', adj: 'Moroccan'}, MZ: {name: 'Mozambique', cn_name: '莫桑比克', alpha_3: 'MOZ', adj: 'Mozambican'}, MM: {name: 'Myanmar (Burma)', cn_name: '緬甸', alpha_3: 'MMR', adj_name: 'Myanmar', adj: 'Burmese'}, NA: {name: 'Namibia', cn_name: '纳米比亚', alpha_3: 'NAM', adj: 'Namibian'}, NR: {name: 'Nauru', cn_name: '瑙鲁', alpha_3: 'NRU', adj: 'Nauruan'}, NP: {name: 'Nepal', cn_name: '尼泊爾', alpha_3: 'NPL', adj: 'Nepali'}, NL: {name: 'Netherlands', cn_name: '荷兰', alpha_3: 'NLD', adj: 'Dutch'}, AN: {name: 'Netherlands Antilles', cn_name: '荷屬安的列斯'}, NC: {name: 'New Caledonia', cn_name: '新喀里多尼亚', alpha_3: 'NCL', adj: 'New Caledonian'}, NZ: {name: 'New Zealand', cn_name: '新西兰', alpha_3: 'NZL', adj: 'Zelanian'}, NI: {name: 'Nicaragua', cn_name: '尼加拉瓜', alpha_3: 'NIC', adj: 'Nicaraguan'}, NE: {name: 'Niger', cn_name: '尼日爾', alpha_3: 'NER', adj: 'Nigerien'}, NG: {name: 'Nigeria', cn_name: '尼日利亚', alpha_3: 'NGA', adj: 'Nigerian'}, NU: {name: 'Niue', cn_name: '纽埃', alpha_3: 'NIU'}, NF: {name: 'Norfolk Island', cn_name: '诺福克岛', alpha_3: 'NFK'}, KP: {name: 'North Korea', cn_name: '北朝鮮', alpha_3: 'PRK'}, MP: {name: 'Northern Mariana Islands', cn_name: '北馬里亞納群島', alpha_3: 'MNP', adj: 'Niuean'}, NO: {name: 'Norway', cn_name: '挪威', alpha_3: 'NOR', adj: 'Norwegian'}, OM: {name: 'Oman', cn_name: '阿曼', alpha_3: 'OMN', adj: 'Omani'}, PK: {name: 'Pakistan', cn_name: '巴基斯坦', alpha_3: 'PAK', adj: 'Pakistani'}, PW: {name: 'Palau', cn_name: 'u琉', alpha_3: 'PLW', adj: 'Palauan'}, PS: {name: 'Palestine', cn_name: '巴勒斯坦', alpha_3: 'PSE', adj: 'Palestinian'}, PA: {name: 'Panama', cn_name: '巴拿馬', alpha_3: 'PAN', adj: 'Panamanian'}, PG: {name: 'Papua New Guinea', cn_name: '巴布亞新幾內亞', alpha_3: 'PNG', adj: 'Papuan'}, PY: {name: 'Paraguay', cn_name: '巴拉圭', alpha_3: 'PRY', adj: 'Paraguayan'}, PE: {name: 'Peru', cn_name: '秘魯', alpha_3: 'PER', adj: 'Peruvian'}, PH: {name: 'Philippines', cn_name: '菲律宾', alpha_3: 'PHL', adj: 'Filipino'}, PN: {name: 'Pitcairn', cn_name: '皮特凱恩', alpha_3: 'PCN'}, PL: {name: 'Poland', cn_name: '波兰', alpha_3: 'POL', adj: 'Polish'}, PM: {name: 'Saint Pierre and Miquelon', alpha_3: 'SPM'}, PT: {name: 'Portugal', cn_name: '葡萄牙', alpha_3: 'PRT', adj: 'Portuguese'}, PR: {name: 'Puerto Rico', cn_name: '波多黎各', alpha_3: 'PRI', adj: 'Puerto Rican'}, QA: {name: 'Qatar', cn_name: '卡塔尔', alpha_3: 'QAT', adj: 'Qatari'}, RE: {name: 'Réunion', cn_name: '團圓', alpha_3: 'REU'}, RO: {name: 'Romania', cn_name: '罗马尼亚', alpha_3: 'ROU', adj: 'Romanian'}, RU: {name: 'Russia', cn_name: '俄罗斯', alpha_3: 'RUS', adj: 'Russian'}, RW: {name: 'Rwanda', cn_name: '卢旺达', alpha_3: 'RWA', adj: 'Rwandan'}, BL: {name: 'Saint Barthelemy', cn_name: '聖巴托洛繆島', alpha_3: 'BLM', adj_name: 'Saint Barthélemy', adj: 'Barthélemois'}, SH: {name: 'Saint Helena', cn_name: '聖海倫娜', alpha_3: 'SHN'}, KN: {name: 'Saint Kitts And Nevis', cn_name: '聖基茨和尼維斯', alpha_3: 'KNA', adj_name: 'Saint Kitts and Nevis', adj: 'Kittitian'}, LC: {name: 'Saint Lucia', cn_name: '聖盧西亞', alpha_3: 'LCA', adj: 'Saint Lucian'}, MF: {name: 'Saint Martin', cn_name: '聖馬丁', alpha_3: 'MAF', adj: 'Saint-Martinoise'}, VC: {name: 'Saint Vincent And The Grenadines', cn_name: '聖文森特和格林納丁斯', alpha_3: 'VCT', adj_name: 'Saint Vincent and the Grenadines', adj: 'Saint Vincentian'}, SM: {name: 'San Marino', cn_name: '圣马力诺', alpha_3: 'SMR', adj: 'Sammarinese'}, ST: {name: 'Sao Tome And Principe', cn_name: '聖多美和普林西比', alpha_3: 'STP'}, SA: {name: 'Saudi Arabia', cn_name: '沙特阿拉伯', alpha_3: 'SAU', adj: 'Saudi'}, SN: {name: 'Senegal', cn_name: '塞内加尔', alpha_3: 'SEN', adj: 'Senegalese'}, RS: {name: 'Serbia', cn_name: '塞爾維亞', alpha_3: 'SRB', adj: 'Serbian'}, SC: {name: 'Seychelles', cn_name: '塞舌爾', alpha_3: 'SYC', adj: 'Seychellois'}, SL: {name: 'Sierra Leone', cn_name: '塞拉利昂', alpha_3: 'SLE', adj: 'Sierra Leonean'}, SG: {name: 'Singapore', cn_name: '新加坡', alpha_3: 'SGP', adj: 'Singaporean'}, SX: {name: 'Sint Maarten (Dutch part)', cn_name: '荷属圣马丁', alpha_3: 'SXM'}, SK: {name: 'Slovak Republic', cn_name: '斯洛伐克共和國', alpha_3: 'SVK', adj_name: 'Slovakia', adj: 'Slovak'}, SI: {name: 'Slovenia', cn_name: '斯洛文尼亚', alpha_3: 'SVN', adj: 'Slovenian'}, SB: {name: 'Solomon Islands', cn_name: '所羅門群島', alpha_3: 'SLB', adj: 'Solomon Island'}, SO: {name: 'Somalia', cn_name: '索马里', alpha_3: 'SOM', adj: 'Somali'}, ZA: {name: 'South Africa', cn_name: '南非', alpha_3: 'ZAF', adj: 'South African'}, GS: {name: 'South Georgia And South Sandwich Islands', cn_name: '南喬治亞島和南桑威奇群島', alpha_3: 'SGS'}, KR: {name: 'South Korea', cn_name: '朝鲜', alpha_3: 'KOR', adj: 'South Korean'}, SS: {name: 'South Sudan', cn_name: '南蘇丹', alpha_3: 'SSD', adj: 'South Sudanese'}, ES: {name: 'Spain', cn_name: '西班牙', alpha_3: 'ESP', adj: 'Spanish'}, LK: {name: 'Sri Lanka', cn_name: '斯里蘭卡', alpha_3: 'LKA', adj: 'Sri Lankan'}, SD: {name: 'Sudan', cn_name: '苏丹', alpha_3: 'SDN', adj: 'Sudanese'}, SR: {name: 'Suriname', cn_name: '蘇里南', alpha_3: 'SUR', adj_name: 'Surinam', adj: 'Surinamese'}, SJ: {name: 'Svalbard and Jan Mayen'}, SZ: {name: 'Swaziland', cn_name: '斯威士兰', alpha_3: 'SWZ', adj: 'Swazi'}, SE: {name: 'Sweden', cn_name: '瑞典', alpha_3: 'SWE', adj: 'Swedish'}, CH: {name: 'Switzerland', cn_name: '瑞士', alpha_3: 'CHE', adj: 'Swiss'}, SY: {name: 'Syria', cn_name: '叙利亚', alpha_3: 'SYR', adj: 'Syrian'}, TW: {name: 'Taiwan', cn_name: '台湾省', alpha_3: 'TWN', adj: 'Taiwanese'}, TJ: {name: 'Tajikistan', cn_name: '塔吉克斯坦', alpha_3: 'TJK', adj: 'Tajikistani'}, TZ: {name: 'Tanzania', cn_name: '坦桑尼亚', alpha_3: 'TZA', adj: 'Tanzanian'}, TH: {name: 'Thailand', cn_name: '泰国', alpha_3: 'THA', adj: 'Thai'}, TL: {name: 'Timor-Leste', cn_name: '東帝汶', alpha_3: 'TLS', adj: 'Timorese'}, TG: {name: 'Togo', cn_name: '多哥', alpha_3: 'TGO', adj: 'Togolese'}, TK: {name: 'Tokelau', cn_name: '托克劳群岛', alpha_3: 'TKL'}, TO: {name: 'Tonga', cn_name: '湯加', alpha_3: 'TON'}, TT: {name: 'Trinidad And Tobago', cn_name: '特立尼达和多巴哥', alpha_3: 'TTO', adj_name: 'Trinidad and Tobago', adj: 'Trinidadian'}, TN: {name: 'Tunisia', cn_name: '突尼斯', alpha_3: 'TUN', adj: 'Tunisian'}, TR: {name: 'Turkey', cn_name: '土耳其', alpha_3: 'TUR', adj: 'Turkish'}, TM: {name: 'Turkmenistan', cn_name: '土庫曼斯坦', alpha_3: 'TKM'}, TC: {name: 'Turks And Caicos Islands', cn_name: '特克斯和凱科斯群島', alpha_3: 'TCA', adj_name: 'Turks and Caicos Islands', adj: 'Turks and Caicos Island'}, TV: {name: 'Tuvalu', cn_name: '圖瓦盧', alpha_3: 'TUV'}, UG: {name: 'Uganda', cn_name: '烏干達', alpha_3: 'UGA', adj: 'Ugandan'}, UA: {name: 'Ukraine', cn_name: '乌克兰', alpha_3: 'UKR', adj: 'Ukrainian'}, AE: {name: 'United Arab Emirates', cn_name: '阿拉伯聯合酋長國', alpha_3: 'ARE', adj: 'Emirati'}, UK: {name: 'United Kingdom', cn_name: '英国'}, US: {name: 'United States', cn_name: '美国', alpha_3: 'USA', adj: 'American'}, UM: {name: 'United States Minor Outlying Islands'}, UY: {name: 'Uruguay', cn_name: '乌拉圭', alpha_3: 'URY', adj: 'Uruguayan'}, UZ: {name: 'Uzbekistan', cn_name: '烏茲別克斯坦', alpha_3: 'UZB', adj: 'Uzbekistani'}, VU: {name: 'Vanuatu', cn_name: '瓦努阿圖', alpha_3: 'VUT', adj: 'Vanuatuan'}, VA: {name: 'Vatican City (Holy See)', cn_name: '梵蒂岡(羅馬教廷)', alpha_3: 'VAT'}, VE: {name: 'Venezuela', cn_name: '委內瑞拉', alpha_3: 'VEN', adj: 'Venezuelan'}, VN: {name: 'Vietnam', cn_name: '越南', alpha_3: 'VNM', adj: 'Vietnamese'}, VG: {name: 'Virgin Islands (British)', cn_name: '維爾京群島(英國)', alpha_3: 'VGB', adj_name: 'Virgin Islands, British', adj: 'British Virgin Island'}, VI: {name: 'Virgin Islands (US)', cn_name: '維爾京群島(美國)', alpha_3: 'VIR', adj_name: 'Virgin Islands, United States', adj: 'U.S. Virgin Island'}, WF: {name: 'Wallis And Futuna Islands', cn_name: '瓦利斯和富图纳群岛', alpha_3: 'WLF'}, EH: {name: 'Western Sahara', cn_name: '西撒哈拉', alpha_3: 'ESH'}, WS: {name: 'Western Samoa', cn_name: '薩摩亞西部', alpha_3: 'WSM'}, YE: {name: 'Yemen', cn_name: '也门', alpha_3: 'YEM', adj: 'Yemeni'}, ZM: {name: 'Zambia', cn_name: '赞比亚', alpha_3: 'ZMB', adj: 'Zambian'}, ZW: {name: 'Zimbabwe', cn_name: '津巴布韦', alpha_3: 'ZWE', adj: 'Zimbabwean'}, BV: {name: 'Bouvet Island', alpha_3: 'BVT', adj: 'Bouvet Islanders', cn_name: '布维岛'}, HM: {name: 'Heard Island and McDonald Islands', alpha_3: 'HMD', adj: 'Heard Islanders, McDonald Islanders', cn_name: '赫德岛和麦克唐纳群岛'}, }; E.list = Object.fromEntries(Object.entries(base_list).map(function(e){ return [e[0], e[1].name]; })); E.country_codes_lowered = Object.keys(E.list).map(function(c){ return c.toLowerCase(); }); E.cn_list = Object.fromEntries(Object.entries(base_list) .filter(function(e){ return e[1].cn_name; }) .map(function(e){ return [e[0], e[1].cn_name]; })); var alpha_3_list = Object.fromEntries(Object.entries(base_list) .filter(function(e){ return e[1].alpha_3; }) .map(function(e){ return [e[0], e[1].alpha_3]; })); E.adj_list = Object.fromEntries(Object.entries(base_list) .filter(function(e){ return e[1].adj; }) .map(function(e){ return [e[0], { name: e[1].adj_name || e[1].name, adj: e[1].adj, }]; })); E.regions = { AD: ['Southern Europe', 'EMEA'], AE: ['Western Asia', 'EMEA'], AF: ['Southern Asia', 'APAC'], AG: ['Caribbean', 'AMER'], AI: ['Caribbean', 'AMER'], AL: ['South-Eastern Europe', 'EMEA'], AM: ['Western Asia', 'EMEA'], AN: ['Caribbean'], AO: ['Middle Africa', 'EMEA'], AQ: ['Antarctica', 'APAC'], AR: ['South America', 'AMER'], AS: ['Polynesia', 'South America', 'AMER'], AT: ['Western Europe', 'EMEA', 'EU'], AU: ['Australia and New Zealand', 'APAC'], AW: ['Caribbean', 'AMER'], AX: ['Scandinavia', 'EMEA', 'Northern Europe'], AZ: ['Western Asia', 'EMEA'], BA: ['South-Eastern Europe', 'EMEA'], BB: ['Caribbean', 'AMER'], BD: ['Southern Asia', 'APAC'], BE: ['Western Europe', 'EMEA', 'EU'], BF: ['Western Africa', 'EMEA'], BG: ['Eastern Europe', 'EMEA', 'EU'], BH: ['Western Asia', 'EMEA'], BI: ['Eastern Africa', 'EMEA'], BJ: ['Western Africa', 'EMEA'], BL: ['Caribbean', 'AMER'], BM: ['Northern America', 'AMER'], BN: ['South-Eastern Asia', 'APAC'], BO: ['South America', 'AMER'], BQ: ['Caribbean', 'AMER'], BR: ['South America', 'AMER'], BS: ['Caribbean', 'AMER'], BT: ['Southern Asia', 'APAC'], BW: ['Southern Africa', 'EMEA'], BY: ['Eastern Europe', 'EMEA'], BZ: ['South America', 'AMER'], CA: ['Northern America', 'AMER'], CC: ['Australia and New Zealand', 'APAC'], CD: ['Middle Africa', 'EMEA'], CF: ['Middle Africa', 'EMEA'], CG: ['Middle Africa', 'EMEA'], CH: ['Western Europe', 'EMEA'], CI: ['Western Africa', 'EMEA'], CK: ['Polynesia', 'APAC'], CL: ['South America', 'AMER'], CM: ['Middle Africa', 'EMEA'], CN: ['Asia', 'China', 'APAC'], CO: ['South America', 'AMER'], CR: ['South America', 'AMER'], CU: ['Caribbean', 'AMER'], CV: ['Western Africa', 'EMEA'], CW: ['Caribbean', 'AMER'], CX: ['Australia and New Zealand', 'APAC'], CY: ['South-Eastern Europe', 'EMEA', 'EU'], CZ: ['Eastern Europe', 'EMEA', 'EU'], DE: ['Western Europe', 'EMEA', 'EU'], DJ: ['Eastern Africa', 'EMEA'], DK: ['Scandinavia', 'EMEA', 'Northern Europe', 'EU'], DM: ['Caribbean', 'AMER'], DO: ['Caribbean', 'AMER'], DZ: ['Northern Africa', 'EMEA'], EC: ['South America', 'AMER'], EE: ['Eastern Europe', 'EMEA', 'EU'], EG: ['Northern Africa', 'EMEA'], EH: ['Northern Africa', 'EMEA'], ER: ['Eastern Africa', 'EMEA'], ES: ['Southern Europe', 'EMEA', 'EU'], ET: ['Eastern Africa', 'EMEA'], EU: ['Western Europe'], FI: ['Scandinavia', 'EMEA', 'Northern Europe', 'EU'], FJ: ['Melanesia', 'APAC'], FK: ['South America', 'AMER'], FM: ['Micronesia', 'APAC'], FO: ['Scandinavia', 'EMEA', 'Northern Europe'], FR: ['Western Europe', 'EMEA', 'EU'], GA: ['Middle Africa', 'EMEA'], GB: ['Northern Europe', 'EMEA'], GD: ['Caribbean', 'AMER'], GE: ['Western Asia', 'EMEA'], GF: ['South America', 'AMER'], GG: ['Northern Europe', 'EMEA'], GH: ['Western Africa', 'EMEA'], GI: ['Southern Europe', 'EMEA'], GL: ['Scandinavia', 'EMEA', 'Northern Europe'], GM: ['Western Africa', 'EMEA'], GN: ['Western Africa', 'EMEA'], GP: ['Caribbean', 'AMER'], GQ: ['Middle Africa', 'EMEA'], GR: ['South-Eastern Europe', 'EMEA', 'EU'], GS: ['Antarctica', 'South America', 'AMER'], GT: ['South America', 'AMER'], GU: ['Micronesia', 'APAC'], GW: ['Western Africa', 'EMEA'], GY: ['South America', 'AMER'], HK: ['Eastern Asia', 'APAC'], HN: ['South America', 'AMER'], HR: ['South-Eastern Europe', 'EMEA', 'EU'], HT: ['Caribbean', 'AMER'], HU: ['Eastern Europe', 'EMEA', 'EU'], ID: ['South-Eastern Asia', 'APAC'], IO: ['Eastern Africa', 'AMER'], IE: ['Northern Europe', 'EMEA', 'EU'], IL: ['Western Asia', 'EMEA'], IM: ['Northern Europe', 'EMEA'], IN: ['Southern Asia', 'APAC'], IQ: ['Western Asia', 'EMEA'], IR: ['Southern Asia', 'EMEA'], IS: ['Scandinavia', 'EMEA', 'Northern Europe'], IT: ['Southern Europe', 'EMEA', 'EU'], JE: ['Northern Europe', 'EMEA'], JM: ['Caribbean', 'AMER'], JO: ['Western Asia', 'EMEA'], JP: ['Eastern Asia', 'APAC'], KE: ['Eastern Africa', 'EMEA'], KG: ['Central Asia', 'EMEA'], KH: ['South-Eastern Asia', 'APAC'], KI: ['Micronesia', 'APAC'], KM: ['Eastern Africa', 'EMEA'], KN: ['Caribbean', 'AMER'], KP: ['Eastern Asia', 'APAC'], KR: ['Eastern Asia', 'APAC'], KW: ['Western Asia', 'EMEA'], KY: ['Caribbean', 'AMER'], KZ: ['Central Asia', 'EMEA'], LA: ['South-Eastern Asia', 'APAC'], LB: ['Western Asia', 'EMEA'], LC: ['Caribbean', 'AMER'], LI: ['Western Europe', 'EMEA'], LK: ['Southern Asia', 'APAC'], LR: ['Western Africa', 'EMEA'], LS: ['Southern Africa', 'EMEA'], LT: ['Eastern Europe', 'EMEA', 'EU'], LU: ['Western Europe', 'EMEA', 'EU'], LV: ['Eastern Europe', 'EMEA', 'EU'], LY: ['Northern Africa', 'EMEA'], MA: ['Northern Africa', 'EMEA'], MC: ['Western Europe', 'EMEA'], MD: ['Eastern Europe', 'EMEA'], ME: ['South-Eastern Europe', 'EMEA'], MF: ['Caribbean', 'AMER'], MG: ['Eastern Africa', 'EMEA'], MH: ['Micronesia', 'APAC'], MK: ['South-Eastern Europe', 'EMEA'], ML: ['Western Africa', 'EMEA'], MM: ['South-Eastern Asia', 'APAC'], MN: ['Eastern Asia', 'APAC'], MO: ['Eastern Asia', 'APAC'], MP: ['Micronesia', 'APAC'], MQ: ['Caribbean', 'AMER'], MR: ['Western Africa', 'EMEA'], MS: ['Caribbean', 'AMER'], MT: ['Southern Europe', 'EMEA', 'EU'], MU: ['Eastern Africa', 'EMEA'], MV: ['Southern Asia', 'APAC'], MW: ['Eastern Africa', 'EMEA'], MX: ['South America', 'AMER'], MY: ['South-Eastern Asia', 'APAC'], MZ: ['Eastern Africa', 'EMEA'], NA: ['Southern Africa', 'EMEA'], NC: ['Melanesia', 'APAC'], NE: ['Western Africa', 'EMEA'], NF: ['Australia and New Zealand', 'APAC'], NG: ['Western Africa', 'EMEA'], NI: ['South America', 'AMER'], NL: ['Western Europe', 'EMEA', 'EU'], NO: ['Scandinavia', 'EMEA', 'Northern Europe'], NP: ['Southern Asia', 'APAC'], NR: ['Micronesia', 'APAC'], NU: ['Polynesia', 'APAC'], NZ: ['Australia and New Zealand', 'APAC'], OM: ['Western Asia', 'EMEA'], PA: ['South America', 'AMER'], PE: ['South America', 'AMER'], PF: ['Polynesia', 'APAC'], PG: ['Melanesia', 'APAC'], PH: ['South-Eastern Asia', 'APAC'], PK: ['Southern Asia', 'APAC'], PL: ['Eastern Europe', 'EMEA', 'EU'], PN: ['Polynesia', 'AMER', 'South America'], PM: ['Northern America', 'AMER'], PR: ['Caribbean', 'AMER'], PS: ['Western Asia', 'EMEA'], PT: ['Southern Europe', 'EMEA', 'EU'], PW: ['Micronesia', 'APAC'], PY: ['South America', 'AMER'], QA: ['Western Asia', 'EMEA'], RE: ['Eastern Africa', 'APAC'], RO: ['Eastern Europe', 'EMEA', 'EU'], RS: ['South-Eastern Europe', 'EMEA'], RU: ['Eastern Europe', 'EMEA'], RW: ['Eastern Africa', 'EMEA'], SA: ['Western Asia', 'EMEA'], SB: ['Melanesia', 'APAC'], SC: ['Eastern Africa', 'EMEA'], SD: ['Northern Africa', 'EMEA'], SE: ['Scandinavia', 'EMEA', 'Northern Europe', 'EU'], SG: ['South-Eastern Asia', 'APAC'], SH: ['Western Africa', 'EMEA'], SI: ['South-Eastern Europe', 'EMEA', 'EU'], SJ: ['South America', 'AMER'], SK: ['Eastern Europe', 'EMEA', 'EU'], SL: ['Western Africa', 'EMEA'], SM: ['Southern Europe', 'EMEA'], SN: ['Western Africa', 'EMEA'], SO: ['Eastern Africa', 'EMEA'], SR: ['South America', 'AMER'], SS: ['Eastern Africa', 'EMEA'], ST: ['Middle Africa', 'EMEA'], SV: ['South America', 'AMER'], SX: ['Caribbean', 'AMER'], SY: ['Western Asia', 'EMEA'], SZ: ['Southern Africa', 'EMEA'], TC: ['Caribbean', 'AMER'], TD: ['Middle Africa', 'EMEA'], TF: ['Antarctica', 'EMEA'], TG: ['Western Africa', 'EMEA'], TH: ['South-Eastern Asia', 'APAC'], TJ: ['Central Asia', 'APAC'], TK: ['Polynesia', 'APAC'], TL: ['South-Eastern Asia', 'APAC'], TM: ['Central Asia', 'APAC'], TN: ['Northern Africa', 'EMEA'], TO: ['Polynesia', 'APAC'], TR: ['South-Eastern Europe', 'EMEA'], TT: ['Caribbean', 'AMER'], TV: ['Polynesia', 'APAC'], TW: ['Eastern Asia', 'APAC'], TZ: ['Eastern Africa', 'EMEA'], UA: ['Eastern Europe', 'EMEA'], UG: ['Eastern Africa', 'EMEA'], UK: ['Northern Europe', 'EMEA'], UM: ['APAC'], US: ['Northern America', 'AMER'], UY: ['South America', 'AMER'], UZ: ['Central Asia', 'EMEA'], VA: ['Southern Europe', 'EMEA'], VC: ['Caribbean', 'AMER'], VE: ['South America', 'AMER'], VG: ['Caribbean', 'AMER'], VI: ['Caribbean', 'AMER'], VN: ['South-Eastern Asia', 'APAC'], VU: ['Melanesia', 'APAC'], WF: ['Polynesia', 'APAC'], WS: ['Polynesia', 'APAC'], XK: ['South-Eastern Europe', 'EMEA'], YE: ['Western Asia', 'EMEA'], YT: ['Eastern Africa', 'EMEA'], ZA: ['Southern Africa', 'EMEA'], ZM: ['Eastern Africa', 'EMEA'], ZW: ['Eastern Africa', 'EMEA'], BV: ['Southern Africa', 'EMEA'], HM: ['South America', 'AMER'], }; E.region = {}; for (var cn in E.regions) { var codes = ['EMEA', 'AMER', 'APAC']; var regions = E.regions[cn]; var code = codes.find(function(c){ return regions.includes(c); }); if (code) E.region[cn] = code; else if (regions.includes('China')) E.region[cn] = 'APAC'; } var supraregions = { 'Northern America': ['America'], 'South America': ['LATAM'], 'Central America': ['LATAM'], Caribbean: ['LATAM', 'South America'], LATAM: ['America'], 'Eastern Europe': ['Eastern Europe (W/E)'], 'South-Eastern Europe': ['Eastern Europe (W/E)'], 'Western Europe': ['Western Europe (W/E)'], 'Southern Europe': ['Western Europe (W/E)'], 'Northern Europe': ['Western Europe (W/E)'], 'Western Europe (W/E)': ['Europe'], 'Eastern Europe (W/E)': ['Europe'], Polynesia: ['Oceania'], Melanesia: ['Oceania'], Micronesia: ['Oceania'], 'Australia and New Zealand': ['Oceania'], Oceania: ['APAC'], 'South-Eastern Asia': ['APAC', 'Asia'], 'Southern Asia': ['APAC', 'Asia'], 'Eastern Asia': ['APAC', 'Asia'], 'Central Asia': ['Asia'], 'Western Asia': ['Asia'], 'Eastern Africa': ['Africa'], 'Western Africa': ['Africa'], 'Southern Africa': ['Africa'], 'Northern Africa': ['Africa'], 'Middle Africa': ['Africa'], 'EU': ['Europe'] }; E.country_terr = {}; var terr_country = { apac_r: ['AF', 'AQ', 'AU', 'BT', 'BN', 'KH', 'CX', 'CC', 'CK', 'FJ', 'PF', 'GU', 'ID', 'JP', 'KI', 'KP', 'KR', 'LA', 'MY', 'MH', 'FM', 'MN', 'MM', 'NR', 'NP', 'NC', 'NZ', 'NU', 'NF', 'MP', 'PK', 'PW', 'PG', 'PH', 'WS', 'SG', 'SB', 'TW', 'TJ', 'TH', 'TL', 'TK', 'TO', 'TM', 'TV', 'UM', 'VU', 'VN', 'WF'], emea_e: ['AL', 'AD', 'DZ', 'AO', 'AM', 'AZ', 'BH', 'BY', 'BJ', 'BA', 'BW', 'BG', 'BF', 'BI', 'CV', 'CM', 'CF', 'TD', 'KM', 'CG', 'CD', 'CI', 'HR', 'CY', 'CZ', 'DJ', 'EG', 'ES', 'GQ', 'ER', 'EE', 'SZ', 'ET', 'TF', 'GA', 'GM', 'GE', 'GI', 'GH', 'GR', 'GN', 'GW', 'HU', 'IR', 'IT', 'IQ', 'IL', 'JO', 'KZ', 'KE', 'KW', 'KG', 'LV', 'LB', 'LS', 'LR', 'LY', 'LT', 'MG', 'MW', 'ML', 'MR', 'MU', 'YT', 'MD', 'ME', 'MA', 'MZ', 'NA', 'NE', 'NG', 'MK', 'MT', 'OM', 'PS', 'PL', 'PT', 'QA', 'RO', 'RU', 'RW', 'SH', 'ST', 'SA', 'SM', 'SN', 'RS', 'SC', 'SL', 'SK', 'SI', 'SO', 'ZA', 'SS', 'SD', 'SY', 'TZ', 'TG', 'TN', 'TR', 'UG', 'UA', 'AE', 'UZ', 'EH', 'YE', 'ZM', 'ZW', 'XK', 'BV'], emea_w: ['AX', 'AT', 'BE', 'DK', 'FO', 'FI', 'FR', 'DE', 'GL', 'GG', 'VA', 'IS', 'IE', 'IM', 'JE', 'LI', 'LU', 'MC', 'NO', 'SE', 'CH', 'UK', 'GB', 'NL'], in: ['IN', 'BD', 'LK', 'RE', 'MV'], amer_e: [], amer_w: ['US', 'CA'], amer_s: ['AS', 'AI', 'AG', 'AR', 'AW', 'BS', 'BB', 'BZ', 'BM', 'BO', 'BQ', 'BV', 'BR', 'IO', 'KY', 'CL', 'CO', 'CR', 'CU', 'CW', 'DM', 'DO', 'EC', 'SV', 'FK', 'GF', 'GD', 'GP', 'GT', 'GY', 'HT', 'HM', 'HN', 'JM', 'MQ', 'MX', 'MS', 'NI', 'PA', 'PY', 'PE', 'PN', 'PR', 'BL', 'KN', 'LC', 'MF', 'PM', 'VC', 'SX', 'GS', 'SR', 'SJ', 'TT', 'TC', 'UY', 'VE', 'VG', 'VI'], cn: ['CN', 'HK', 'MO'], }; Object.entries(terr_country).forEach(function(ct){ ct[1].forEach(function(c){ E.country_terr[c] = ct[0]; }); }); var state_terr_us_list = { amer_w: ['AK', 'AR', 'AZ', 'CA', 'CO', 'HI', 'IA', 'ID', 'KS', 'LA', 'MN', 'MO', 'MT', 'ND', 'NE', 'NM', 'NV', 'OK', 'OR', 'SD', 'TX', 'UT', 'WA', 'WY'], amer_e: ['AL', 'CT', 'DC', 'DE', 'FL', 'GA', 'IL', 'IN', 'KY', 'MA', 'MD', 'ME', 'MI', 'MS', 'NC', 'NH', 'NJ', 'NY', 'OH', 'PA', 'RI', 'SC', 'TN', 'VA', 'VT', 'WI', 'WV'], }; E.state_terr = {US: Object.entries(state_terr_us_list).reduce( function(m, e){ e[1].forEach(function(terr){ m[terr] = e[0]; }); return m; }, {})}; var extend_regions = function(_regions, country_code){ for (var i = 0; i<_regions.length; i++) { (supraregions[_regions[i]]||[]) .filter(function(extra){ return !_regions.includes(extra); }) .forEach(function(extra){ _regions.push(extra); }); } _regions.push('All'); }; for (var region_country in E.regions) extend_regions(E.regions[region_country], region_country); E.is_country_code = function(c){ return typeof c=='string'&&c.length==2 &&E.country_codes_lowered.includes(c.toLowerCase()); }; E.non_iso = {UK: 1, EU: 1}; E.lum_easy_pass = { AR: 1, AT: 1, AU: 1, BE: 1, CA: 1, EU: 1, FL: 1, FR: 1, DE: 1, GB: 1, IE: 1, IL: 1, IT: 1, NL: 1, NZ: 1, PL: 1, PT: 1, SG: 1, KR: 1, CH: 1, SE: 1, UK: 1, US: 1, JP: 1, }; // records with "Parent" column equal to "Country"/"Region" from this list: // https://developers.google.com/adwords/api/docs/appendix/geotargeting // intersected with "Region Setting" from https://www.google.com/preferences // plus countries from https://support.google.com/google-ads/answer/6163740 E.google_list = { AD: 'Andorra', AE: 'United Arab Emirates', AF: 'Afghanistan', AG: 'Antigua and Barbuda', AI: 'Anguilla', AL: 'Albania', AM: 'Armenia', AN: 'Netherlands Antilles', AO: 'Angola', AQ: 'Antarctica', AR: 'Argentina', AS: 'American Samoa', AT: 'Austria', AU: 'Australia', AW: 'Aruba', AZ: 'Azerbaijan', BA: 'Bosnia and Herzegovina', BB: 'Barbados', BD: 'Bangladesh', BE: 'Belgium', BF: 'Burkina Faso', BG: 'Bulgaria', BH: 'Bahrain', BI: 'Burundi', BJ: 'Benin', BM: 'Bermuda', BN: 'Brunei', BO: 'Bolivia', BQ: 'Caribbean Netherlands', BR: 'Brazil', BS: 'The Bahamas', BT: 'Bhutan', BV: 'Bouvet Island', BW: 'Botswana', BY: 'Belarus', BZ: 'Belize', CA: 'Canada', CC: 'Cocos (Keeling) Islands', CD: 'Democratic Republic of the Congo', CF: 'Central African Republic', CG: 'Republic of the Congo', CH: 'Switzerland', CI: 'Cote d\'Ivoire', CK: 'Cook Islands', CL: 'Chile', CM: 'Cameroon', CN: 'China', CO: 'Colombia', CR: 'Costa Rica', CS: 'Serbia and Montenegro', CU: 'Cuba', CV: 'Cape Verde', CW: 'Curacao', CX: 'Christmas Island', CY: 'Cyprus', CZ: 'Czechia', DE: 'Germany', DJ: 'Djibouti', DK: 'Denmark', DM: 'Dominica', DO: 'Dominican Republic', DZ: 'Algeria', EC: 'Ecuador', EE: 'Estonia', EG: 'Egypt', EH: 'Western Sahara', ER: 'Eritrea', ES: 'Spain', ET: 'Ethiopia', FI: 'Finland', FJ: 'Fiji', FK: 'Falkland Islands (Malvinas)', FM: 'Federated States of Micronesia', FO: 'Faroe Islands', FR: 'France', GA: 'Gabon', GB: 'United Kingdom', GD: 'Grenada', GE: 'Georgia', GF: 'French Guiana', GG: 'Guernsey', GH: 'Ghana', GI: 'Gibraltar', GL: 'Greenland', GM: 'The Gambia', GN: 'Guinea', GP: 'Guadeloupe', GQ: 'Equatorial Guinea', GR: 'Greece', GS: 'South Georgia and the South Sandwich Islands', GT: 'Guatemala', GU: 'Guam', GW: 'Guinea-Bissau', GY: 'Guyana', HK: 'Hong Kong', HM: 'Heard Island and McDonald Islands', HN: 'Honduras', HR: 'Croatia', HT: 'Haiti', HU: 'Hungary', ID: 'Indonesia', IE: 'Ireland', IL: 'Israel', IM: 'Isle of Man,United Kingdom', IN: 'India', IO: 'British Indian Ocean Territory', IQ: 'Iraq', IR: 'Iran', IS: 'Iceland', IT: 'Italy', JE: 'Jersey', JM: 'Jamaica', JO: 'Jordan', JP: 'Japan', KE: 'Kenya', KG: 'Kyrgyzstan', KH: 'Cambodia', KI: 'Kiribati', KM: 'Comoros', KN: 'Saint Kitts and Nevis', KP: 'North Korea', KR: 'South Korea', KW: 'Kuwait', KY: 'Cayman Islands', KZ: 'Kazakhstan', LA: 'Laos', LB: 'Lebanon', LC: 'Saint Lucia', LI: 'Liechtenstein', LK: 'Sri Lanka', LR: 'Liberia', LS: 'Lesotho', LT: 'Lithuania', LU: 'Luxembourg', LV: 'Latvia', LY: 'Libya', MA: 'Morocco', MC: 'Monaco', MD: 'Moldova', ME: 'Montenegro', MG: 'Madagascar', MH: 'Marshall Islands', MK: 'North Macedonia', ML: 'Mali', MM: 'Myanmar (Burma)', MN: 'Mongolia', MO: 'Macao', MP: 'Northern Mariana Islands', MQ: 'Martinique', MR: 'Mauritania', MS: 'Montserrat', MT: 'Malta', MU: 'Mauritius', MV: 'Maldives', MW: 'Malawi', MX: 'Mexico', MY: 'Malaysia', MZ: 'Mozambique', NA: 'Namibia', NC: 'New Caledonia', NE: 'Niger', NF: 'Norfolk Island', NG: 'Nigeria', NI: 'Nicaragua', NL: 'Netherlands', NO: 'Norway', NP: 'Nepal', NR: 'Nauru', NU: 'Niue', NZ: 'New Zealand', OM: 'Oman', PA: 'Panama', PE: 'Peru', PF: 'French Polynesia', PG: 'Papua New Guinea', PH: 'Philippines', PK: 'Pakistan', PL: 'Poland', PM: 'Saint Pierre and Miquelon', PN: 'Pitcairn Islands', PR: 'Puerto Rico', PS: 'Palestine', PT: 'Portugal', PW: 'Palau', PY: 'Paraguay', QA: 'Qatar', RE: 'Reunion', RO: 'Romania', RS: 'Serbia', RU: 'Russia', RW: 'Rwanda', SA: 'Saudi Arabia', SB: 'Solomon Islands', SC: 'Seychelles', SD: 'Sudan', SE: 'Sweden', SG: 'Singapore', SJ: 'Svalbard and Jan Mayen', SH: 'Saint Helena, Ascension and Tristan da Cunha', SI: 'Slovenia', SK: 'Slovakia', SL: 'Sierra Leone', SM: 'San Marino', SN: 'Senegal', SO: 'Somalia', SR: 'Suriname', ST: 'Sao Tome and Principe', SV: 'El Salvador', SX: 'Sint Maarten', SY: 'Syria', SZ: 'Eswatini', TC: 'Turks and Caicos Islands', TD: 'Chad', TF: 'French Southern and Antarctic Lands', TG: 'Togo', TH: 'Thailand', TJ: 'Tajikistan', TK: 'Tokelau', TL: 'Timor-Leste', TM: 'Turkmenistan', TN: 'Tunisia', TO: 'Tonga', TR: 'Turkey', TT: 'Trinidad and Tobago', TV: 'Tuvalu', TW: 'Taiwan', TZ: 'Tanzania', UA: 'Ukraine', UG: 'Uganda', UK: 'United Kingdom', UM: 'United States Minor Outlying Islands', US: 'United States', UY: 'Uruguay', UZ: 'Uzbekistan', VA: 'Vatican City', VC: 'Saint Vincent and the Grenadines', VE: 'Venezuela', VG: 'British Virgin Islands', VI: 'U.S. Virgin Islands', VN: 'Vietnam', VU: 'Vanuatu', WF: 'Wallis and Futuna', WS: 'Samoa', YE: 'Yemen', YT: 'Mayotte', ZA: 'South Africa', ZM: 'Zambia', ZW: 'Zimbabwe', }; // scraped from https://duckduckgo.com/settings#general // the list at https://duckduckgo.com/params is outdated E.duckduckgo_list = { 'wt-wt': 'All regions', 'ar-es': 'Argentina', 'au-en': 'Australia', 'at-de': 'Austria', 'be-fr': 'Belgium (fr)', 'be-nl': 'Belgium (nl)', 'br-pt': 'Brazil', 'bg-bg': 'Bulgaria', 'ca-en': 'Canada (en)', 'ca-fr': 'Canada (fr)', 'ct-ca': 'Catalonia', 'cl-es': 'Chile', 'cn-zh': 'China', 'co-es': 'Colombia', 'hr-hr': 'Croatia', 'cz-cs': 'Czech Republic', 'dk-da': 'Denmark', 'ee-et': 'Estonia', 'fi-fi': 'Finland', 'fr-fr': 'France', 'de-de': 'Germany', 'gr-el': 'Greece', 'hk-tzh': 'Hong Kong', 'hu-hu': 'Hungary', 'is-is': 'Iceland', 'in-en': 'India (en)', 'id-en': 'Indonesia (en)', 'ie-en': 'Ireland', 'il-en': 'Israel (en)', 'it-it': 'Italy', 'jp-jp': 'Japan', 'kr-kr': 'Korea', 'lv-lv': 'Latvia', 'lt-lt': 'Lithuania', 'my-en': 'Malaysia (en)', 'mx-es': 'Mexico', 'nl-nl': 'Netherlands', 'nz-en': 'New Zealand', 'no-no': 'Norway', 'pk-en': 'Pakistan (en)', 'pe-es': 'Peru', 'ph-en': 'Philippines (en)', 'pl-pl': 'Poland', 'pt-pt': 'Portugal', 'ro-ro': 'Romania', 'ru-ru': 'Russia', 'xa-ar': 'Saudi Arabia', 'sg-en': 'Singapore', 'sk-sk': 'Slovakia', 'sl-sl': 'Slovenia', 'za-en': 'South Africa', 'es-ca': 'Spain (ca)', 'es-es': 'Spain (es)', 'se-sv': 'Sweden', 'ch-de': 'Switzerland (de)', 'ch-fr': 'Switzerland (fr)', 'tw-tzh': 'Taiwan', 'th-en': 'Thailand (en)', 'tr-tr': 'Turkey', 'us-en': 'US (English)', 'us-es': 'US (Spanish)', 'ua-uk': 'Ukraine', 'uk-en': 'United Kingdom', 'vn-en': 'Vietnam (en)', }; // List of cc: https://www.bing.com/account/general#region-section // mkt: https://docs.microsoft.com/en-us/rest/api/cognitiveservices-bingsearch/bing-custom-search-api-v7-reference#market-codes // Generated from all language/country combinations accepted by Bing: // - select language on Settings page // - select country // - check if _EDGE_S cookie respects both choices in mkt field // Order per country matters: the first locale is used by Bing by default. E.bing_list = { 'prs-af': 'Afghanistan', 'sq-al': 'Albania', 'en-dz': 'Algeria - English', 'ar-dz': 'Algeria - Arabic', 'en-as': 'American Samoa', 'ca-ad': 'Andorra', 'en-ao': 'Angola - English', 'pt-ao': 'Angola - Portuguese', 'en-ai': 'Anguilla', 'en-ag': 'Antigua and Barbuda', 'es-ar': 'Argentina', 'hy-am': 'Armenia', 'en-aw': 'Aruba - English', 'nl-aw': 'Aruba - Dutch', 'en-au': 'Australia', 'de-at': 'Austria', 'en-az': 'Azerbaijan - English', 'az-latn-az': 'Azerbaijan - Azerbaijani', 'en-bs': 'Bahamas', 'en-bh': 'Bahrain - English', 'ar-bh': 'Bahrain - Arabic', 'en-bd': 'Bangladesh - English', 'bn-bd': 'Bangladesh - Bangla', 'en-bb': 'Barbados', 'ru-by': 'Belarus - Russian', 'be-by': 'Belarus - Belarusian', 'nl-be': 'Belgium - Dutch', 'fr-be': 'Belgium - French', 'en-bz': 'Belize', 'en-bj': 'Benin - English', 'fr-bj': 'Benin - French', 'en-bm': 'Bermuda', 'en-bt': 'Bhutan', 'es-bo': 'Bolivia', 'en-ba': 'Bosnia & Herzegovina - English', 'bs-latn-ba': 'Bosnia & Herzegovina - Bosnian', 'en-bw': 'Botswana - English', 'tn-bw': 'Botswana - Setswana', 'pt-br': 'Brazil', 'en-vg': 'British Virgin Islands', 'ms-bn': 'Brunei', 'bg-bg': 'Bulgaria', 'en-bf': 'Burkina Faso - English', 'fr-bf': 'Burkina Faso - French', 'en-bi': 'Burundi - English', 'fr-bi': 'Burundi - French', 'en-cv': 'Cabo Verde - English', 'pt-cv': 'Cabo Verde - Portuguese', 'km-kh': 'Cambodia', 'en-cm': 'Cameroon - English', 'fr-cm': 'Cameroon - French', 'en-ca': 'Canada - English', 'fr-ca': 'Canada - French', 'en-ky': 'Cayman Islands', 'en-cf': 'Central African Republic', 'en-td': 'Chad - English', 'ar-td': 'Chad - Arabic', 'es-cl': 'Chile', 'zh-cn': 'China - Chinese', 'ug-cn': 'China - Uyghur', 'en-cx': 'Christmas Island', 'en-cc': 'Cocos (Keeling) Islands', 'es-co': 'Colombia', 'ar-km': 'Comoros - Arabic', 'fr-km': 'Comoros - French', 'fr-cg': 'Congo', 'fr-cd': 'Congo (DRC)', 'en-ck': 'Cook Islands', 'es-cr': 'Costa Rica', 'hr-hr': 'Croatia', 'nl-cw': 'Curaçao', 'en-cy': 'Cyprus - English', 'el-cy': 'Cyprus - Greek', 'en-cz': 'Czechia - English', 'cs-cz': 'Czechia - Czech', 'fr-ci': 'Côte d’Ivoire', 'en-dk': 'Denmark - English', 'da-dk': 'Denmark - Danish', 'en-dj': 'Djibouti', 'en-dm': 'Dominica', 'es-do': 'Dominican Republic', 'es-ec': 'Ecuador', 'en-eg': 'Egypt - English', 'ar-eg': 'Egypt - Arabic', 'es-sv': 'El Salvador', 'en-gq': 'Equatorial Guinea - English', 'es-gq': 'Equatorial Guinea - Spanish', 'en-er': 'Eritrea - English', 'ti-er': 'Eritrea - Tigrinya', 'et-ee': 'Estonia', 'en-sz': 'Eswatini', 'am-et': 'Ethiopia', 'en-fk': 'Falkland Islands', 'fo-fo': 'Faroe Islands', 'en-fj': 'Fiji', 'en-fi': 'Finland - English', 'fi-fi': 'Finland - Finnish', 'fr-fr': 'France', 'fr-gf': 'French Guiana', 'fr-pf': 'French Polynesia', 'fr-ga': 'Gabon', 'en-gm': 'Gambia', 'ka-ge': 'Georgia', 'de-de': 'Germany', 'en-gh': 'Ghana', 'en-gi': 'Gibraltar', 'en-gr': 'Greece - English', 'el-gr': 'Greece - Greek', 'kl-gl': 'Greenland', 'en-gd': 'Grenada', 'fr-gp': 'Guadeloupe', 'en-gu': 'Guam', 'es-gt': 'Guatemala - Spanish', 'quc-gt': 'Guatemala - K\'iche\'', 'en-gg': 'Guernsey', 'en-gn': 'Guinea - English', 'fr-gn': 'Guinea - French', 'en-gw': 'Guinea-Bissau - English', 'pt-gw': 'Guinea-Bissau - Portuguese', 'en-gy': 'Guyana', 'fr-ht': 'Haiti', 'es-hn': 'Honduras', 'en-hk': 'Hong Kong SAR - English', 'zh-hk': 'Hong Kong SAR - Chinese', 'en-hu': 'Hungary - English', 'hu-hu': 'Hungary - Hungarian', 'is-is': 'Iceland', 'en-in': 'India - English', 'as-in': 'India - Assamese', 'gu-in': 'India - Gujarati', 'hi-in': 'India - Hindi', 'kn-in': 'India - Kannada', 'kok-in': 'India - Konkani', 'ml-in': 'India - Malayalam', 'mr-in': 'India - Marathi', 'or-in': 'India - Odia', 'ta-in': 'India - Tamil', 'te-in': 'India - Telugu', 'en-id': 'Indonesia - English', 'id-id': 'Indonesia - Indonesian', 'fa-ir': 'Iran', 'en-iq': 'Iraq - English', 'ar-iq': 'Iraq - Arabic', 'ku-arab-iq': 'Iraq - Central Kurdish', 'en-ie': 'Ireland - English', 'ga-ie': 'Ireland - Irish', 'en-il': 'Israel - English', 'he-il': 'Israel - Hebrew', 'it-it': 'Italy', 'en-jm': 'Jamaica', 'ja-jp': 'Japan', 'en-je': 'Jersey', 'en-jo': 'Jordan - English', 'ar-jo': 'Jordan - Arabic', 'kk-kz': 'Kazakhstan', 'sw-ke': 'Kenya', 'en-ki': 'Kiribati', 'ko-kr': 'Korea', 'en-kw': 'Kuwait - English', 'ar-kw': 'Kuwait - Arabic', 'ky-kg': 'Kyrgyzstan', 'en-la': 'Laos - English', 'lo-la': 'Laos - Lao', 'lv-lv': 'Latvia', 'en-lb': 'Lebanon - English', 'ar-lb': 'Lebanon - Arabic', 'en-ls': 'Lesotho', 'en-lr': 'Liberia', 'en-ly': 'Libya - English', 'ar-ly': 'Libya - Arabic', 'de-