PageSourceSearch

https://email.stsupery.com/assets/scripts/LandingPagesEmbedded1_2

js stsupery.com collected 2026-10-04 00:18:11 UTC 907,078 bytes, 17,115 lines download raw bytes

1/* intl-tel-input bundled */
2/*
3 * International Telephone Input v29.2.2
vendor: 1,146 bytes, lines 3-33
3
4 * git+https://github.com/jackocnr/intl-tel-input.git
5 * Licensed under the MIT license
6 */
7"use strict";
8var _factory = (() => {
9  var __defProp = Object.defineProperty;
10  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11  var __getOwnPropNames = Object.getOwnPropertyNames;
12  var __hasOwnProp = Object.prototype.hasOwnProperty;
13  var __export = (target, all) => {
14    for (var name in all)
15      __defProp(target, name, { get: all[name], enumerable: true });
16  };
17  var __copyProps = (to, from, except, desc) => {
18    if (from && typeof from === "object" || typeof from === "function") {
19      for (let key of __getOwnPropNames(from))
20        if (!__hasOwnProp.call(to, key) && key !== except)
21          __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
22    }
23    return to;
24  };
25  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
27  // packages/core/src/js/intlTelInputWithUtils.ts
28  var intlTelInputWithUtils_exports = {};
29  __export(intlTelInputWithUtils_exports, {
30    default: () => intlTelInputWithUtils_default
31  });
32
33  
vendor: 4,326 bytes, lines 33-347
33// packages/core/src/js/data.ts
34  var rawCountryData = [
35    [
36      "af",
37      // Afghanistan
38      "93",
39      0,
40      null,
41      "0"
42    ],
43    [
44      "ax",
45      // Åland Islands (AKA Aland Islands)
46      "358",
47      1,
48      ["18", "4", "50"],
49      // (4 and 50 are mobile ranges shared with FI)
50      // NOTE: https://en.wikipedia.org/wiki/Telephone%20numbers%20in%20%C3%85land says some 4XXX ranges (e.g. 4570) are specific to AX, but LPN doesn't respect this (https://libphonenumber.appspot.com/phonenumberparser?number=%2B3584570123456 says region=FI) so we won't either. Also it's too much of a maintenance burden to keep track of. Keep the 4 area code range here so that if the user selects AX and types this kind of number, we wont change the flag to FI. Whereas if they type a FI-only range then we will.
51      "0"
52    ],
53    [
54      "al",
55      // Albania
56      "355",
57      0,
58      null,
59      "0"
60    ],
61    [
62      "dz",
63      // Algeria
64      "213",
65      0,
66      null,
67      "0"
68    ],
69    [
70      "as",
71      // American Samoa
72      "1",
73      5,
74      ["684"],
75      "1"
76    ],
77    [
78      "ad",
79      // Andorra
80      "376"
81    ],
82    [
83      "ao",
84      // Angola
85      "244"
86    ],
87    [
88      "ai",
89      // Anguilla
90      "1",
91      6,
92      ["264"],
93      "1"
94    ],
95    [
96      "ag",
97      // Antigua and Barbuda
98      "1",
99      7,
100      ["268"],
101      "1"
102    ],
103    [
104      "ar",
105      // Argentina
106      "54",
107      0,
108      null,
109      "0"
110    ],
111    [
112      "am",
113      // Armenia
114      "374",
115      0,
116      null,
117      "0"
118    ],
119    [
120      "aw",
121      // Aruba
122      "297"
123    ],
124    [
125      "ac",
126      // Ascension Island
127      "247"
128    ],
129    [
130      "au",
131      // Australia
132      "61",
133      0,
134      ["4"],
135      // (mobile range shared with CX and CC)
136      "0"
137    ],
138    [
139      "at",
140      // Austria
141      "43",
142      0,
143      null,
144      "0"
145    ],
146    [
147      "az",
148      // Azerbaijan
149      "994",
150      0,
151      null,
152      "0"
153    ],
154    [
155      "bs",
156      // Bahamas
157      "1",
158      8,
159      ["242"],
160      "1"
161    ],
162    [
163      "bh",
164      // Bahrain
165      "973"
166    ],
167    [
168      "bd",
169      // Bangladesh
170      "880",
171      0,
172      null,
173      "0"
174    ],
175    [
176      "bb",
177      // Barbados
178      "1",
179      9,
180      ["246"],
181      "1"
182    ],
183    [
184      "by",
185      // Belarus
186      "375",
187      0,
188      null,
189      "8"
190    ],
191    [
192      "be",
193      // Belgium
194      "32",
195      0,
196      null,
197      "0"
198    ],
199    [
200      "bz",
201      // Belize
202      "501"
203    ],
204    [
205      "bj",
206      // Benin
207      "229"
208    ],
209    [
210      "bm",
211      // Bermuda
212      "1",
213      10,
214      ["441"],
215      "1"
216    ],
217    [
218      "bt",
219      // Bhutan
220      "975"
221    ],
222    [
223      "bo",
224      // Bolivia
225      "591",
226      0,
227      null,
228      "0"
229    ],
230    [
231      "ba",
232      // Bosnia and Herzegovina
233      "387",
234      0,
235      null,
236      "0"
237    ],
238    [
239      "bw",
240      // Botswana
241      "267"
242    ],
243    [
244      "br",
245      // Brazil
246      "55",
247      0,
248      null,
249      "0"
250    ],
251    [
252      "io",
253      // British Indian Ocean Territory
254      "246"
255    ],
256    [
257      "vg",
258      // British Virgin Islands
259      "1",
260      11,
261      ["284"],
262      "1"
263    ],
264    [
265      "bn",
266      // Brunei
267      "673"
268    ],
269    [
270      "bg",
271      // Bulgaria
272      "359",
273      0,
274      null,
275      "0"
276    ],
277    [
278      "bf",
279      // Burkina Faso
280      "226"
281    ],
282    [
283      "bi",
284      // Burundi
285      "257"
286    ],
287    [
288      "kh",
289      // Cambodia
290      "855",
291      0,
292      null,
293      "0"
294    ],
295    [
296      "cm",
297      // Cameroon
298      "237"
299    ],
300    [
301      "ca",
302      // Canada
303      "1",
304      1,
305      [
306        "204",
307        "226",
308        "236",
309        "249",
310        "250",
311        "257",
312        "263",
313        "289",
314        "306",
315        "343",
316        "354",
317        "365",
318        "367",
319        "368",
320        "382",
321        "403",
322        "416",
323        "418",
324        "428",
325        "431",
326        "437",
327        "438",
328        "450",
329        "468",
330        "474",
331        "506",
332        "514",
333        "519",
334        "548",
335        "579",
336        "581",
337        "584",
338        "587",
339        "604",
340        "613",
341        "639",
342        "647",
343        "672",
344        "683",
345        "705",
346        "709",
347        "742",
vendor: 15,023 bytes, lines 348-1634
348        "753",
349        "778",
350        "780",
351        "782",
352        "807",
353        "819",
354        "825",
355        "867",
356        "873",
357        "879",
358        "902",
359        "905",
360        "942"
361      ],
362      "1"
363    ],
364    [
365      "cv",
366      // Cape Verde
367      "238"
368    ],
369    [
370      "bq",
371      // Caribbean Netherlands
372      "599",
373      1,
374      ["3", "4", "7"]
375    ],
376    [
377      "ky",
378      // Cayman Islands
379      "1",
380      12,
381      ["345"],
382      "1"
383    ],
384    [
385      "cf",
386      // Central African Republic
387      "236"
388    ],
389    [
390      "td",
391      // Chad
392      "235"
393    ],
394    [
395      "cl",
396      // Chile
397      "56"
398    ],
399    [
400      "cn",
401      // China
402      "86",
403      0,
404      null,
405      "0"
406    ],
407    [
408      "cx",
409      // Christmas Island
410      "61",
411      2,
412      ["4", "89164"],
413      // (4 is a mobile range shared with AU and CC)
414      "0"
415    ],
416    [
417      "cc",
418      // Cocos (Keeling) Islands
419      "61",
420      1,
421      ["4", "89162"],
422      // (4 is a mobile range shared with AU and CX)
423      "0"
424    ],
425    [
426      "co",
427      // Colombia
428      "57",
429      0,
430      null,
431      "0"
432    ],
433    [
434      "km",
435      // Comoros
436      "269"
437    ],
438    [
439      "cg",
440      // Congo (Brazzaville)
441      "242"
442    ],
443    [
444      "cd",
445      // Congo (Kinshasa)
446      "243",
447      0,
448      null,
449      "0"
450    ],
451    [
452      "ck",
453      // Cook Islands
454      "682"
455    ],
456    [
457      "cr",
458      // Costa Rica
459      "506"
460    ],
461    [
462      "ci",
463      // Côte d'Ivoire
464      "225"
465    ],
466    [
467      "hr",
468      // Croatia
469      "385",
470      0,
471      null,
472      "0"
473    ],
474    [
475      "cu",
476      // Cuba
477      "53",
478      0,
479      null,
480      "0"
481    ],
482    [
483      "cw",
484      // Curaçao
485      "599",
486      0
487    ],
488    [
489      "cy",
490      // Cyprus
491      "357"
492    ],
493    [
494      "cz",
495      // Czech Republic
496      "420"
497    ],
498    [
499      "dk",
500      // Denmark
501      "45"
502    ],
503    [
504      "dj",
505      // Djibouti
506      "253"
507    ],
508    [
509      "dm",
510      // Dominica
511      "1",
512      13,
513      ["767"],
514      "1"
515    ],
516    [
517      "do",
518      // Dominican Republic
519      "1",
520      2,
521      ["809", "829", "849"],
522      "1"
523    ],
524    [
525      "ec",
526      // Ecuador
527      "593",
528      0,
529      null,
530      "0"
531    ],
532    [
533      "eg",
534      // Egypt
535      "20",
536      0,
537      null,
538      "0"
539    ],
540    [
541      "sv",
542      // El Salvador
543      "503"
544    ],
545    [
546      "gq",
547      // Equatorial Guinea
548      "240"
549    ],
550    [
551      "er",
552      // Eritrea
553      "291",
554      0,
555      null,
556      "0"
557    ],
558    [
559      "ee",
560      // Estonia
561      "372"
562    ],
563    [
564      "sz",
565      // Eswatini
566      "268"
567    ],
568    [
569      "et",
570      // Ethiopia
571      "251",
572      0,
573      null,
574      "0"
575    ],
576    [
577      "fk",
578      // Falkland Islands (Malvinas)
579      "500"
580    ],
581    [
582      "fo",
583      // Faroe Islands
584      "298"
585    ],
586    [
587      "fj",
588      // Fiji
589      "679"
590    ],
591    [
592      "fi",
593      // Finland
594      "358",
595      0,
596      ["4", "50"],
597      // (mobile ranges shared with AX)
598      "0"
599    ],
600    [
601      "fr",
602      // France
603      "33",
604      0,
605      null,
606      "0"
607    ],
608    [
609      "gf",
610      // French Guiana
611      "594",
612      0,
613      null,
614      "0"
615    ],
616    [
617      "pf",
618      // French Polynesia
619      "689"
620    ],
621    [
622      "ga",
623      // Gabon
624      "241"
625    ],
626    [
627      "gm",
628      // Gambia
629      "220"
630    ],
631    [
632      "ge",
633      // Georgia
634      "995",
635      0,
636      null,
637      "0"
638    ],
639    [
640      "de",
641      // Germany
642      "49",
643      0,
644      null,
645      "0"
646    ],
647    [
648      "gh",
649      // Ghana
650      "233",
651      0,
652      null,
653      "0"
654    ],
655    [
656      "gi",
657      // Gibraltar
658      "350"
659    ],
660    [
661      "gr",
662      // Greece
663      "30"
664    ],
665    [
666      "gl",
667      // Greenland
668      "299"
669    ],
670    [
671      "gd",
672      // Grenada
673      "1",
674      14,
675      ["473"],
676      "1"
677    ],
678    [
679      "gp",
680      // Guadeloupe
681      "590",
682      0,
683      null,
684      "0"
685    ],
686    [
687      "gu",
688      // Guam
689      "1",
690      15,
691      ["671"],
692      "1"
693    ],
694    [
695      "gt",
696      // Guatemala
697      "502"
698    ],
699    [
700      "gg",
701      // Guernsey
702      "44",
703      1,
704      //* Only 79111 and 79117 belong to GG - the rest of 7911 is GB (e.g. 79110).
705      ["1481", "7781", "7839", "79111", "79117"],
706      "0"
707    ],
708    [
709      "gn",
710      // Guinea
711      "224"
712    ],
713    [
714      "gw",
715      // Guinea-Bissau
716      "245"
717    ],
718    [
719      "gy",
720      // Guyana
721      "592"
722    ],
723    [
724      "ht",
725      // Haiti
726      "509"
727    ],
728    [
729      "hn",
730      // Honduras
731      "504"
732    ],
733    [
734      "hk",
735      // Hong Kong SAR China
736      "852"
737    ],
738    [
739      "hu",
740      // Hungary
741      "36",
742      0,
743      null,
744      "06"
745    ],
746    [
747      "is",
748      // Iceland
749      "354"
750    ],
751    [
752      "in",
753      // India
754      "91",
755      0,
756      null,
757      "0"
758    ],
759    [
760      "id",
761      // Indonesia
762      "62",
763      0,
764      null,
765      "0"
766    ],
767    [
768      "ir",
769      // Iran
770      "98",
771      0,
772      null,
773      "0"
774    ],
775    [
776      "iq",
777      // Iraq
778      "964",
779      0,
780      null,
781      "0"
782    ],
783    [
784      "ie",
785      // Ireland
786      "353",
787      0,
788      null,
789      "0"
790    ],
791    [
792      "im",
793      // Isle of Man
794      "44",
795      2,
796      ["1624", "74576", "7524", "7624", "7924"],
797      "0"
798    ],
799    [
800      "il",
801      // Israel
802      "972",
803      0,
804      null,
805      "0"
806    ],
807    [
808      "it",
809      // Italy
810      "39",
811      0,
812      ["3"]
813      // (mobile range shared with VA)
814    ],
815    [
816      "jm",
817      // Jamaica
818      "1",
819      4,
820      ["658", "876"],
821      "1"
822    ],
823    [
824      "jp",
825      // Japan
826      "81",
827      0,
828      null,
829      "0"
830    ],
831    [
832      "je",
833      // Jersey
834      "44",
835      3,
836      //* Only 77003/77007/77008 belong to JE - the rest of 7700 is GB (e.g. 77001).
837      ["1534", "7509", "77003", "77007", "77008", "7797", "7829", "7937"],
838      "0"
839    ],
840    [
841      "jo",
842      // Jordan
843      "962",
844      0,
845      null,
846      "0"
847    ],
848    [
849      "kz",
850      // Kazakhstan
851      "7",
852      1,
853      ["33", "7"],
854      // (33 is shared with RU)
855      "8"
856    ],
857    [
858      "ke",
859      // Kenya
860      "254",
861      0,
862      null,
863      "0"
864    ],
865    [
866      "ki",
867      // Kiribati
868      "686",
869      0,
870      null,
871      "0"
872    ],
873    [
874      "xk",
875      // Kosovo
876      "383",
877      0,
878      null,
879      "0"
880    ],
881    [
882      "kw",
883      // Kuwait
884      "965"
885    ],
886    [
887      "kg",
888      // Kyrgyzstan
889      "996",
890      0,
891      null,
892      "0"
893    ],
894    [
895      "la",
896      // Laos
897      "856",
898      0,
899      null,
900      "0"
901    ],
902    [
903      "lv",
904      // Latvia
905      "371"
906    ],
907    [
908      "lb",
909      // Lebanon
910      "961",
911      0,
912      null,
913      "0"
914    ],
915    [
916      "ls",
917      // Lesotho
918      "266"
919    ],
920    [
921      "lr",
922      // Liberia
923      "231",
924      0,
925      null,
926      "0"
927    ],
928    [
929      "ly",
930      // Libya
931      "218",
932      0,
933      null,
934      "0"
935    ],
936    [
937      "li",
938      // Liechtenstein
939      "423",
940      0,
941      null,
942      "0"
943    ],
944    [
945      "lt",
946      // Lithuania
947      "370",
948      0,
949      null,
950      "0"
951    ],
952    [
953      "lu",
954      // Luxembourg
955      "352"
956    ],
957    [
958      "mo",
959      // Macao SAR China
960      "853"
961    ],
962    [
963      "mg",
964      // Madagascar
965      "261",
966      0,
967      null,
968      "0"
969    ],
970    [
971      "mw",
972      // Malawi
973      "265",
974      0,
975      null,
976      "0"
977    ],
978    [
979      "my",
980      // Malaysia
981      "60",
982      0,
983      null,
984      "0"
985    ],
986    [
987      "mv",
988      // Maldives
989      "960"
990    ],
991    [
992      "ml",
993      // Mali
994      "223"
995    ],
996    [
997      "mt",
998      // Malta
999      "356"
1000    ],
1001    [
1002      "mh",
1003      // Marshall Islands
1004      "692",
1005      0,
1006      null,
1007      "1"
1008    ],
1009    [
1010      "mq",
1011      // Martinique
1012      "596",
1013      0,
1014      null,
1015      "0"
1016    ],
1017    [
1018      "mr",
1019      // Mauritania
1020      "222"
1021    ],
1022    [
1023      "mu",
1024      // Mauritius
1025      "230"
1026    ],
1027    [
1028      "yt",
1029      // Mayotte
1030      "262",
1031      1,
1032      ["2689", "269", "639", "7093"],
1033      "0"
1034    ],
1035    [
1036      "mx",
1037      // Mexico
1038      "52"
1039    ],
1040    [
1041      "fm",
1042      // Micronesia
1043      "691"
1044    ],
1045    [
1046      "md",
1047      // Moldova
1048      "373",
1049      0,
1050      null,
1051      "0"
1052    ],
1053    [
1054      "mc",
1055      // Monaco
1056      "377",
1057      0,
1058      null,
1059      "0"
1060    ],
1061    [
1062      "mn",
1063      // Mongolia
1064      "976",
1065      0,
1066      null,
1067      "0"
1068    ],
1069    [
1070      "me",
1071      // Montenegro
1072      "382",
1073      0,
1074      null,
1075      "0"
1076    ],
1077    [
1078      "ms",
1079      // Montserrat
1080      "1",
1081      16,
1082      ["664"],
1083      "1"
1084    ],
1085    [
1086      "ma",
1087      // Morocco
1088      "212",
1089      0,
1090      ["6", "7"],
1091      // (mobile ranges shared with EH)
1092      "0"
1093    ],
1094    [
1095      "mz",
1096      // Mozambique
1097      "258"
1098    ],
1099    [
1100      "mm",
1101      // Myanmar (Burma)
1102      "95",
1103      0,
1104      null,
1105      "0"
1106    ],
1107    [
1108      "na",
1109      // Namibia
1110      "264",
1111      0,
1112      null,
1113      "0"
1114    ],
1115    [
1116      "nr",
1117      // Nauru
1118      "674"
1119    ],
1120    [
1121      "np",
1122      // Nepal
1123      "977",
1124      0,
1125      null,
1126      "0"
1127    ],
1128    [
1129      "nl",
1130      // Netherlands
1131      "31",
1132      0,
1133      null,
1134      "0"
1135    ],
1136    [
1137      "nc",
1138      // New Caledonia
1139      "687"
1140    ],
1141    [
1142      "nz",
1143      // New Zealand
1144      "64",
1145      0,
1146      null,
1147      "0"
1148    ],
1149    [
1150      "ni",
1151      // Nicaragua
1152      "505"
1153    ],
1154    [
1155      "ne",
1156      // Niger
1157      "227"
1158    ],
1159    [
1160      "ng",
1161      // Nigeria
1162      "234",
1163      0,
1164      null,
1165      "0"
1166    ],
1167    [
1168      "nu",
1169      // Niue
1170      "683"
1171    ],
1172    [
1173      "nf",
1174      // Norfolk Island
1175      "672"
1176    ],
1177    [
1178      "kp",
1179      // North Korea
1180      "850",
1181      0,
1182      null,
1183      "0"
1184    ],
1185    [
1186      "mk",
1187      // North Macedonia
1188      "389",
1189      0,
1190      null,
1191      "0"
1192    ],
1193    [
1194      "mp",
1195      // Northern Mariana Islands
1196      "1",
1197      17,
1198      ["670"],
1199      "1"
1200    ],
1201    [
1202      "no",
1203      // Norway
1204      "47",
1205      0,
1206      ["4", "9"]
1207      // (mobile ranges shared with SJ)
1208    ],
1209    [
1210      "om",
1211      // Oman
1212      "968"
1213    ],
1214    [
1215      "pk",
1216      // Pakistan
1217      "92",
1218      0,
1219      null,
1220      "0"
1221    ],
1222    [
1223      "pw",
1224      // Palau
1225      "680"
1226    ],
1227    [
1228      "ps",
1229      // Palestinian Territories
1230      "970",
1231      0,
1232      null,
1233      "0"
1234    ],
1235    [
1236      "pa",
1237      // Panama
1238      "507"
1239    ],
1240    [
1241      "pg",
1242      // Papua New Guinea
1243      "675"
1244    ],
1245    [
1246      "py",
1247      // Paraguay
1248      "595",
1249      0,
1250      null,
1251      "0"
1252    ],
1253    [
1254      "pe",
1255      // Peru
1256      "51",
1257      0,
1258      null,
1259      "0"
1260    ],
1261    [
1262      "ph",
1263      // Philippines
1264      "63",
1265      0,
1266      null,
1267      "0"
1268    ],
1269    [
1270      "pl",
1271      // Poland
1272      "48"
1273    ],
1274    [
1275      "pt",
1276      // Portugal
1277      "351"
1278    ],
1279    [
1280      "pr",
1281      // Puerto Rico
1282      "1",
1283      3,
1284      ["787", "939"],
1285      "1"
1286    ],
1287    [
1288      "qa",
1289      // Qatar
1290      "974"
1291    ],
1292    [
1293      "re",
1294      // Réunion
1295      "262",
1296      0,
1297      null,
1298      "0"
1299    ],
1300    [
1301      "ro",
1302      // Romania
1303      "40",
1304      0,
1305      null,
1306      "0"
1307    ],
1308    [
1309      "ru",
1310      // Russia
1311      "7",
1312      0,
1313      ["33"],
1314      // (shared with KZ)
1315      "8"
1316    ],
1317    [
1318      "rw",
1319      // Rwanda
1320      "250",
1321      0,
1322      null,
1323      "0"
1324    ],
1325    [
1326      "ws",
1327      // Samoa
1328      "685"
1329    ],
1330    [
1331      "sm",
1332      // San Marino
1333      "378"
1334    ],
1335    [
1336      "st",
1337      // São Tomé & Príncipe
1338      "239"
1339    ],
1340    [
1341      "sa",
1342      // Saudi Arabia
1343      "966",
1344      0,
1345      null,
1346      "0"
1347    ],
1348    [
1349      "sn",
1350      // Senegal
1351      "221"
1352    ],
1353    [
1354      "rs",
1355      // Serbia
1356      "381",
1357      0,
1358      null,
1359      "0"
1360    ],
1361    [
1362      "sc",
1363      // Seychelles
1364      "248"
1365    ],
1366    [
1367      "sl",
1368      // Sierra Leone
1369      "232",
1370      0,
1371      null,
1372      "0"
1373    ],
1374    [
1375      "sg",
1376      // Singapore
1377      "65"
1378    ],
1379    [
1380      "sx",
1381      // Sint Maarten
1382      "1",
1383      21,
1384      ["721"],
1385      "1"
1386    ],
1387    [
1388      "sk",
1389      // Slovakia
1390      "421",
1391      0,
1392      null,
1393      "0"
1394    ],
1395    [
1396      "si",
1397      // Slovenia
1398      "386",
1399      0,
1400      null,
1401      "0"
1402    ],
1403    [
1404      "sb",
1405      // Solomon Islands
1406      "677"
1407    ],
1408    [
1409      "so",
1410      // Somalia
1411      "252",
1412      0,
1413      null,
1414      "0"
1415    ],
1416    [
1417      "za",
1418      // South Africa
1419      "27",
1420      0,
1421      null,
1422      "0"
1423    ],
1424    [
1425      "kr",
1426      // South Korea
1427      "82",
1428      0,
1429      null,
1430      "0"
1431    ],
1432    [
1433      "ss",
1434      // South Sudan
1435      "211",
1436      0,
1437      null,
1438      "0"
1439    ],
1440    [
1441      "es",
1442      // Spain
1443      "34"
1444    ],
1445    [
1446      "lk",
1447      // Sri Lanka
1448      "94",
1449      0,
1450      null,
1451      "0"
1452    ],
1453    [
1454      "bl",
1455      // St. Barthélemy
1456      "590",
1457      1,
1458      null,
1459      "0"
1460    ],
1461    [
1462      "sh",
1463      // St. Helena
1464      "290"
1465    ],
1466    [
1467      "kn",
1468      // St. Kitts & Nevis
1469      "1",
1470      18,
1471      ["869"],
1472      "1"
1473    ],
1474    [
1475      "lc",
1476      // St. Lucia
1477      "1",
1478      19,
1479      ["758"],
1480      "1"
1481    ],
1482    [
1483      "mf",
1484      // St. Martin
1485      "590",
1486      2,
1487      null,
1488      "0"
1489    ],
1490    [
1491      "pm",
1492      // St. Pierre & Miquelon
1493      "508",
1494      0,
1495      null,
1496      "0"
1497    ],
1498    [
1499      "vc",
1500      // St. Vincent & Grenadines
1501      "1",
1502      20,
1503      ["784"],
1504      "1"
1505    ],
1506    [
1507      "sd",
1508      // Sudan
1509      "249",
1510      0,
1511      null,
1512      "0"
1513    ],
1514    [
1515      "sr",
1516      // Suriname
1517      "597"
1518    ],
1519    [
1520      "sj",
1521      // Svalbard & Jan Mayen
1522      "47",
1523      1,
1524      ["4", "79", "9"]
1525      // (4 and 9 are mobile ranges shared with NO)
1526    ],
1527    [
1528      "se",
1529      // Sweden
1530      "46",
1531      0,
1532      null,
1533      "0"
1534    ],
1535    [
1536      "ch",
1537      // Switzerland
1538      "41",
1539      0,
1540      null,
1541      "0"
1542    ],
1543    [
1544      "sy",
1545      // Syria
1546      "963",
1547      0,
1548      null,
1549      "0"
1550    ],
1551    [
1552      "tw",
1553      // Taiwan
1554      "886",
1555      0,
1556      null,
1557      "0"
1558    ],
1559    [
1560      "tj",
1561      // Tajikistan
1562      "992"
1563    ],
1564    [
1565      "tz",
1566      // Tanzania
1567      "255",
1568      0,
1569      null,
1570      "0"
1571    ],
1572    [
1573      "th",
1574      // Thailand
1575      "66",
1576      0,
1577      null,
1578      "0"
1579    ],
1580    [
1581      "tl",
1582      // Timor-Leste
1583      "670"
1584    ],
1585    [
1586      "tg",
1587      // Togo
1588      "228"
1589    ],
1590    [
1591      "tk",
1592      // Tokelau
1593      "690"
1594    ],
1595    [
1596      "to",
1597      // Tonga
1598      "676"
1599    ],
1600    [
1601      "tt",
1602      // Trinidad & Tobago
1603      "1",
1604      22,
1605      ["868"],
1606      "1"
1607    ],
1608    [
1609      "tn",
1610      // Tunisia
1611      "216"
1612    ],
1613    [
1614      "tr",
1615      // Turkey
1616      "90",
1617      0,
1618      null,
1619      "0"
1620    ],
1621    [
1622      "tm",
1623      // Turkmenistan
1624      "993",
1625      0,
1626      null,
1627      "8"
1628    ],
1629    [
1630      "tc",
1631      // Turks & Caicos Islands
1632      "1",
1633      23,
1634      ["649"],
vendor: 6,750 bytes, lines 1635-1961
1635      "1"
1636    ],
1637    [
1638      "tv",
1639      // Tuvalu
1640      "688"
1641    ],
1642    [
1643      "vi",
1644      // U.S. Virgin Islands
1645      "1",
1646      24,
1647      ["340"],
1648      "1"
1649    ],
1650    [
1651      "ug",
1652      // Uganda
1653      "256",
1654      0,
1655      null,
1656      "0"
1657    ],
1658    [
1659      "ua",
1660      // Ukraine
1661      "380",
1662      0,
1663      null,
1664      "0"
1665    ],
1666    [
1667      "ae",
1668      // United Arab Emirates
1669      "971",
1670      0,
1671      null,
1672      "0"
1673    ],
1674    [
1675      "gb",
1676      // United Kingdom
1677      "44",
1678      0,
1679      null,
1680      "0"
1681    ],
1682    [
1683      "us",
1684      // United States
1685      "1",
1686      0,
1687      null,
1688      "1"
1689    ],
1690    [
1691      "uy",
1692      // Uruguay
1693      "598",
1694      0,
1695      null,
1696      "0"
1697    ],
1698    [
1699      "uz",
1700      // Uzbekistan
1701      "998"
1702    ],
1703    [
1704      "vu",
1705      // Vanuatu
1706      "678"
1707    ],
1708    [
1709      "va",
1710      // Vatican City
1711      "39",
1712      1,
1713      ["06698", "3"]
1714      // (3 is a mobile range shared with IT)
1715    ],
1716    [
1717      "ve",
1718      // Venezuela
1719      "58",
1720      0,
1721      null,
1722      "0"
1723    ],
1724    [
1725      "vn",
1726      // Vietnam
1727      "84",
1728      0,
1729      null,
1730      "0"
1731    ],
1732    [
1733      "wf",
1734      // Wallis & Futuna
1735      "681"
1736    ],
1737    [
1738      "eh",
1739      // Western Sahara
1740      "212",
1741      1,
1742      ["5288", "5289", "6", "7"],
1743      // (6 and 7 are mobile ranges shared with MA)
1744      "0"
1745    ],
1746    [
1747      "ye",
1748      // Yemen
1749      "967",
1750      0,
1751      null,
1752      "0"
1753    ],
1754    [
1755      "zm",
1756      // Zambia
1757      "260",
1758      0,
1759      null,
1760      "0"
1761    ],
1762    [
1763      "zw",
1764      // Zimbabwe
1765      "263",
1766      0,
1767      null,
1768      "0"
1769    ]
1770  ];
1771  var allCountries = [];
1772  for (const c of rawCountryData) {
1773    allCountries.push({
1774      name: "",
1775      // populated in the core library
1776      iso2: c[0],
1777      dialCode: c[1],
1778      priority: c[2] || 0,
1779      areaCodes: c[3] || null,
1780      nationalPrefix: c[4] || null
1781    });
1782  }
1783  var iso2Set = new Set(allCountries.map((c) => c.iso2));
1784  var isIso2 = (val) => iso2Set.has(val);
1785  var data_default = allCountries;
1786
1787  // packages/core/src/js/constants.ts
1788  var EVENTS = {
1789    OPEN_COUNTRY_SELECTOR: "open:countryselector",
1790    CLOSE_COUNTRY_SELECTOR: "close:countryselector",
1791    COUNTRY_CHANGE: "countrychange",
1792    INPUT: "input",
1793    // used for synthetic input trigger
1794    STRICT_REJECT: "strict:reject"
1795  };
1796  var ITI_SLOTS = [
1797    "container",
1798    "input",
1799    "countryContainer",
1800    "selectedCountry",
1801    "selectedCountryPrimary",
1802    "selectedFlag",
1803    "arrow",
1804    "selectedDialCode",
1805    "countrySelector",
1806    "countrySelectorContainer",
1807    "searchWrapper",
1808    "searchIcon",
1809    "searchInput",
1810    "searchClear",
1811    "countryList",
1812    "countryListItem",
1813    "countryListItemFlag",
1814    "countryName",
1815    "dialCode",
1816    "countryCheck",
1817    "noResults"
1818  ];
1819  var CLASSES = {
1820    HIDE: "iti__hide",
1821    V_HIDE: "iti__v-hide",
1822    ARROW_UP: "iti__arrow--up",
1823    GLOBE: "iti__globe",
1824    FLAG: "iti__flag",
1825    LOADING: "iti__loading",
1826    COUNTRY_ITEM: "iti__country",
1827    HIGHLIGHT: "iti__highlight",
1828    STRICT_REJECT_ANIMATION: "iti__strict-reject-animation"
1829  };
1830  var KEYS = {
1831    ARROW_UP: "ArrowUp",
1832    ARROW_DOWN: "ArrowDown",
1833    SPACE: " ",
1834    ENTER: "Enter",
1835    ESC: "Escape",
1836    TAB: "Tab"
1837  };
1838  var INPUT_TYPES = {
1839    PASTE: "insertFromPaste",
1840    DELETE_FORWARD: "deleteContentForward"
1841  };
1842  var REGEX = {
1843    ALPHA_UNICODE: /\p{L}/u,
1844    // any kind of letter from any language
1845    NON_PLUS_NUMERIC: /[^+0-9]/,
1846    // chars that are NOT + or digit
1847    NON_PLUS_NUMERIC_GLOBAL: /[^+0-9]/g,
1848    // chars that are NOT + or digit (global)
1849    HIDDEN_SEARCH_CHAR: /^[a-zA-ZÀ-ÿа-яА-Я ]$/
1850    // single acceptable hidden-search char
1851  };
1852  var TIMINGS = {
1853    SEARCH_DEBOUNCE_MS: 100,
1854    HIDDEN_SEARCH_RESET_MS: 1e3,
1855    NEXT_TICK: 0
1856  };
1857  var LAYOUT = {
1858    NARROW_VIEWPORT_WIDTH: 500,
1859    // keep in sync with .iti__country-list CSS media query
1860    FALLBACK_SELECTED_COUNTRY_WITH_DIAL_WIDTH: 78,
1861    // px width fallback when separateDialCode enabled
1862    FALLBACK_SELECTED_COUNTRY_NO_DIAL_WIDTH: 42,
1863    // px width fallback when no separate dial code
1864    INPUT_PADDING_EXTRA_LEFT: 6,
1865    // px gap between selected country container and input text
1866    DROPDOWN_MARGIN: 3,
1867    // px margin between dropdown and tel input
1868    FALLBACK_DROPDOWN_HEIGHT: 200
1869    // px height fallback for dropdown
1870  };
1871  var DIAL_CODE = {
1872    PLUS: "+",
1873    NANP: "1"
1874    // North American Numbering Plan
1875  };
1876  var E164_MAX_DIGITS = 15;
1877  var UK = {
1878    ISO2: "gb",
1879    DIAL_CODE: "44",
1880    // +44 United Kingdom
1881    MOBILE_PREFIX: "7",
1882    // UK mobile numbers start with 7 after national trunk (0) or core section
1883    MOBILE_CORE_LENGTH: 10
1884    // core number length (excluding dial code / national prefix) for mobiles
1885  };
1886  var US = {
1887    ISO2: "us",
1888    DIAL_CODE: "1"
1889    // +1 United States
1890  };
1891  var PLACEHOLDER_POLICY = {
1892    AGGRESSIVE: "AGGRESSIVE",
1893    POLITE: "POLITE",
1894    OFF: "OFF"
1895  };
1896  var COUNTRY_SELECTOR_MODES = [
1897    "OFF",
1898    "DROPDOWN",
1899    "FULLSCREEN",
1900    "AUTO"
1901  ];
1902  var NUMBER_FORMATS = [
1903    "E164",
1904    "INTERNATIONAL",
1905    "NATIONAL",
1906    "RFC3966"
1907  ];
1908  var NUMBER_TYPES = [
1909    "FIXED_LINE",
1910    "MOBILE",
1911    "FIXED_LINE_OR_MOBILE",
1912    "TOLL_FREE",
1913    "PREMIUM_RATE",
1914    "SHARED_COST",
1915    "VOIP",
1916    "PERSONAL_NUMBER",
1917    "PAGER",
1918    "UAN",
1919    "VOICEMAIL",
1920    "UNKNOWN"
1921  ];
1922  var VALIDATION_ERRORS = [
1923    "IS_POSSIBLE",
1924    "INVALID_COUNTRY_CODE",
1925    "TOO_SHORT",
1926    "TOO_LONG",
1927    "IS_POSSIBLE_LOCAL_ONLY",
1928    "INVALID_LENGTH"
1929  ];
1930  var toEnumObject = (arr) => Object.fromEntries(arr.map((v) => [v, v]));
1931  var NUMBER_FORMAT = toEnumObject(NUMBER_FORMATS);
1932  var NUMBER_TYPE = toEnumObject(NUMBER_TYPES);
1933  var VALIDATION_ERROR = toEnumObject(VALIDATION_ERRORS);
1934  var COUNTRY_SELECTOR_MODE = toEnumObject(COUNTRY_SELECTOR_MODES);
1935  var DATA_KEYS = {
1936    // e.g. <li data-iso2="us"> for country items in the country list
1937    ISO2: "iso2",
1938    DIAL_CODE: "dialCode",
1939    // e.g. <input data-intl-tel-input-id="0"> on the input element
1940    INSTANCE_ID: "intlTelInputId"
1941  };
1942  var ARIA = {
1943    EXPANDED: "aria-expanded",
1944    LABEL: "aria-label",
1945    SELECTED: "aria-selected",
1946    ACTIVE_DESCENDANT: "aria-activedescendant",
1947    HASPOPUP: "aria-haspopup",
1948    CONTROLS: "aria-controls",
1949    HIDDEN: "aria-hidden",
1950    AUTOCOMPLETE: "aria-autocomplete",
1951    MODAL: "aria-modal"
1952  };
1953
1954  // packages/core/src/js/locale/en.ts
1955  var interfaceTranslations = {
1956    selectedCountryAriaLabel: "Change country for phone number, currently selected ${countryName} (${dialCode})",
1957    noCountrySelected: "Select country for phone number",
1958    countryListAriaLabel: "List of countries",
1959    searchPlaceholder: "Search",
1960    clearSearchAriaLabel: "Clear search",
1961    
1961searchEmptyState: "No results found",
1962    searchSummaryAria(count) {
1963      if (count === 0) {
1964        return "No results found";
1965      }
1966      if (count === 1) {
1967        return "1 result found";
1968      }
1969      return `${count} results found`;
1970    }
1971  };
1972  var en_default = interfaceTranslations;
1973
1974  
vendor: 2,493 bytes, lines 1974-2019
1974// packages/core/src/js/core/options.ts
1975  var mediaQuery = (q) => typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia(q).matches;
1976  var isNarrowViewport = () => mediaQuery(`(max-width: ${LAYOUT.NARROW_VIEWPORT_WIDTH}px)`);
1977  var resolveAutoCountrySelectorMode = () => {
1978    if (typeof navigator !== "undefined" && typeof window !== "undefined") {
1979      const isShortViewport = mediaQuery("(max-height: 600px)");
1980      const isCoarsePointer = mediaQuery("(pointer: coarse)");
1981      if (isNarrowViewport() || isCoarsePointer && isShortViewport) {
1982        return COUNTRY_SELECTOR_MODE.FULLSCREEN;
1983      }
1984    }
1985    return COUNTRY_SELECTOR_MODE.DROPDOWN;
1986  };
1987  var defaults = {
1988    //* How the country selector is displayed. "DROPDOWN" vs "FULLSCREEN", or "AUTO" to decide itself, or "OFF".
1989    countrySelectorMode: COUNTRY_SELECTOR_MODE.AUTO,
1990    //* The number type to enforce during validation.
1991    allowedNumberTypes: [NUMBER_TYPE.MOBILE, NUMBER_TYPE.FIXED_LINE],
1992    //* Whether or not to allow extensions after the main number.
1993    allowNumberExtensions: false,
1994    // Allow alphanumeric "phonewords" (e.g. +1 800 FLOWERS) as valid numbers
1995    allowPhonewords: false,
1996    //* Add custom classes to the elements we generate, keyed by slot name e.g. { selectedCountry: "rounded-l-lg" }.
1997    classNames: {},
1998    //* Add a custom class to the (injected) container element.
1999    containerClass: "",
2000    //* Locale for localising country names via Intl.DisplayNames.
2001    countryNameLocale: "en",
2002    //* Override individual country names by iso2 code.
2003    countryNameOverrides: {},
2004    //* The order of the countries in the country list. Defaults to alphabetical.
2005    countryOrder: null,
2006    //* Add a country search input at the top of the country selector.
2007    countrySearch: true,
2008    //* Modify the auto placeholder.
2009    customPlaceholder: null,
2010    //* Always show the dropdown
2011    dropdownAlwaysOpen: false,
2012    //* Optional DOM element to append the dropdown to (used to escape ancestors with overflow:hidden, or to mount in a custom container). Only consulted in dropdown rendering; ignored when the country selector renders as a fullscreen popup.
2013    dropdownParent: null,
2014    //* Don't display these countries.
2015    excludeCountries: null,
2016    //* Fix the dropdown width to the input width (rather than being as wide as the longest country name).
2017    matchDropdownWidth: true,
2018    //* Format the number as the user types
2019    formatAsYouType: true
vendor: 7,035 bytes, lines 2019-2203
2019,
2020    //* Inject hidden inputs with the names returned from this function, and on submit, populate them with the full number and selected country iso2.
2021    hiddenInputs: null,
2022    //* Translations for the core library UI strings e.g. search input placeholder, country names.
2023    uiTranslations: {},
2024    //* Initial country.
2025    initialCountry: "",
2026    //* Async lookup function used to determine the initial country (e.g. via IP). Ignored if initialCountry is set.
2027    initialCountryLookup: null,
2028    //* A function to load the utils script.
2029    loadUtils: null,
2030    //* Format used when displaying numbers (placeholder examples and stored values). One of "E164", "INTERNATIONAL", "NATIONAL".
2031    numberDisplayFormat: NUMBER_FORMAT.INTERNATIONAL,
2032    //* Display only these countries.
2033    onlyCountries: null,
2034    //* When to set the placeholder to an example number for the selected country: "POLITE" only when the input has no manually-set placeholder, "AGGRESSIVE" always, "OFF" never.
2035    placeholderNumberPolicy: PLACEHOLDER_POLICY.POLITE,
2036    //* Number type to use for placeholders.
2037    placeholderNumberType: NUMBER_TYPE.MOBILE,
2038    //* Add custom classes to the search input element.
2039    searchInputClass: "",
2040    //* Display the international dial code next to the selected flag.
2041    separateDialCode: true,
2042    //* When strictMode rejects a key (etc), play a short feedback animation
2043    strictRejectAnimation: true,
2044    //* Show flags - for both the selected country, and in the country list
2045    showFlags: true,
2046    //* Only allow certain chars e.g. a plus followed by numeric digits, and cap at max valid length.
2047    strictMode: true
2048  };
2049  var toString = (val) => JSON.stringify(val);
2050  var isPlainObject = (val) => Boolean(val) && typeof val === "object" && !Array.isArray(val);
2051  var isFunction = (val) => typeof val === "function";
2052  var isElLike = (val) => {
2053    if (!val || typeof val !== "object") {
2054      return false;
2055    }
2056    const v = val;
2057    return v.nodeType === 1 && typeof v.tagName === "string" && typeof v.appendChild === "function";
2058  };
2059  var placeholderPolicySet = new Set(Object.values(PLACEHOLDER_POLICY));
2060  var slotSet = new Set(ITI_SLOTS);
2061  var warn = (message) => {
2062    console.warn(`[intl-tel-input] ${message}`);
2063  };
2064  var warnOption = (optionName, expectedType, actualValue) => {
2065    warn(
2066      `Option '${optionName}' must be ${expectedType}; got ${toString(actualValue)}. Ignoring.`
2067    );
2068  };
2069  var validateIso2Array = (key, value) => {
2070    const expectedType = "an array of iso2 country code strings";
2071    if (!Array.isArray(value)) {
2072      warnOption(key, expectedType, value);
2073      return false;
2074    }
2075    const valid = [];
2076    for (const v of value) {
2077      if (typeof v !== "string") {
2078        warnOption(key, expectedType, value);
2079        return false;
2080      }
2081      const lower = v.toLowerCase();
2082      if (!isIso2(lower)) {
2083        warn(`Invalid iso2 code in '${key}': '${v}'. Skipping.`);
2084      } else {
2085        valid.push(v);
2086      }
2087    }
2088    return valid;
2089  };
2090  var validateOptions = (customOptions) => {
2091    if (customOptions === void 0) {
2092      return {};
2093    }
2094    if (!isPlainObject(customOptions)) {
2095      const error = `The second argument must be an options object; got ${toString(customOptions)}. Using defaults.`;
2096      warn(error);
2097      return {};
2098    }
2099    const validatedOptions = {};
2100    for (const [key, value] of Object.entries(customOptions)) {
2101      if (!Object.hasOwn(defaults, key)) {
2102        warn(`Unknown option '${key}'. Ignoring.`);
2103        continue;
2104      }
2105      switch (key) {
2106        case "allowNumberExtensions":
2107        case "allowPhonewords":
2108        case "countrySearch":
2109        case "dropdownAlwaysOpen":
2110        case "matchDropdownWidth":
2111        case "formatAsYouType":
2112        case "showFlags":
2113        case "separateDialCode":
2114        case "strictMode":
2115        case "strictRejectAnimation":
2116          if (typeof value !== "boolean") {
2117            warnOption(key, "a boolean", value);
2118            break;
2119          }
2120          validatedOptions[key] = value;
2121          break;
2122        case "countrySelectorMode":
2123          if (typeof value !== "string" || !COUNTRY_SELECTOR_MODES.includes(value)) {
2124            warnOption(
2125              "countrySelectorMode",
2126              `one of ${COUNTRY_SELECTOR_MODES.map((m) => `"${m}"`).join(", ")}`,
2127              value
2128            );
2129            break;
2130          }
2131          validatedOptions[key] = value;
2132          break;
2133        case "numberDisplayFormat":
2134          if (typeof value !== "string" || value === NUMBER_FORMAT.RFC3966 || !(value === NUMBER_FORMAT.E164 || value === NUMBER_FORMAT.INTERNATIONAL || value === NUMBER_FORMAT.NATIONAL)) {
2135            warnOption(
2136              "numberDisplayFormat",
2137              'one of "E164", "INTERNATIONAL", "NATIONAL"',
2138              value
2139            );
2140            break;
2141          }
2142          validatedOptions[key] = value;
2143          break;
2144        case "placeholderNumberPolicy":
2145          if (typeof value !== "string" || !placeholderPolicySet.has(value)) {
2146            const validPolicies = Array.from(placeholderPolicySet).join(", ");
2147            warnOption("placeholderNumberPolicy", `one of ${validPolicies}`, value);
2148            break;
2149          }
2150          validatedOptions[key] = value;
2151          break;
2152        case "containerClass":
2153        case "searchInputClass":
2154        case "countryNameLocale":
2155          if (typeof value !== "string") {
2156            warnOption(key, "a string", value);
2157            break;
2158          }
2159          validatedOptions[key] = value;
2160          break;
2161        case "classNames": {
2162          if (!isPlainObject(value)) {
2163            warnOption("classNames", "an object", value);
2164            break;
2165          }
2166          const validSlots = {};
2167          for (const [slot, slotValue] of Object.entries(value)) {
2168            if (!slotSet.has(slot)) {
2169              warn(
2170                `Unknown slot '${slot}' in 'classNames'. Valid slots: ${ITI_SLOTS.join(", ")}. Skipping.`
2171              );
2172            } else if (typeof slotValue !== "string") {
2173              warnOption(`classNames.${slot}`, "a string", slotValue);
2174            } else {
2175              validSlots[slot] = slotValue.trim().replace(/\s+/g, " ");
2176            }
2177          }
2178          validatedOptions[key] = validSlots;
2179          break;
2180        }
2181        case "countryOrder": {
2182          if (value === null) {
2183            validatedOptions[key] = value;
2184          } else {
2185            const filtered = validateIso2Array(key, value);
2186            if (filtered !== false) {
2187              validatedOptions[key] = filtered;
2188            }
2189          }
2190          break;
2191        }
2192        case "customPlaceholder":
2193        case "hiddenInputs":
2194        case "initialCountryLookup":
2195        case "loadUtils":
2196          if (value !== null && !isFunction(value)) {
2197            warnOption(key, "a function or null", value);
2198            break;
2199          }
2200          validatedOptions[key] = value;
2201          break;
2202        case "dropdownParent":
2203        
2203  if (value !== null && !isElLike(value)) {
2204            warnOption("dropdownParent"
vendor: 13,915 bytes, lines 2204-2556
2204, "an HTMLElement or null", value);
2205            break;
2206          }
2207          validatedOptions[key] = value;
2208          break;
2209        case "excludeCountries":
2210        case "onlyCountries": {
2211          if (value === null) {
2212            validatedOptions[key] = value;
2213          } else {
2214            const filtered = validateIso2Array(key, value);
2215            if (filtered !== false) {
2216              validatedOptions[key] = filtered;
2217            }
2218          }
2219          break;
2220        }
2221        case "uiTranslations":
2222          if (value && !isPlainObject(value)) {
2223            warnOption("uiTranslations", "an object", value);
2224            break;
2225          }
2226          validatedOptions[key] = value;
2227          break;
2228        case "countryNameOverrides":
2229          if (value && !isPlainObject(value)) {
2230            warnOption("countryNameOverrides", "an object", value);
2231            break;
2232          }
2233          validatedOptions[key] = value;
2234          break;
2235        case "initialCountry": {
2236          if (typeof value !== "string") {
2237            warnOption("initialCountry", "a string", value);
2238            break;
2239          }
2240          const lower = value.toLowerCase();
2241          if (lower && !isIso2(lower)) {
2242            warnOption("initialCountry", "a valid iso2 country code", value);
2243            break;
2244          }
2245          validatedOptions[key] = value;
2246          break;
2247        }
2248        case "placeholderNumberType":
2249          if (typeof value !== "string" || !NUMBER_TYPES.includes(value)) {
2250            const validTypes = NUMBER_TYPES.join(", ");
2251            warnOption("placeholderNumberType", `one of ${validTypes}`, value);
2252            break;
2253          }
2254          validatedOptions[key] = value;
2255          break;
2256        case "allowedNumberTypes":
2257          if (value !== null) {
2258            if (!Array.isArray(value)) {
2259              warnOption(
2260                "allowedNumberTypes",
2261                "an array of number types or null",
2262                value
2263              );
2264              break;
2265            }
2266            let allValid = true;
2267            for (const v of value) {
2268              if (typeof v !== "string" || !NUMBER_TYPES.includes(v)) {
2269                const validTypes = NUMBER_TYPES.join(", ");
2270                warnOption(
2271                  "allowedNumberTypes",
2272                  `an array of valid number types (${validTypes})`,
2273                  v
2274                );
2275                allValid = false;
2276                break;
2277              }
2278            }
2279            if (allValid) {
2280              validatedOptions[key] = value;
2281            }
2282          } else {
2283            validatedOptions[key] = null;
2284          }
2285          break;
2286      }
2287    }
2288    return validatedOptions;
2289  };
2290  var normaliseOptions = (o) => {
2291    if (o.initialCountry) {
2292      o.initialCountry = o.initialCountry.toLowerCase();
2293    }
2294    if (o.onlyCountries?.length) {
2295      o.onlyCountries = o.onlyCountries.map((c) => c.toLowerCase());
2296    }
2297    if (o.excludeCountries?.length) {
2298      o.excludeCountries = o.excludeCountries.map((c) => c.toLowerCase());
2299    }
2300    if (o.countryOrder) {
2301      o.countryOrder = o.countryOrder.map((c) => c.toLowerCase());
2302    }
2303  };
2304  var applyOptionSideEffects = (o) => {
2305    if (o.countrySelectorMode === COUNTRY_SELECTOR_MODE.AUTO) {
2306      o.countrySelectorMode = resolveAutoCountrySelectorMode();
2307    }
2308    if (o.dropdownAlwaysOpen) {
2309      o.countrySelectorMode = COUNTRY_SELECTOR_MODE.DROPDOWN;
2310    }
2311    if (o.countrySelectorMode === COUNTRY_SELECTOR_MODE.FULLSCREEN) {
2312      o.matchDropdownWidth = false;
2313    } else {
2314      if (isNarrowViewport()) {
2315        o.matchDropdownWidth = true;
2316      }
2317    }
2318    if (o.onlyCountries?.length === 1) {
2319      o.initialCountry = o.onlyCountries[0];
2320    }
2321    if (o.separateDialCode && o.numberDisplayFormat === NUMBER_FORMAT.NATIONAL) {
2322      o.numberDisplayFormat = NUMBER_FORMAT.INTERNATIONAL;
2323    }
2324    if (o.countrySelectorMode !== COUNTRY_SELECTOR_MODE.OFF && !o.showFlags && !o.separateDialCode && o.numberDisplayFormat === NUMBER_FORMAT.NATIONAL) {
2325      o.numberDisplayFormat = NUMBER_FORMAT.INTERNATIONAL;
2326    }
2327    o.uiTranslations = { ...en_default, ...o.uiTranslations };
2328  };
2329
2330  // packages/core/src/js/helpers/string.ts
2331  var getNumeric = (s) => s.replace(/\D/g, "");
2332  var normaliseString = (s = "") => s.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase();
2333
2334  // packages/core/src/js/helpers/dom.ts
2335  var buildClassNames = (flags) => Object.keys(flags).filter((k) => Boolean(flags[k])).join(" ");
2336  var createEl = (tagName, attrs, container) => {
2337    const el = document.createElement(tagName);
2338    if (attrs) {
2339      Object.entries(attrs).forEach(
2340        ([key, value]) => el.setAttribute(key, value)
2341      );
2342    }
2343    if (container) {
2344      container.appendChild(el);
2345    }
2346    return el;
2347  };
2348
2349  // packages/core/src/js/core/icons.ts
2350  var SVG_NS = "http://www.w3.org/2000/svg";
2351  var buildSvg = ([tag, attrs, children]) => {
2352    const el = document.createElementNS(SVG_NS, tag);
2353    if (attrs) {
2354      for (const k in attrs) {
2355        el.setAttribute(k, String(attrs[k]));
2356      }
2357    }
2358    if (children) {
2359      for (const c of children) {
2360        el.appendChild(buildSvg(c));
2361      }
2362    }
2363    return el;
2364  };
2365  var buildSearchIcon = () => buildSvg(
2366    ["svg", { class: "iti__search-icon-svg", width: 14, height: 14, viewBox: "0 0 24 24", focusable: "false", [ARIA.HIDDEN]: "true" }, [
2367      ["circle", { cx: 11, cy: 11, r: 7 }],
2368      ["line", { x1: 21, y1: 21, x2: 16.65, y2: 16.65 }]
2369    ]]
2370  );
2371  var buildClearIcon = (id) => {
2372    const maskId = `iti-${id}-clear-mask`;
2373    return buildSvg(
2374      ["svg", { class: "iti__search-clear-svg", width: 12, height: 12, viewBox: "0 0 16 16", [ARIA.HIDDEN]: "true", focusable: "false" }, [
2375        ["mask", { id: maskId, maskUnits: "userSpaceOnUse" }, [
2376          ["rect", { width: 16, height: 16, fill: "white" }],
2377          ["path", { d: "M5.2 5.2 L10.8 10.8 M10.8 5.2 L5.2 10.8", stroke: "black", "stroke-linecap": "round", class: "iti__search-clear-x" }]
2378        ]],
2379        ["circle", { cx: 8, cy: 8, r: 8, class: "iti__search-clear-bg", mask: `url(#${maskId})` }]
2380      ]]
2381    );
2382  };
2383  var buildCheckIcon = () => buildSvg(
2384    ["svg", { class: "iti__country-check-svg", width: 14, height: 14, viewBox: "0 0 16 16", fill: "currentColor", focusable: "false", [ARIA.HIDDEN]: "true" }, [
2385      ["path", { d: "M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z" }]
2386    ]]
2387  );
2388  var buildGlobeIcon = () => buildSvg(
2389    ["svg", { width: 256, height: 256, viewBox: "0 0 512 512", class: "iti__globe-svg" }, [
2390      ["path", { d: "M508 213a240 240 0 0 0-449-87l-2 5-2 5c-8 14-13 30-17 46a65 65 0 0 1 56 4c16-10 35-19 56-27l9-3c-6 23-10 48-10 74h-16l4 6c3 4 5 8 6 13h6c0 22 3 44 8 65l2 10-25-10-4 5 12 18 9 3 6 2 8 3 9 26 1 2 16-7h1l-5-13-1-2c24 6 49 9 75 10v26l11 10 7 7v-30l1-13c22 0 44-3 65-8l10-2-21 48-1 1a317 317 0 0 1-14 23l-21 5h-2c6 16 7 33 1 50a240 240 0 0 0 211-265m-401-56-11 6c19-44 54-79 98-98-11 20-21 44-29 69-21 6-40 15-58 23m154 182v4c-29-1-57-6-81-13-7-25-12-52-13-81h94zm0-109h-94c1-29 6-56 13-81 24-7 52-12 81-13zm0-112c-22 1-44 4-65 8l-10 2 12-30 9-17 1-2a332 332 0 0 1 13-23c13-4 26-6 40-7zm187 69 6 4c4 12 6 25 6 38v1h-68c-1-26-4-51-10-74l48 20 1 1 14 8zm-14-44 10 20c-20-11-43-21-68-29-8-25-18-49-29-69 37 16 67 44 87 78M279 49h1c13 1 27 3 39 7l14 23 1 2a343 343 0 0 1 12 26l2 5 6 16c-23-6-48-9-74-10h-1zm0 87h1c29 1 56 6 81 13 7 24 12 51 12 80v1h-94zm2 207h-2v-94h95c-1 29-6 56-13 81-24 7-51 12-80 13m86 60-20 10c11-20 21-43 29-68 25-8 48-18 68-29-16 37-43 67-77 87m87-115-7 5-16 9-2 1a337 337 0 0 1-47 21c6-24 9-49 10-75h68c0 13-2 27-6 39" }],
2391      ["path", { d: "m261 428-2-2-22-21a40 40 0 0 0-32-11h-1a37 37 0 0 0-18 8l-1 1-4 2-2 2-5 4c-9-3-36-31-47-44s-32-45-34-55l3-2a151 151 0 0 0 11-9v-1a39 39 0 0 0 5-48l-3-3-11-19-3-4-5-7h-1l-3-3-4-3-5-2a35 35 0 0 0-16-3h-5c-4 1-14 5-24 11l-4 2-4 3-4 2c-9 8-17 17-18 27a380 380 0 0 0 212 259h3c12 0 25-10 36-21l10-12 6-11a39 39 0 0 0-8-40" }]
2392    ]]
2393  );
2394
2395  // packages/core/src/js/core/countrySearch.ts
2396  var normaliseName = (s) => normaliseString(s).replace(/[^\p{L}]+/gu, " ").trim();
2397  var buildSearchTokens = (countries) => {
2398    const tokens = /* @__PURE__ */ new Map();
2399    for (const c of countries) {
2400      const normalisedName = normaliseName(c.name);
2401      const words = normalisedName.split(" ").filter(Boolean);
2402      const initials = words.map((w) => w[0] || "").join("");
2403      tokens.set(c.iso2, {
2404        normalisedName,
2405        words,
2406        initials,
2407        dialCodePlus: `+${c.dialCode}`
2408      });
2409    }
2410    return tokens;
2411  };
2412  var getMatchedCountries = (countries, searchTokens, query) => {
2413    const lowerQuery = normaliseString(query);
2414    const nameQuery = normaliseName(query);
2415    const skipNameBuckets = lowerQuery !== "" && nameQuery === "";
2416    const iso2Matches = [];
2417    const nameStartsWith = [];
2418    const nameContains = [];
2419    const dialCodeMatches = [];
2420    const dialCodeContains = [];
2421    const initialsMatches = [];
2422    const wordMatches = [];
2423    for (const c of countries) {
2424      const t = searchTokens.get(c.iso2);
2425      if (c.iso2 === lowerQuery) {
2426        iso2Matches.push(c);
2427      } else if (!skipNameBuckets && t.normalisedName.startsWith(nameQuery)) {
2428        nameStartsWith.push(c);
2429      } else if (!skipNameBuckets && t.normalisedName.includes(nameQuery)) {
2430        nameContains.push(c);
2431      } else if (lowerQuery === c.dialCode || lowerQuery === t.dialCodePlus) {
2432        dialCodeMatches.push(c);
2433      } else if (t.dialCodePlus.includes(lowerQuery)) {
2434        dialCodeContains.push(c);
2435      } else if (t.initials.includes(lowerQuery)) {
2436        initialsMatches.push(c);
2437      }
2438    }
2439    const queryWords = nameQuery.split(" ").filter(Boolean);
2440    if (queryWords.length > 1 && iso2Matches.length === 0 && nameStartsWith.length === 0 && nameContains.length === 0) {
2441      const claimed = /* @__PURE__ */ new Set([
2442        ...dialCodeMatches.map((c) => c.iso2),
2443        ...dialCodeContains.map((c) => c.iso2),
2444        ...initialsMatches.map((c) => c.iso2)
2445      ]);
2446      for (const c of countries) {
2447        if (claimed.has(c.iso2)) {
2448          continue;
2449        }
2450        const t = searchTokens.get(c.iso2);
2451        if (queryWords.some((qw) => t.words.some((sw) => sw.startsWith(qw)))) {
2452          wordMatches.push(c);
2453        }
2454      }
2455    }
2456    const sortByPriority = (a, b) => a.priority - b.priority;
2457    return [
2458      ...iso2Matches,
2459      ...nameStartsWith,
2460      ...nameContains,
2461      // priority sort is only relevant when showing multiple countries with the same dial code (that's what the priority field is used to distinguish between)
2462      ...dialCodeMatches.sort(sortByPriority),
2463      ...dialCodeContains.sort(sortByPriority),
2464      ...initialsMatches,
2465      ...wordMatches
2466    ];
2467  };
2468  var findFirstCountryStartingWith = (countries, searchTokens, query) => {
2469    const nameQuery = normaliseName(query);
2470    for (const c of countries) {
2471      const { normalisedName } = searchTokens.get(c.iso2);
2472      if (normalisedName.startsWith(nameQuery)) {
2473        return c;
2474      }
2475    }
2476    return null;
2477  };
2478
2479  // packages/core/src/js/core/numerals.ts
2480  var Numerals = class _Numerals {
2481    #userNumeralSet;
2482    //* Stateless conversion of any Arabic-Indic / Persian digits to ASCII 0-9.
2483    //* Use this when you need to normalise digits without affecting any instance's tracked numeral set (e.g. for the country-search query).
2484    static toAscii(str) {
2485      if (!str) {
2486        return "";
2487      }
2488      return str.replace(
2489        /[Ù -Ù©]/g,
2490        (ch) => String.fromCharCode(48 + (ch.charCodeAt(0) - 1632))
2491      ).replace(
2492        /[Û°-Û¹]/g,
2493        (ch) => String.fromCharCode(48 + (ch.charCodeAt(0) - 1776))
2494      );
2495    }
2496    constructor(initialValue) {
2497      if (initialValue) {
2498        this.#updateNumeralSet(initialValue);
2499      }
2500    }
2501    // If any Arabic-Indic digits, then label it as that set. Same for Persian. Otherwise assume ASCII.
2502    #updateNumeralSet(str) {
2503      if (/[Ù -Ù©]/.test(str)) {
2504        this.#userNumeralSet = "arabic-indic";
2505      } else if (/[Û°-Û¹]/.test(str)) {
2506        this.#userNumeralSet = "persian";
2507      } else {
2508        this.#userNumeralSet = "ascii";
2509      }
2510    }
2511    // Denormalise ASCII 0-9 to the user's numeral set. If not yet known, return as-is.
2512    // NOTE: normalise is always called before this, so it should be impossible for the numeral set to be unknown at this point.
2513    denormalise(str) {
2514      if (!this.#userNumeralSet || this.#userNumeralSet === "ascii") {
2515        return str;
2516      }
2517      const base = this.#userNumeralSet === "arabic-indic" ? 1632 : 1776;
2518      return str.replace(/[0-9]/g, (d) => String.fromCharCode(base + Number(d)));
2519    }
2520    // Normalize Eastern Arabic (U+0660-0669) and Persian/Extended Arabic-Indic (U+06F0-06F9) numerals to ASCII 0-9.
2521    // Tracks the user's numeral set as a side effect so denormalise can mirror it back.
2522    normalise(str) {
2523      if (!str) {
2524        return "";
2525      }
2526      this.#updateNumeralSet(str);
2527      if (this.#userNumeralSet === "ascii") {
2528        return str;
2529      }
2530      return _Numerals.toAscii(str);
2531    }
2532    isAscii() {
2533      return !this.#userNumeralSet || this.#userNumeralSet === "ascii";
2534    }
2535  };
2536
2537  // packages/core/src/js/core/ui.ts
2538  var supportsCssAnchor = typeof CSS !== "undefined" && typeof CSS.supports === "function" && CSS.supports("anchor-name: --x");
2539  var UI = class {
2540    // private
2541    #options;
2542    #id;
2543    #isRTL;
2544    #originalPaddingLeft = "";
2545    #countries;
2546    #searchTokens;
2547    #searchDebounceTimer = null;
2548    #inlineDropdownHeight;
2549    #cssAnchorPositioningDone = false;
2550    #countryContainerEl;
2551    #selectedCountryEl;
2552    #selectedFlagEl;
2553    #selectedDialCodeEl;
2554    #arrowEl;
2555    #countrySelectorEl;
2556    #
vendor: 39,243 bytes, lines 2556-3509
2556searchIconEl;
2557    #searchInputEl;
2558    #searchClearButtonEl;
2559    #countryListEl;
2560    #hiddenInputPhoneEl;
2561    #hiddenInputCountryEl;
2562    #noResultsMessageEl;
2563    #searchResultsLiveRegionEl;
2564    #detachedCountrySelectorEl;
2565    #selectedListItemEl = null;
2566    #highlightedListItemEl = null;
2567    #listItemByIso2 = /* @__PURE__ */ new Map();
2568    #countrySelectorAbortController = null;
2569    #resizeObserver;
2570    // public
2571    telInputEl;
2572    hadInitialPlaceholder;
2573    constructor(input, options, id) {
2574      input.dataset[DATA_KEYS.INSTANCE_ID] = id.toString();
2575      this.telInputEl = input;
2576      this.#options = options;
2577      this.#id = id;
2578      this.hadInitialPlaceholder = Boolean(input.getAttribute("placeholder"));
2579      this.#isRTL = !!this.telInputEl.closest("[dir=rtl]");
2580      this.#originalPaddingLeft = this.telInputEl.style.paddingLeft;
2581    }
2582    // Validate that the provided element is an HTMLInputElement.
2583    static validateInput(input) {
2584      const tagName = input?.tagName;
2585      const isInputEl = Boolean(input) && typeof input === "object" && tagName === "INPUT" && typeof input.setAttribute === "function";
2586      if (!isInputEl) {
2587        const type = Object.prototype.toString.call(input);
2588        throw new TypeError(
2589          `The first argument must be an HTMLInputElement, not ${type}`
2590        );
2591      }
2592    }
2593    //* Append any consumer-supplied classes (via the classNames option) for the given slot to our own classes for that element.
2594    #withSlotClass(slot, ourClasses) {
2595      const custom = this.#options.classNames[slot];
2596      return custom ? `${ourClasses} ${custom}` : ourClasses;
2597    }
2598    //* Generate all of the markup for the core library: the selected country overlay, and the country selector.
2599    buildMarkup(countries, searchTokens) {
2600      this.#countries = countries;
2601      this.#searchTokens = searchTokens;
2602      this.telInputEl.classList.add(
2603        ...this.#withSlotClass("input", "iti__tel-input").split(" ")
2604      );
2605      if (!this.telInputEl.hasAttribute("type")) {
2606        this.telInputEl.setAttribute("type", "tel");
2607      }
2608      if (!this.telInputEl.hasAttribute("autocomplete")) {
2609        this.telInputEl.setAttribute("autocomplete", "tel");
2610      }
2611      if (!this.telInputEl.hasAttribute("inputmode")) {
2612        this.telInputEl.setAttribute("inputmode", "tel");
2613      }
2614      const wrapper = this.#createWrapperAndInsert();
2615      this.#buildCountryContainer(wrapper);
2616      wrapper.appendChild(this.telInputEl);
2617      this.#updateInputPaddingAndReveal();
2618      this.#observeSelectedCountryResize();
2619      this.#buildHiddenInputs(wrapper);
2620      this.ensureDropdownWidthSet();
2621    }
2622    #createWrapperAndInsert() {
2623      const { countrySelectorMode, showFlags, containerClass } = this.#options;
2624      const parentClasses = buildClassNames({
2625        iti: true,
2626        "iti--input-container": true,
2627        "iti--has-country-selector": countrySelectorMode !== COUNTRY_SELECTOR_MODE.OFF,
2628        "iti--show-flags": showFlags,
2629        "iti--inline-country-selector": countrySelectorMode !== COUNTRY_SELECTOR_MODE.FULLSCREEN,
2630        [containerClass]: Boolean(containerClass)
2631      });
2632      const wrapper = createEl("div", {
2633        class: this.#withSlotClass("container", parentClasses)
2634      });
2635      if (this.#isRTL) {
2636        wrapper.setAttribute("dir", "ltr");
2637      }
2638      this.telInputEl.before(wrapper);
2639      return wrapper;
2640    }
2641    #buildCountryContainer(wrapper) {
2642      const { countrySelectorMode, separateDialCode, showFlags } = this.#options;
2643      const enableCountrySelector = countrySelectorMode !== COUNTRY_SELECTOR_MODE.OFF;
2644      if (!enableCountrySelector && !showFlags && !separateDialCode) {
2645        return;
2646      }
2647      this.#countryContainerEl = createEl(
2648        "div",
2649        // visibly hidden until we measure its width to set the input padding correctly
2650        {
2651          class: this.#withSlotClass(
2652            "countryContainer",
2653            `iti__country-container ${CLASSES.V_HIDE}`
2654          )
2655        },
2656        wrapper
2657      );
2658      if (enableCountrySelector) {
2659        this.#selectedCountryEl = createEl(
2660          "button",
2661          {
2662            type: "button",
2663            class: this.#withSlotClass("selectedCountry", "iti__selected-country"),
2664            [ARIA.EXPANDED]: "false",
2665            [ARIA.LABEL]: this.#options.uiTranslations.noCountrySelected,
2666            [ARIA.HASPOPUP]: "dialog",
2667            [ARIA.CONTROLS]: `iti-${this.#id}__country-selector`
2668          },
2669          this.#countryContainerEl
2670        );
2671        if (this.telInputEl.disabled) {
2672          this.#selectedCountryEl.setAttribute("disabled", "true");
2673        }
2674      } else {
2675        this.#selectedCountryEl = createEl(
2676          "div",
2677          { class: this.#withSlotClass("selectedCountry", "iti__selected-country") },
2678          this.#countryContainerEl
2679        );
2680      }
2681      const selectedCountryPrimary = createEl(
2682        "div",
2683        {
2684          class: this.#withSlotClass(
2685            "selectedCountryPrimary",
2686            "iti__selected-country-primary"
2687          )
2688        },
2689        this.#selectedCountryEl
2690      );
2691      this.#selectedFlagEl = createEl(
2692        "div",
2693        { class: this.#withSlotClass("selectedFlag", CLASSES.FLAG) },
2694        selectedCountryPrimary
2695      );
2696      if (enableCountrySelector) {
2697        this.#arrowEl = createEl(
2698          "div",
2699          {
2700            class: this.#withSlotClass("arrow", "iti__arrow"),
2701            [ARIA.HIDDEN]: "true"
2702          },
2703          selectedCountryPrimary
2704        );
2705      }
2706      if (separateDialCode) {
2707        this.#selectedDialCodeEl = createEl(
2708          "div",
2709          {
2710            class: this.#withSlotClass(
2711              "selectedDialCode",
2712              "iti__selected-dial-code"
2713            )
2714          },
2715          this.#selectedCountryEl
2716        );
2717      }
2718      if (enableCountrySelector) {
2719        this.#buildCountrySelector();
2720      }
2721    }
2722    ensureDropdownWidthSet() {
2723      const { matchDropdownWidth, countrySelectorMode } = this.#options;
2724      if (countrySelectorMode === COUNTRY_SELECTOR_MODE.OFF || !matchDropdownWidth || this.#countrySelectorEl.style.width) {
2725        return;
2726      }
2727      const inputWidth = this.telInputEl.offsetWidth;
2728      if (inputWidth > 0) {
2729        this.#countrySelectorEl.style.width = `${inputWidth}px`;
2730      }
2731    }
2732    #buildCountrySelector() {
2733      const {
2734        matchDropdownWidth,
2735        countrySelectorMode,
2736        countrySearch,
2737        uiTranslations,
2738        containerClass
2739      } = this.#options;
2740      const isFullscreen = countrySelectorMode === COUNTRY_SELECTOR_MODE.FULLSCREEN;
2741      const detachedParent = this.#getDetachedParent();
2742      const extraClasses = matchDropdownWidth ? "" : "iti--flexible-dropdown-width";
2743      this.#countrySelectorEl = createEl("div", {
2744        id: `iti-${this.#id}__country-selector`,
2745        class: this.#withSlotClass(
2746          "countrySelector",
2747          `iti__country-selector ${CLASSES.HIDE} ${extraClasses}`
2748        ),
2749        role: "dialog",
2750        [ARIA.MODAL]: "true"
2751      });
2752      if (this.#isRTL) {
2753        this.#countrySelectorEl.setAttribute("dir", "rtl");
2754      }
2755      if (countrySearch) {
2756        this.#buildSearchUI();
2757      }
2758      this.#countryListEl = createEl(
2759        "ul",
2760        {
2761          class: this.#withSlotClass("countryList", "iti__country-list"),
2762          id: `iti-${this.#id}__country-listbox`,
2763          role: "listbox",
2764          [ARIA.LABEL]: uiTranslations.countryListAriaLabel
2765        },
2766        this.#countrySelectorEl
2767      );
2768      this.#appendListItems();
2769      if (countrySearch) {
2770        this.#updateSearchResultsA11yText();
2771      }
2772      if (detachedParent) {
2773        const wrapperClasses = buildClassNames({
2774          iti: true,
2775          "iti--detached-country-selector": true,
2776          "iti--fullscreen-popup": isFullscreen,
2777          "iti--inline-country-selector": !isFullscreen,
2778          [containerClass]: Boolean(containerClass)
2779        });
2780        this.#detachedCountrySelectorEl = createEl("div", {
2781          class: this.#withSlotClass("countrySelectorContainer", wrapperClasses)
2782        });
2783        this.#detachedCountrySelectorEl.appendChild(this.#countrySelectorEl);
2784      } else {
2785        this.#countryContainerEl.appendChild(this.#countrySelectorEl);
2786      }
2787    }
2788    //* Resolve the DOM element to attach the country selector to. Fullscreen always uses document.body; dropdown uses the consumer-supplied dropdownParent (if any); otherwise the country selector renders inline within the input wrapper (no detached element).
2789    #getDetachedParent() {
2790      const { countrySelectorMode, dropdownParent } = this.#options;
2791      if (countrySelectorMode === COUNTRY_SELECTOR_MODE.FULLSCREEN) {
2792        return document.body;
2793      }
2794      if (countrySelectorMode === COUNTRY_SELECTOR_MODE.DROPDOWN) {
2795        return dropdownParent;
2796      }
2797      return null;
2798    }
2799    #buildSearchUI() {
2800      const { uiTranslations, searchInputClass } = this.#options;
2801      const searchWrapper = createEl(
2802        "div",
2803        { class: this.#withSlotClass("searchWrapper", "iti__search-input-wrapper") },
2804        this.#countrySelectorEl
2805      );
2806      this.#searchIconEl = createEl(
2807        "span",
2808        {
2809          class: this.#withSlotClass("searchIcon", "iti__search-icon"),
2810          [ARIA.HIDDEN]: "true"
2811        },
2812        searchWrapper
2813      );
2814      this.#searchIconEl.appendChild(buildSearchIcon());
2815      this.#searchInputEl = createEl(
2816        "input",
2817        {
2818          id: `iti-${this.#id}__search-input`,
2819          // Chrome says inputs need either a name or an id
2820          type: "search",
2821          class: this.#withSlotClass(
2822            "searchInput",
2823            `iti__search-input ${searchInputClass}`
2824          ),
2825          placeholder: uiTranslations.searchPlaceholder,
2826          // role=combobox + aria-autocomplete=list + aria-activedescendant allows maintaining focus on the search input while allowing users to navigate search results with up/down keyboard keys
2827          role: "combobox",
2828          [ARIA.EXPANDED]: "true",
2829          [ARIA.LABEL]: uiTranslations.searchPlaceholder,
2830          [ARIA.CONTROLS]: `iti-${this.#id}__country-listbox`,
2831          [ARIA.AUTOCOMPLETE]: "list",
2832          autocomplete: "off"
2833        },
2834        searchWrapper
2835      );
2836      this.#searchClearButtonEl = createEl(
2837        "button",
2838        {
2839          type: "button",
2840          class: this.#withSlotClass(
2841            "searchClear",
2842            `iti__search-clear ${CLASSES.HIDE}`
2843          ),
2844          [ARIA.LABEL]: uiTranslations.clearSearchAriaLabel,
2845          tabindex: "-1"
2846        },
2847        searchWrapper
2848      );
2849      this.#searchClearButtonEl.appendChild(buildClearIcon(this.#id));
2850      this.#searchResultsLiveRegionEl = createEl(
2851        "span",
2852        { class: "iti__a11y-text" },
2853        this.#countrySelectorEl
2854      );
2855      this.#noResultsMessageEl = createEl(
2856        "div",
2857        {
2858          class: this.#withSlotClass("noResults", `iti__no-results ${CLASSES.HIDE}`),
2859          [ARIA.HIDDEN]: "true"
2860          // all a11y messaging happens in this.#searchResultsLiveRegionEl
2861        },
2862        this.#countrySelectorEl
2863      );
2864      this.#noResultsMessageEl.textContent = uiTranslations.searchEmptyState ?? null;
2865    }
2866    #updateInputPaddingAndReveal() {
2867      if (!this.#countryContainerEl) {
2868        return;
2869      }
2870      this.#updateInputPadding();
2871      this.#countryContainerEl.classList.remove(CLASSES.V_HIDE);
2872    }
2873    #buildHiddenInputs(wrapper) {
2874      const { hiddenInputs } = this.#options;
2875      if (!hiddenInputs) {
2876        return;
2877      }
2878      const telInputName = this.telInputEl.getAttribute("name") || "";
2879      const names = hiddenInputs(telInputName);
2880      if (names.phone) {
2881        const existingInput = this.telInputEl.form?.querySelector(
2882          `input[name="${names.phone}"]`
2883        );
2884        if (existingInput) {
2885          this.#hiddenInputPhoneEl = existingInput;
2886        } else {
2887          this.#hiddenInputPhoneEl = createEl("input", {
2888            type: "hidden",
2889            name: names.phone
2890          });
2891          wrapper.appendChild(this.#hiddenInputPhoneEl);
2892        }
2893      }
2894      if (names.country) {
2895        const existingInput = this.telInputEl.form?.querySelector(
2896          `input[name="${names.country}"]`
2897        );
2898        if (existingInput) {
2899          this.#hiddenInputCountryEl = existingInput;
2900        } else {
2901          this.#hiddenInputCountryEl = createEl("input", {
2902            type: "hidden",
2903            name: names.country
2904          });
2905          wrapper.appendChild(this.#hiddenInputCountryEl);
2906        }
2907      }
2908    }
2909    //* For each country: add a country list item <li> to the countryList <ul> container.
2910    #appendListItems() {
2911      const frag = document.createDocumentFragment();
2912      const liClass = this.#withSlotClass("countryListItem", CLASSES.COUNTRY_ITEM);
2913      for (let i = 0; i < this.#countries.length; i++) {
2914        const c = this.#countries[i];
2915        const listItem = createEl("li", {
2916          id: `iti-${this.#id}__item-${c.iso2}`,
2917          class: liClass,
2918          tabindex: "-1",
2919          role: "option",
2920          [ARIA.SELECTED]: "false"
2921        });
2922        listItem.dataset[DATA_KEYS.DIAL_CODE] = c.dialCode;
2923        listItem.dataset[DATA_KEYS.ISO2] = c.iso2;
2924        this.#listItemByIso2.set(c.iso2, listItem);
2925        if (this.#options.showFlags) {
2926          createEl(
2927            "div",
2928            {
2929              class: this.#withSlotClass(
2930                "countryListItemFlag",
2931                `${CLASSES.FLAG} iti__${c.iso2}`
2932              )
2933            },
2934            listItem
2935          );
2936        }
2937        const nameEl = createEl(
2938          "span",
2939          { class: this.#withSlotClass("countryName", "iti__country-name") },
2940          listItem
2941        );
2942        nameEl.textContent = `${c.name} `;
2943        const dialEl = createEl(
2944          "span",
2945          { class: this.#withSlotClass("dialCode", "iti__dial-code") },
2946          nameEl
2947        );
2948        if (this.#isRTL) {
2949          dialEl.setAttribute("dir", "ltr");
2950        }
2951        dialEl.textContent = `(+${c.dialCode})`;
2952        frag.appendChild(listItem);
2953      }
2954      this.#countryListEl.appendChild(frag);
2955    }
2956    //* Update the input padding to make space for (1) the selected country/globe, (2) the arrow, and (3) the separate dial code, all of which are optional, hence handling this in the JS rather than CSS.
2957    #updateInputPadding() {
2958      if (this.#selectedCountryEl) {
2959        const fallbackWidth = this.#options.separateDialCode ? LAYOUT.FALLBACK_SELECTED_COUNTRY_WITH_DIAL_WIDTH : LAYOUT.FALLBACK_SELECTED_COUNTRY_NO_DIAL_WIDTH;
2960        const selectedCountryWidth = this.#selectedCountryEl.offsetWidth || this.#getHiddenSelectedCountryWidth() || fallbackWidth;
2961        const inputPadding = selectedCountryWidth + LAYOUT.INPUT_PADDING_EXTRA_LEFT;
2962        this.telInputEl.style.paddingLeft = `${inputPadding}px`;
2963      }
2964    }
2965    //* Keep the input padding in sync when the selected country's rendered width changes — e.g. responsive font-size shifts that change the dial code text width. Skip while hidden (offsetWidth === 0) so we don't waste work or clobber the padding using a fallback constant.
2966    #observeSelectedCountryResize() {
2967      if (!this.#selectedCountryEl || typeof ResizeObserver === "undefined") {
2968        return;
2969      }
2970      this.#resizeObserver = new ResizeObserver(() => {
2971        if (this.#selectedCountryEl?.offsetWidth) {
2972          this.#updateInputPadding();
2973        }
2974      });
2975      this.#resizeObserver.observe(this.#selectedCountryEl);
2976    }
2977    //* When input is in a hidden container during init, we cannot calculate the selected country width.
2978    //* Fix: clone the markup, make it invisible, add it to the end of the DOM, and then measure it's width.
2979    //* To get the right styling to apply, all we need is a shallow clone of the container,
2980    //* and then to inject a deep clone of the selectedCountryEl element.
2981    //* Measures in the LOCAL document.body: appending to the local body escapes any hidden ancestor container, and the input's own frame is where intl-tel-input's styles live (so the clone lays out correctly). We deliberately do NOT escape to window.top: that only measures correctly in the rare case where the top frame also loads the library's styles, and measures wrong when it doesn't (e.g. a same-origin iframe whose outer frame lacks the styles — cf. #2178). If the local frame itself isn't laid out yet (e.g. an iframe hidden during init), this returns 0 and the caller falls back to a sane constant; the ResizeObserver in #observeSelectedCountryResize then corrects the padding once the input becomes visible.
2982    #getHiddenSelectedCountryWidth() {
2983      if (!this.telInputEl.parentNode) {
2984        return 0;
2985      }
2986      const body = document.body;
2987      const containerClone = this.telInputEl.parentNode.cloneNode(
2988        false
2989      );
2990      containerClone.style.visibility = "hidden";
2991      body.appendChild(containerClone);
2992      const countryContainerClone = this.#countryContainerEl.cloneNode();
2993      containerClone.appendChild(countryContainerClone);
2994      const selectedCountryClone = this.#selectedCountryEl.cloneNode(
2995        true
2996      );
2997      countryContainerClone.appendChild(selectedCountryClone);
2998      const width = selectedCountryClone.offsetWidth;
2999      body.removeChild(containerClone);
3000      return width;
3001    }
3002    //* Measure the inline dropdown size once, lazily, on first open — see #getHiddenInlineDropdownSize for why measuring forces a reflow. Memoised via #inlineDropdownHeight so subsequent opens are free.
3003    //* Captured for two uses: (1) on open, decide whether to position the dropdown above or below the input; (2) when countrySearch is enabled, pin the dropdown height (and, when matchDropdownWidth is disabled, width) so it doesn't jump around as the country list is filtered.
3004    #ensureInlineDropdownSizeMeasured() {
3005      if (this.#inlineDropdownHeight !== void 0) {
3006        return;
3007      }
3008      const { countrySearch, matchDropdownWidth } = this.#options;
3009      const { height, width } = this.#getHiddenInlineDropdownSize();
3010      this.#inlineDropdownHeight = height;
3011      if (countrySearch) {
3012        this.#countrySelectorEl.style.height = `${height}px`;
3013        if (!matchDropdownWidth && width > 0) {
3014          this.#countrySelectorEl.style.width = `${width}px`;
3015        }
3016      }
3017    }
3018    // Measure the dropdown by moving it into a temporary hidden container on the body (it needs the right ancestor classes to lay out correctly). Restores it to its original position afterwards — a no-op during init (when it is still detached) but required when called lazily on first open (when it is already inserted).
3019    //* Deliberately measures in the LOCAL document.body (not window.top): this runs on first open, when the input's own frame is visibly rendered and styled. Escaping to the top frame breaks when the input is inside a same-origin iframe whose outer frame lacks intl-tel-input's styles (e.g. Storybook), as the dropdown would then be measured unstyled and come out far too tall (issue #2178).
3020    #getHiddenInlineDropdownSize() {
3021      const body = document.body;
3022      const selectorEl = this.#countrySelectorEl;
3023      const originalParent = selectorEl.parentNode;
3024      const originalNextSibling = selectorEl.nextSibling;
3025      selectorEl.classList.remove(CLASSES.HIDE);
3026      const tempContainer = createEl("div", {
3027        class: "iti iti--inline-country-selector"
3028      });
3029      tempContainer.appendChild(selectorEl);
3030      tempContainer.style.visibility = "hidden";
3031      body.appendChild(tempContainer);
3032      const height = selectorEl.offsetHeight;
3033      const width = selectorEl.offsetWidth;
3034      body.removeChild(tempContainer);
3035      selectorEl.classList.add(CLASSES.HIDE);
3036      if (originalParent) {
3037        originalParent.insertBefore(selectorEl, originalNextSibling);
3038      }
3039      return {
3040        height: height > 0 ? height : LAYOUT.FALLBACK_DROPDOWN_HEIGHT,
3041        width
3042      };
3043    }
3044    //* Update search results text (for a11y).
3045    #updateSearchResultsA11yText() {
3046      const { uiTranslations } = this.#options;
3047      const count = this.#countryListEl.childElementCount;
3048      this.#searchResultsLiveRegionEl.textContent = uiTranslations.searchSummaryAria(count);
3049    }
3050    //* Country search: Filter the countries according to the search query.
3051    #filterCountriesByQuery(query) {
3052      let matchedCountries;
3053      if (query === "") {
3054        matchedCountries = this.#countries;
3055      } else {
3056        const normalisedQuery = Numerals.toAscii(query);
3057        matchedCountries = getMatchedCountries(
3058          this.#countries,
3059          this.#searchTokens,
3060          normalisedQuery
3061        );
3062      }
3063      this.#showFilteredCountries(matchedCountries);
3064    }
3065    //* Pre-fill the search input with "+" and show all countries
3066    //* (used when user types "+" in the phone input to open the country selector).
3067    //* Explicitly focus the search input (openCountrySelector skips this when
3068    //* dropdownAlwaysOpen, but here we need focus to redirect subsequent keystrokes).
3069    prefillSearchWithPlus() {
3070      this.#searchInputEl.value = "+";
3071      this.#searchInputEl.focus();
3072      this.#filterCountriesByQuery("");
3073    }
3074    // Search input handlers
3075    #applySearchFilter() {
3076      const inputQuery = this.#searchInputEl.value.trim();
3077      this.#filterCountriesByQuery(inputQuery);
3078      if (this.#searchInputEl.value) {
3079        this.#searchClearButtonEl.classList.remove(CLASSES.HIDE);
3080      } else {
3081        this.#searchClearButtonEl.classList.add(CLASSES.HIDE);
3082      }
3083    }
3084    #handleSearchChange() {
3085      if (this.#searchDebounceTimer) {
3086        clearTimeout(this.#searchDebounceTimer);
3087      }
3088      this.#searchDebounceTimer = setTimeout(() => {
3089        this.#applySearchFilter();
3090        this.#searchDebounceTimer = null;
3091      }, TIMINGS.SEARCH_DEBOUNCE_MS);
3092    }
3093    #handleSearchClear() {
3094      this.#searchInputEl.value = "";
3095      this.#searchInputEl.focus();
3096      this.#applySearchFilter();
3097    }
3098    //* Check if a country list item element is visible within it's container (the country list), else scroll until it is.
3099    #scrollCountryListToItem(element) {
3100      const container = this.#countryListEl;
3101      const containerRect = container.getBoundingClientRect();
3102      const elementRect = element.getBoundingClientRect();
3103      const offsetTop = elementRect.top - containerRect.top + container.scrollTop;
3104      if (elementRect.top < containerRect.top) {
3105        container.scrollTop = offsetTop;
3106      } else if (elementRect.bottom > containerRect.bottom) {
3107        container.scrollTop = offsetTop - containerRect.height + elementRect.height;
3108      }
3109    }
3110    //* Remove highlighting from the previous list item and highlight the new one.
3111    #highlightListItem(listItem, doScroll = true) {
3112      this.#highlightedListItemEl?.classList.remove(CLASSES.HIGHLIGHT);
3113      if (listItem) {
3114        listItem.classList.add(CLASSES.HIGHLIGHT);
3115        if (this.#options.countrySearch) {
3116          const activeDescendant = listItem.getAttribute("id") || "";
3117          this.#searchInputEl.setAttribute(
3118            ARIA.ACTIVE_DESCENDANT,
3119            activeDescendant
3120          );
3121        }
3122        if (doScroll) {
3123          this.#scrollCountryListToItem(listItem);
3124        }
3125        this.#highlightedListItemEl = listItem;
3126      } else {
3127        this.#highlightedListItemEl = null;
3128      }
3129    }
3130    //* Bind a form-submit listener that syncs the hidden inputs with the current phone number
3131    //* and country iso2. No-op if there are no hidden inputs or the input is not in a form.
3132    bindHiddenInputSubmitListener(signal, getPhone, getCountryIso2) {
3133      const form = this.telInputEl.form;
3134      if (!form || !this.#hiddenInputPhoneEl && !this.#hiddenInputCountryEl) {
3135        return;
3136      }
3137      form.addEventListener(
3138        "submit",
3139        () => {
3140          if (this.#hiddenInputPhoneEl) {
3141            this.#hiddenInputPhoneEl.value = getPhone();
3142          }
3143          if (this.#hiddenInputCountryEl) {
3144            this.#hiddenInputCountryEl.value = getCountryIso2();
3145          }
3146        },
3147        { signal }
3148      );
3149    }
3150    //* Wire up triggers that open/close the country selector: label click (focus input or swallow repeat click),
3151    //* selected-country click (open), and keydown on countryContainer (open on arrow/space/enter, close on tab).
3152    bindAllInitialCountrySelectorListeners(signal, onOpen, onClose) {
3153      const label = this.telInputEl.closest("label");
3154      if (label) {
3155        label.addEventListener(
3156          "click",
3157          (e) => {
3158            if (!this.isCountrySelectorOpen()) {
3159              this.telInputEl.focus();
3160            } else {
3161              e.preventDefault();
3162            }
3163          },
3164          { signal }
3165        );
3166      }
3167      this.#selectedCountryEl.addEventListener(
3168        "click",
3169        () => {
3170          if (!this.isCountrySelectorOpen() && !this.telInputEl.disabled && !this.telInputEl.readOnly) {
3171            onOpen();
3172          }
3173        },
3174        { signal }
3175      );
3176      this.#countryContainerEl.addEventListener(
3177        "keydown",
3178        (e) => {
3179          const openKeys = [
3180            KEYS.ARROW_UP,
3181            KEYS.ARROW_DOWN,
3182            KEYS.SPACE,
3183            KEYS.ENTER
3184          ];
3185          if (!this.isCountrySelectorOpen() && openKeys.includes(e.key)) {
3186            e.preventDefault();
3187            e.stopPropagation();
3188            onOpen();
3189          }
3190          if (e.key === KEYS.TAB) {
3191            onClose();
3192          }
3193        },
3194        { signal }
3195      );
3196    }
3197    //* Open the country selector: create a fresh AbortController, do the DOM work, and wire up all
3198    //* open-state listeners (which invoke the caller's onSelect / onClose callbacks).
3199    openCountrySelector(onSelect, onClose) {
3200      const { countrySearch, dropdownAlwaysOpen } = this.#options;
3201      this.#countrySelectorAbortController = new AbortController();
3202      if (this.#options.countrySelectorMode !== COUNTRY_SELECTOR_MODE.FULLSCREEN) {
3203        this.#ensureInlineDropdownSizeMeasured();
3204      }
3205      this.ensureDropdownWidthSet();
3206      if (this.#detachedCountrySelectorEl) {
3207        this.#injectAndPositionDetachedCountrySelector();
3208      } else {
3209        const positionBelow = this.#shouldPositionDropdownBelowInput();
3210        const distance = this.telInputEl.offsetHeight + LAYOUT.DROPDOWN_MARGIN;
3211        if (positionBelow) {
3212          this.#countrySelectorEl.style.top = `${distance}px`;
3213        } else {
3214          this.#countrySelectorEl.style.bottom = `${distance}px`;
3215        }
3216      }
3217      this.#countrySelectorEl.classList.remove(CLASSES.HIDE);
3218      this.#selectedCountryEl.setAttribute(ARIA.EXPANDED, "true");
3219      const itemToHighlight = this.#selectedListItemEl ?? this.#countryListEl.firstElementChild;
3220      if (itemToHighlight) {
3221        this.#highlightListItem(itemToHighlight);
3222      }
3223      if (countrySearch && !dropdownAlwaysOpen) {
3224        this.#searchInputEl.focus();
3225      }
3226      if (this.#options.countrySelectorMode === COUNTRY_SELECTOR_MODE.FULLSCREEN && this.#detachedCountrySelectorEl && window.visualViewport) {
3227        window.visualViewport.addEventListener(
3228          "resize",
3229          () => {
3230            this.#adjustFullscreenPopupToViewport();
3231            if (this.#highlightedListItemEl) {
3232              this.#scrollCountryListToItem(this.#highlightedListItemEl);
3233            }
3234          },
3235          { signal: this.#countrySelectorAbortController.signal }
3236        );
3237      }
3238      this.#arrowEl.classList.add(CLASSES.ARROW_UP);
3239      this.#bindCountrySelectorOpenListeners(onSelect, onClose);
3240    }
3241    //* Wire up all listeners needed while the country selector is open: list-item hover (highlight),
3242    //* list-item click & enter key (select), click-off & escape (close), search input (filter),
3243    //* (when countrySearch disabled) typed-char hidden search, and (when the country selector is in an
3244    //* external container) update (fixed) position on scroll/resize.
3245    #bindCountrySelectorOpenListeners(onSelect, onClose) {
3246      const signal = this.#countrySelectorAbortController.signal;
3247      this.#bindListItemHover(signal);
3248      this.#bindListItemClick(signal, onSelect);
3249      if (!this.#options.dropdownAlwaysOpen) {
3250        this.#bindOutsideClickToClose(signal, onClose);
3251      }
3252      this.#bindCountrySelectorKeydownListener(signal, onSelect, onClose);
3253      if (this.#options.countrySearch) {
3254        this.#bindSearchInputListener(signal);
3255      }
3256      if (this.#options.countrySelectorMode === COUNTRY_SELECTOR_MODE.DROPDOWN && this.#options.dropdownParent && !supportsCssAnchor) {
3257        document.addEventListener("scroll", onClose, { signal, capture: true, passive: true });
3258      }
3259    }
3260    //* When mouse over a list item, just highlight that one (so if they hit "enter" we know which to select).
3261    #bindListItemHover(signal) {
3262      this.#countryListEl.addEventListener(
3263        "mouseover",
3264        (e) => {
3265          const listItem = e.target?.closest(
3266            `.${CLASSES.COUNTRY_ITEM}`
3267          );
3268          if (listItem) {
3269            this.#highlightListItem(listItem, false);
3270          }
3271        },
3272        { signal }
3273      );
3274    }
3275    //* Delegate clicks on the country list to the caller's onSelect callback, passing the clicked list item.
3276    #bindListItemClick(signal, onSelect) {
3277      this.#countryListEl.addEventListener(
3278        "click",
3279        (e) => {
3280          const listItem = e.target?.closest(
3281            `.${CLASSES.COUNTRY_ITEM}`
3282          );
3283          if (listItem) {
3284            onSelect(listItem);
3285          }
3286        },
3287        { signal }
3288      );
3289    }
3290    //* Invoke onClickOff when the user clicks anywhere outside the country selector.
3291    #bindOutsideClickToClose(signal, onClickOff) {
3292      setTimeout(() => {
3293        document.documentElement.addEventListener(
3294          "click",
3295          (e) => {
3296            if (!this.#countrySelectorEl.contains(e.target)) {
3297              onClickOff();
3298            }
3299          },
3300          { signal }
3301        );
3302      }, 0);
3303    }
3304    //* Keyboard navigation while the country selector is open: arrow keys navigate, hidden-search keys filter,
3305    //* and enter/escape invoke the caller's callbacks (which handle country selection / close).
3306    //* Uses keydown rather than keypress so non-char keys (arrow, esc) fire and so holding a key repeats.
3307    #bindCountrySelectorKeydownListener(signal, onEnter, onEscape) {
3308      let query = "";
3309      let queryTimer = null;
3310      const handleKeydown = (e) => {
3311        const allowedKeys = [
3312          KEYS.ARROW_UP,
3313          KEYS.ARROW_DOWN,
3314          KEYS.ENTER,
3315          KEYS.ESC
3316        ];
3317        if (allowedKeys.includes(e.key)) {
3318          e.preventDefault();
3319          e.stopPropagation();
3320          if (e.key === KEYS.ARROW_UP || e.key === KEYS.ARROW_DOWN) {
3321            this.#handleUpDownKey(e.key);
3322          } else if (e.key === KEYS.ENTER && !e.isComposing) {
3323            onEnter(this.#highlightedListItemEl);
3324          } else if (e.key === KEYS.ESC) {
3325            onEscape();
3326            this.#selectedCountryEl.focus();
3327          }
3328        }
3329        if (!this.#options.countrySearch && REGEX.HIDDEN_SEARCH_CHAR.test(e.key)) {
3330          e.stopPropagation();
3331          if (queryTimer) {
3332            clearTimeout(queryTimer);
3333          }
3334          query += e.key.toLowerCase();
3335          this.#searchForCountry(query);
3336          queryTimer = setTimeout(() => {
3337            query = "";
3338          }, TIMINGS.HIDDEN_SEARCH_RESET_MS);
3339        }
3340      };
3341      this.#selectedCountryEl?.addEventListener("keydown", handleKeydown, { signal });
3342      this.#countrySelectorEl?.addEventListener("keydown", handleKeydown, { signal });
3343    }
3344    //* Wire up country search input listener: typing filters the list, the clear button resets it.
3345    #bindSearchInputListener(signal) {
3346      this.#searchInputEl.addEventListener(
3347        "input",
3348        () => this.#handleSearchChange(),
3349        { signal }
3350      );
3351      this.#searchClearButtonEl.addEventListener(
3352        "click",
3353        () => this.#handleSearchClear(),
3354        { signal }
3355      );
3356    }
3357    //* Hidden search (countrySearch disabled): jump to the first list item whose name starts with the query.
3358    #searchForCountry(query) {
3359      const match = findFirstCountryStartingWith(
3360        this.#countries,
3361        this.#searchTokens,
3362        query
3363      );
3364      if (match) {
3365        const listItem = this.#listItemByIso2.get(match.iso2);
3366        this.#highlightListItem(listItem);
3367      }
3368    }
3369    //* Highlight the next/prev item in the list (and ensure it is visible).
3370    #handleUpDownKey(key) {
3371      let next = key === KEYS.ARROW_UP ? this.#highlightedListItemEl?.previousElementSibling : this.#highlightedListItemEl?.nextElementSibling;
3372      if (!next && this.#countryListEl.childElementCount > 1) {
3373        next = key === KEYS.ARROW_UP ? this.#countryListEl.lastElementChild : this.#countryListEl.firstElementChild;
3374      }
3375      if (next) {
3376        this.#highlightListItem(next);
3377      }
3378    }
3379    // Update the selected list item in the country list
3380    #updateSelectedListItem(iso2) {
3381      if (this.#selectedListItemEl && this.#selectedListItemEl.dataset[DATA_KEYS.ISO2] !== iso2) {
3382        this.#selectedListItemEl.setAttribute(ARIA.SELECTED, "false");
3383        this.#selectedListItemEl.querySelector(".iti__country-check")?.remove();
3384        this.#selectedListItemEl = null;
3385      }
3386      if (iso2 && !this.#selectedListItemEl) {
3387        const newListItem = this.#countryListEl.querySelector(
3388          `[data-iso2="${iso2}"]`
3389        );
3390        if (newListItem) {
3391          newListItem.setAttribute(ARIA.SELECTED, "true");
3392          const checkIcon = createEl(
3393            "span",
3394            {
3395              class: this.#withSlotClass("countryCheck", "iti__country-check"),
3396              [ARIA.HIDDEN]: "true"
3397            },
3398            newListItem
3399          );
3400          checkIcon.appendChild(buildCheckIcon());
3401          this.#selectedListItemEl = newListItem;
3402          if (this.#options.dropdownAlwaysOpen) {
3403            this.#highlightListItem(newListItem);
3404          }
3405        }
3406      }
3407    }
3408    //* Country search: Filter the country list to the given array of countries.
3409    #showFilteredCountries(matchedCountries) {
3410      this.#countryListEl.replaceChildren();
3411      let noCountriesAddedYet = true;
3412      for (const c of matchedCountries) {
3413        const listItem = this.#listItemByIso2.get(c.iso2);
3414        if (listItem) {
3415          this.#countryListEl.appendChild(listItem);
3416          if (noCountriesAddedYet) {
3417            this.#highlightListItem(listItem, false);
3418            noCountriesAddedYet = false;
3419          }
3420        }
3421      }
3422      if (noCountriesAddedYet) {
3423        this.#highlightListItem(null);
3424        if (this.#noResultsMessageEl) {
3425          this.#noResultsMessageEl.classList.remove(CLASSES.HIDE);
3426        }
3427      } else if (this.#noResultsMessageEl) {
3428        this.#noResultsMessageEl.classList.add(CLASSES.HIDE);
3429      }
3430      this.#countryListEl.scrollTop = 0;
3431      this.#updateSearchResultsA11yText();
3432    }
3433    // UI: Close the country selector (DOM + abort scoped listeners).
3434    closeCountrySelector() {
3435      const { countrySearch } = this.#options;
3436      this.#countrySelectorAbortController.abort();
3437      this.#countrySelectorAbortController = null;
3438      this.#countrySelectorEl.classList.add(CLASSES.HIDE);
3439      this.#selectedCountryEl.setAttribute(ARIA.EXPANDED, "false");
3440      if (countrySearch) {
3441        this.#searchInputEl.removeAttribute(ARIA.ACTIVE_DESCENDANT);
3442        this.#searchInputEl.value = "";
3443        this.#applySearchFilter();
3444        if (this.#highlightedListItemEl) {
3445          this.#highlightedListItemEl.classList.remove(CLASSES.HIGHLIGHT);
3446          this.#highlightedListItemEl = null;
3447        }
3448      }
3449      this.#arrowEl.classList.remove(CLASSES.ARROW_UP);
3450      if (this.#detachedCountrySelectorEl) {
3451        this.#detachedCountrySelectorEl.remove();
3452        this.#detachedCountrySelectorEl.style.top = "";
3453        this.#detachedCountrySelectorEl.style.bottom = "";
3454        this.#detachedCountrySelectorEl.style.paddingLeft = "";
3455        this.#detachedCountrySelectorEl.style.paddingRight = "";
3456      } else {
3457        this.#countrySelectorEl.style.top = "";
3458        this.#countrySelectorEl.style.bottom = "";
3459      }
3460    }
3461    #shouldPositionDropdownBelowInput() {
3462      if (this.#options.dropdownAlwaysOpen) {
3463        return true;
3464      }
3465      const inputPos = this.telInputEl.getBoundingClientRect();
3466      const spaceAbove = inputPos.top;
3467      const spaceBelow = window.innerHeight - inputPos.bottom;
3468      return spaceBelow >= this.#inlineDropdownHeight || spaceBelow >= spaceAbove;
3469    }
3470    // inject the country selector into its detached wrapper and apply positioning styles
3471    #injectAndPositionDetachedCountrySelector() {
3472      const isFullscreen = this.#options.countrySelectorMode === COUNTRY_SELECTOR_MODE.FULLSCREEN;
3473      const detachedParent = this.#getDetachedParent();
3474      if (isFullscreen) {
3475        if (window.innerWidth >= LAYOUT.NARROW_VIEWPORT_WIDTH) {
3476          const inputPos = this.telInputEl.getBoundingClientRect();
3477          this.#detachedCountrySelectorEl.style.paddingLeft = `${inputPos.left}px`;
3478          this.#detachedCountrySelectorEl.style.paddingRight = `${window.innerWidth - inputPos.right}px`;
3479        }
3480      } else {
3481        this.#setupCssAnchorPositioning();
3482      }
3483      if (!isFullscreen && !supportsCssAnchor) {
3484        const inputPos = this.telInputEl.getBoundingClientRect();
3485        this.#detachedCountrySelectorEl.style.left = `${inputPos.left}px`;
3486        if (this.#shouldPositionDropdownBelowInput()) {
3487          this.#detachedCountrySelectorEl.style.top = `${inputPos.bottom + LAYOUT.DROPDOWN_MARGIN}px`;
3488        } else {
3489          this.#detachedCountrySelectorEl.style.top = "unset";
3490          this.#detachedCountrySelectorEl.style.bottom = `${window.innerHeight - inputPos.top + LAYOUT.DROPDOWN_MARGIN}px`;
3491        }
3492      }
3493      detachedParent.appendChild(this.#detachedCountrySelectorEl);
3494    }
3495    //* Wire up CSS Anchor Positioning between the input and the detached country selector using a
3496    //* unique anchor name per instance. Called lazily on first open (memoised) — the matching styles in
3497    //* intlTelInput.css only take effect in browsers that support anchor(); elsewhere these
3498    //* properties are inert. We append our name to any existing anchor-name (read via
3499    //* getComputedStyle so we pick up CSS-defined values), so consumer-set anchors on the input
3500    //* are preserved. Caveat: this snapshots the consumer's value once — if they later change
3501    //* anchor-name via CSS (e.g. a class swap), our inline write will shadow the change.
3502    #setupCssAnchorPositioning() {
3503      if (this.#cssAnchorPositioningDone) {
3504        return;
3505      }
3506      this.#cssAnchorPositioningDone = true;
3507      const anchorName = `--iti-anchor-${this.#id}`;
3508      const existing = getComputedStyle(this.telInputEl).anchorName;
3509      this.telInputEl.style.anchorName = existing && existing !== "
3509none" ? `${existing}, ${anchorName}` : anchorName;
3510      this.#detachedCountrySelectorEl.style.positionAnchor = anchorName;
3511    }
3512    // Adjust the fullscreen popup dimensions to match the visual viewport,
3513    // so it stays above the virtual keyboard on mobile devices.
3514    #adjustFullscreenPopupToViewport() {
3515      const vv = window.visualViewport;
3516      if (!vv || !this.#detachedCountrySelectorEl) {
3517        return;
3518      }
3519      const virtualKeyboardHeight = window.innerHeight - vv.height;
3520      this.#detachedCountrySelectorEl.style.bottom = `${virtualKeyboardHeight}px`
vendor: 56,359 bytes, lines 3520-4990
3520;
3521    }
3522    // UI: Whether the country selector is currently open (visible).
3523    isCountrySelectorOpen() {
3524      return !this.#countrySelectorEl.classList.contains(CLASSES.HIDE);
3525    }
3526    // Toggle the loading spinner on the selected flag (used during auto-country geoIP lookup).
3527    setLoading(isLoading) {
3528      this.#selectedFlagEl.classList.toggle(CLASSES.LOADING, isLoading);
3529    }
3530    //* Play the strict-reject animation (shake, or background-colour flash under prefers-reduced-motion) on the wrapper.
3531    //* Called when strictMode rejects the whole input (keystroke, or whole paste).
3532    //* Uses the wrapper (not the input) so any separateDialCode / country button move together with the input.
3533    playStrictRejectAnimation() {
3534      if (!this.#options.strictRejectAnimation) {
3535        return;
3536      }
3537      const wrapperEl = this.telInputEl.parentElement;
3538      if (!wrapperEl) {
3539        return;
3540      }
3541      wrapperEl.classList.remove(CLASSES.STRICT_REJECT_ANIMATION);
3542      void wrapperEl.offsetWidth;
3543      wrapperEl.classList.add(CLASSES.STRICT_REJECT_ANIMATION);
3544      wrapperEl.addEventListener(
3545        "animationend",
3546        () => wrapperEl.classList.remove(CLASSES.STRICT_REJECT_ANIMATION),
3547        { once: true }
3548      );
3549    }
3550    isLoading() {
3551      return this.#selectedFlagEl.classList.contains(CLASSES.LOADING);
3552    }
3553    // Set the disabled state of the input and country selector.
3554    setDisabled(disabled) {
3555      this.telInputEl.disabled = disabled;
3556      if (this.#selectedCountryEl) {
3557        if (disabled) {
3558          this.#selectedCountryEl.setAttribute("disabled", "true");
3559        } else {
3560          this.#selectedCountryEl.removeAttribute("disabled");
3561        }
3562      }
3563    }
3564    // Set the readonly state of the input and country selector.
3565    setReadonly(readonly) {
3566      this.telInputEl.readOnly = readonly;
3567      if (this.#selectedCountryEl) {
3568        if (readonly) {
3569          this.#selectedCountryEl.setAttribute("disabled", "true");
3570        } else {
3571          this.#selectedCountryEl.removeAttribute("disabled");
3572        }
3573      }
3574    }
3575    setSelectedCountry(selectedCountry) {
3576      const { countrySelectorMode, showFlags, separateDialCode, uiTranslations } = this.#options;
3577      const name = selectedCountry?.name;
3578      const dialCode = selectedCountry?.dialCode;
3579      const iso2 = selectedCountry?.iso2 ?? "";
3580      if (countrySelectorMode !== COUNTRY_SELECTOR_MODE.OFF) {
3581        this.#updateSelectedListItem(iso2);
3582      }
3583      if (this.#selectedCountryEl) {
3584        const flagClass = this.#withSlotClass(
3585          "selectedFlag",
3586          iso2 && showFlags ? `${CLASSES.FLAG} iti__${iso2}` : `${CLASSES.FLAG} ${CLASSES.GLOBE}`
3587        );
3588        let ariaLabel, title;
3589        let flagContent = null;
3590        if (iso2) {
3591          title = name;
3592          ariaLabel = uiTranslations.selectedCountryAriaLabel.replace("${countryName}", name).replace("${dialCode}", `+${dialCode}`);
3593          if (!showFlags) {
3594            flagContent = buildGlobeIcon();
3595          }
3596        } else {
3597          title = uiTranslations.noCountrySelected;
3598          ariaLabel = uiTranslations.noCountrySelected;
3599          flagContent = buildGlobeIcon();
3600        }
3601        this.#selectedFlagEl.className = flagClass;
3602        this.#selectedCountryEl.setAttribute("title", title);
3603        this.#selectedCountryEl.setAttribute(ARIA.LABEL, ariaLabel);
3604        if (flagContent) {
3605          this.#selectedFlagEl.replaceChildren(flagContent);
3606        } else {
3607          this.#selectedFlagEl.replaceChildren();
3608        }
3609      }
3610      if (separateDialCode) {
3611        const fullDialCode = dialCode ? `+${dialCode}` : "";
3612        this.#selectedDialCodeEl.textContent = fullDialCode;
3613        this.#updateInputPadding();
3614      }
3615    }
3616    destroy() {
3617      this.telInputEl.iti = void 0;
3618      delete this.telInputEl.dataset[DATA_KEYS.INSTANCE_ID];
3619      this.#resizeObserver?.disconnect();
3620      this.telInputEl.style.paddingLeft = this.#originalPaddingLeft;
3621      const wrapper = this.telInputEl.parentNode;
3622      if (wrapper) {
3623        wrapper.before(this.telInputEl);
3624        wrapper.remove();
3625      }
3626      this.#listItemByIso2.clear();
3627    }
3628  };
3629
3630  // packages/core/src/js/data/country-data.ts
3631  var processAllCountries = (options) => {
3632    const { onlyCountries, excludeCountries } = options;
3633    if (onlyCountries?.length) {
3634      return data_default.filter(
3635        (country) => onlyCountries.includes(country.iso2)
3636      );
3637    } else if (excludeCountries?.length) {
3638      return data_default.filter(
3639        (country) => !excludeCountries.includes(country.iso2)
3640      );
3641    }
3642    return [...data_default];
3643  };
3644  var generateCountryNames = (countries, options) => {
3645    const { countryNameLocale, countryNameOverrides, uiTranslations } = options;
3646    const bundledCountryNames = uiTranslations?.countryNames;
3647    let displayNames;
3648    try {
3649      const hasDisplayNames = typeof Intl !== "undefined" && typeof Intl.DisplayNames === "function";
3650      if (hasDisplayNames) {
3651        displayNames = new Intl.DisplayNames(countryNameLocale, {
3652          type: "region"
3653        });
3654      } else {
3655        displayNames = null;
3656      }
3657    } catch (e) {
3658      console.error(e);
3659      displayNames = null;
3660    }
3661    for (const c of countries) {
3662      c.name = countryNameOverrides[c.iso2] || bundledCountryNames?.[c.iso2] || displayNames?.of(c.iso2.toUpperCase()) || "";
3663    }
3664  };
3665  var processDialCodes = (countries) => {
3666    const dialCodes = /* @__PURE__ */ new Set();
3667    let dialCodeMaxLength = 0;
3668    const dialCodeToIso2Map = {};
3669    const addToDialCodeMap = (iso2, dialCode) => {
3670      if (!iso2 || !dialCode) {
3671        return;
3672      }
3673      if (dialCode.length > dialCodeMaxLength) {
3674        dialCodeMaxLength = dialCode.length;
3675      }
3676      if (!Object.hasOwn(dialCodeToIso2Map, dialCode)) {
3677        dialCodeToIso2Map[dialCode] = [];
3678      }
3679      const iso2List = dialCodeToIso2Map[dialCode];
3680      if (iso2List.includes(iso2)) {
3681        return;
3682      }
3683      iso2List.push(iso2);
3684    };
3685    const countriesSortedByPriority = [...countries].sort(
3686      (a, b) => a.priority - b.priority
3687    );
3688    for (const c of countriesSortedByPriority) {
3689      if (!dialCodes.has(c.dialCode)) {
3690        dialCodes.add(c.dialCode);
3691      }
3692      for (let k = 1; k < c.dialCode.length; k++) {
3693        const partialDialCode = c.dialCode.substring(0, k);
3694        addToDialCodeMap(c.iso2, partialDialCode);
3695      }
3696      addToDialCodeMap(c.iso2, c.dialCode);
3697      if (c.areaCodes) {
3698        const rootIso2Code = dialCodeToIso2Map[c.dialCode][0];
3699        for (const areaCode of c.areaCodes) {
3700          for (let k = 1; k < areaCode.length; k++) {
3701            const partialAreaCode = areaCode.substring(0, k);
3702            const partialDialCode = c.dialCode + partialAreaCode;
3703            addToDialCodeMap(rootIso2Code, partialDialCode);
3704            addToDialCodeMap(c.iso2, partialDialCode);
3705          }
3706          addToDialCodeMap(c.iso2, c.dialCode + areaCode);
3707        }
3708      }
3709    }
3710    return { dialCodes, dialCodeMaxLength, dialCodeToIso2Map };
3711  };
3712  var sortCountries = (countries, options) => {
3713    const { countryOrder } = options;
3714    countries.sort((a, b) => {
3715      if (countryOrder) {
3716        const aIndex = countryOrder.indexOf(a.iso2);
3717        const bIndex = countryOrder.indexOf(b.iso2);
3718        const aIndexExists = aIndex > -1;
3719        const bIndexExists = bIndex > -1;
3720        if (aIndexExists || bIndexExists) {
3721          if (aIndexExists && bIndexExists) {
3722            return aIndex - bIndex;
3723          }
3724          return aIndexExists ? -1 : 1;
3725        }
3726      }
3727      return a.name.localeCompare(b.name);
3728    });
3729  };
3730
3731  // packages/core/src/js/data/intl-regionless.ts
3732  var regionlessDialCodes = /* @__PURE__ */ new Set([
3733    "800",
3734    "808",
3735    "870",
3736    "881",
3737    "882",
3738    "883",
3739    "888",
3740    "979"
3741  ]);
3742  var hasRegionlessDialCode = (number) => {
3743    const dialCode = getNumeric(number).slice(0, 3);
3744    return number.startsWith("+") && regionlessDialCodes.has(dialCode);
3745  };
3746
3747  // packages/core/src/js/format/formatting.ts
3748  var stripSeparateDialCode = (fullNumber, hasValidDialCode, separateDialCode, selectedCountry) => {
3749    if (!separateDialCode || !hasValidDialCode) {
3750      return fullNumber;
3751    }
3752    const dialCode = `+${selectedCountry.dialCode}`;
3753    const start = fullNumber[dialCode.length] === " " || fullNumber[dialCode.length] === "-" ? dialCode.length + 1 : dialCode.length;
3754    return fullNumber.substring(start);
3755  };
3756  var formatNumberAsYouType = (fullNumber, telInputValue, utils, selectedCountry, separateDialCode) => {
3757    const result = utils ? utils.formatNumberAsYouType(fullNumber, selectedCountry?.iso2) : fullNumber;
3758    const dialCode = selectedCountry?.dialCode;
3759    if (separateDialCode && telInputValue.charAt(0) !== "+" && result.includes(`+${dialCode}`)) {
3760      const afterDialCode = result.split(`+${dialCode}`)[1] || "";
3761      return afterDialCode.trim();
3762    }
3763    return result;
3764  };
3765
3766  // packages/core/src/js/format/caret.ts
3767  var computeNewCaretPosition = (relevantChars, formattedValue, prevCaretPos, isDeleteForwards) => {
3768    if (prevCaretPos === 0 && !isDeleteForwards) {
3769      return 0;
3770    }
3771    let relevantCharCount = 0;
3772    for (let i = 0; i < formattedValue.length; i++) {
3773      if (/[+0-9]/.test(formattedValue[i])) {
3774        relevantCharCount++;
3775      }
3776      if (relevantCharCount === relevantChars && !isDeleteForwards) {
3777        return i + 1;
3778      }
3779      if (isDeleteForwards && relevantCharCount === relevantChars + 1) {
3780        return i;
3781      }
3782    }
3783    return formattedValue.length;
3784  };
3785
3786  // packages/core/src/js/data/nanp-regionless.ts
3787  var regionlessNanpAreaCodes = /* @__PURE__ */ new Set([
3788    "800",
3789    "822",
3790    "833",
3791    "844",
3792    "855",
3793    "866",
3794    "877",
3795    "880",
3796    "881",
3797    "882",
3798    "883",
3799    "884",
3800    "885",
3801    "886",
3802    "887",
3803    "888",
3804    "889"
3805  ]);
3806  var isRegionlessNanp = (number) => {
3807    const numeric = getNumeric(number);
3808    if (numeric.startsWith(DIAL_CODE.NANP) && numeric.length >= 4) {
3809      const areaCode = numeric.substring(1, 4);
3810      return regionlessNanpAreaCodes.has(areaCode);
3811    }
3812    return false;
3813  };
3814
3815  // packages/core/src/js/intlTelInput.ts
3816  var nextId = 0;
3817  var ensureUtils = (methodName) => {
3818    if (!intlTelInput.utils) {
3819      throw new Error(
3820        `intlTelInput.utils is required for ${methodName}(). See: https://intl-tel-input.com/docs/utils`
3821      );
3822    }
3823  };
3824  var createDeferred = () => {
3825    let resolve;
3826    let reject;
3827    const promise = new Promise((res, rej) => {
3828      resolve = res;
3829      reject = rej;
3830    });
3831    return { promise, resolve, reject };
3832  };
3833  var Iti = class _Iti {
3834    //* PUBLIC FIELDS - READONLY
3835    //* Can't be private as it's called from intlTelInput convenience wrapper.
3836    id;
3837    // accessed externally via iti.promise.then(...)
3838    promise;
3839    //* PRIVATE FIELDS
3840    #ui;
3841    #options;
3842    #isAndroid;
3843    // country data
3844    #countries;
3845    #dialCodeMaxLength;
3846    #dialCodeToIso2Map;
3847    #dialCodes;
3848    #countryByIso2;
3849    #searchTokens;
3850    #selectedCountry = null;
3851    #maxCoreNumberLength = null;
3852    #fallbackCountryIso2;
3853    // is this instance still active (not destroyed)
3854    #isActive = true;
3855    #abortController;
3856    #numerals;
3857    //* Tracks whether the user has typed/pasted their own formatting chars, so AYT-formatting should back off.
3858    #userOverrideFormatting = false;
3859    #strictPasteSnapshot = null;
3860    #autoCountryDeferred;
3861    #utilsDeferred;
3862    constructor(input, customOptions = {}) {
3863      this.id = nextId++;
3864      UI.validateInput(input);
3865      const validatedOptions = validateOptions(customOptions);
3866      this.#options = { ...defaults, ...validatedOptions };
3867      normaliseOptions(this.#options);
3868      applyOptionSideEffects(this.#options);
3869      this.#ui = new UI(input, this.#options, this.id);
3870      this.#isAndroid = typeof navigator !== "undefined" && /Android/i.test(navigator.userAgent);
3871      this.#numerals = new Numerals(input.value);
3872      this.promise = this.#createInitPromise(this.#options);
3873      this.#countries = processAllCountries(this.#options);
3874      const { dialCodes, dialCodeMaxLength, dialCodeToIso2Map } = processDialCodes(this.#countries);
3875      this.#dialCodes = dialCodes;
3876      this.#dialCodeMaxLength = dialCodeMaxLength;
3877      this.#dialCodeToIso2Map = dialCodeToIso2Map;
3878      this.#countryByIso2 = new Map(this.#countries.map((c) => [c.iso2, c]));
3879      this.#init();
3880    }
3881    #getTelInputValue() {
3882      const inputValue = this.#ui.telInputEl.value.trim();
3883      return this.#numerals.normalise(inputValue);
3884    }
3885    #setTelInputValue(asciiValue) {
3886      this.#ui.telInputEl.value = this.#numerals.denormalise(asciiValue);
3887    }
3888    #createInitPromise(options) {
3889      const { initialCountry, initialCountryLookup, loadUtils } = options;
3890      const needsAutoCountryDeferred = !initialCountry && Boolean(initialCountryLookup);
3891      const needsUtilsDeferred = Boolean(loadUtils) && !intlTelInput.utils;
3892      if (needsAutoCountryDeferred) {
3893        this.#autoCountryDeferred = createDeferred();
3894      }
3895      if (needsUtilsDeferred) {
3896        this.#utilsDeferred = createDeferred();
3897      }
3898      return Promise.all([
3899        this.#autoCountryDeferred?.promise,
3900        this.#utilsDeferred?.promise
3901      ]).then(() => {
3902      });
3903    }
3904    #init() {
3905      this.#abortController = new AbortController();
3906      this.#processCountryData();
3907      this.#ui.buildMarkup(this.#countries, this.#searchTokens);
3908      this.#setInitialState();
3909      this.#initListeners();
3910      this.#startAsyncLoads();
3911      if (this.#options.dropdownAlwaysOpen) {
3912        this.openCountrySelector();
3913      }
3914    }
3915    //********************
3916    //*  PRIVATE METHODS
3917    //********************
3918    //* Prepare all of the country data, including onlyCountries, excludeCountries, countryOrder options.
3919    #processCountryData() {
3920      generateCountryNames(this.#countries, this.#options);
3921      sortCountries(this.#countries, this.#options);
3922      this.#searchTokens = buildSearchTokens(this.#countries);
3923    }
3924    //* Set the initial state of the input value and the selected country by:
3925    //* 1. Extracting a dial code from the given number
3926    //* 2. Using explicit initialCountry
3927    #setInitialState(overrideAutoCountry = false) {
3928      const attributeValueRaw = this.#ui.telInputEl.getAttribute("value");
3929      const attributeValue = this.#numerals.normalise(attributeValueRaw ?? "");
3930      const inputValue = this.#getTelInputValue();
3931      const useAttribute = attributeValue && attributeValue.startsWith("+") && (!inputValue || !inputValue.startsWith("+"));
3932      const value = useAttribute ? attributeValue : inputValue;
3933      const dialCode = this.#getDialCode(value);
3934      const isRegionlessNanpNumber = isRegionlessNanp(value);
3935      const { initialCountry, initialCountryLookup } = this.#options;
3936      const isAutoCountry = !initialCountry && Boolean(initialCountryLookup);
3937      const resolvedInitialCountry = isAutoCountry && intlTelInput.autoCountry ? intlTelInput.autoCountry : initialCountry;
3938      const doingAutoCountryLookup = isAutoCountry && !overrideAutoCountry && !intlTelInput.autoCountry;
3939      const isValidInitialCountry = isIso2(resolvedInitialCountry);
3940      if (dialCode) {
3941        if (isRegionlessNanpNumber) {
3942          if (isValidInitialCountry) {
3943            this.#updateSelectedCountry(resolvedInitialCountry);
3944          } else if (!doingAutoCountryLookup) {
3945            this.#updateSelectedCountry(US.ISO2);
3946          }
3947        } else {
3948          if (isValidInitialCountry) {
3949            this.#updateSelectedCountry(resolvedInitialCountry);
3950          }
3951          this.#updateCountryFromNumber(value);
3952        }
3953      } else if (isValidInitialCountry) {
3954        this.#updateSelectedCountry(resolvedInitialCountry);
3955      } else if (!doingAutoCountryLookup) {
3956        this.#updateSelectedCountry("");
3957      }
3958      if (value) {
3959        this.#updateValueFromNumber(value);
3960      }
3961    }
3962    //* Initialise the main event listeners: input keyup, and click selected country.
3963    #initListeners() {
3964      this.#bindAllTelInputListeners();
3965      if (this.#options.countrySelectorMode !== COUNTRY_SELECTOR_MODE.OFF) {
3966        this.#ui.bindAllInitialCountrySelectorListeners(
3967          this.#abortController.signal,
3968          () => this.openCountrySelector(),
3969          () => this.#closeCountrySelectorInternal()
3970        );
3971      }
3972      this.#ui.bindHiddenInputSubmitListener(
3973        this.#abortController.signal,
3974        () => this.getNumber(),
3975        () => this.#selectedCountry?.iso2 || ""
3976      );
3977    }
3978    //* Init requests: utils script / initial country lookup.
3979    #startAsyncLoads() {
3980      if (this.#utilsDeferred) {
3981        const { loadUtils } = this.#options;
3982        const doAttachUtils = () => {
3983          intlTelInput.attachUtils(loadUtils).catch(() => {
3984          });
3985        };
3986        if (intlTelInput.documentReady()) {
3987          doAttachUtils();
3988        } else {
3989          window.addEventListener("load", doAttachUtils, {
3990            signal: this.#abortController.signal
3991          });
3992        }
3993      }
3994      if (this.#autoCountryDeferred) {
3995        if (this.#selectedCountry) {
3996          this.#autoCountryDeferred.resolve();
3997        } else {
3998          this.#loadAutoCountry();
3999        }
4000      }
4001    }
4002    //* Perform the initial country lookup.
4003    async #loadAutoCountry() {
4004      if (intlTelInput.autoCountry) {
4005        this.#handleAutoCountryLoaded();
4006        return;
4007      }
4008      this.#ui.setLoading(true);
4009      if (intlTelInput.startedLoadingAutoCountry) {
4010        return;
4011      }
4012      intlTelInput.startedLoadingAutoCountry = true;
4013      if (typeof this.#options.initialCountryLookup === "function") {
4014        let timeoutId;
4015        try {
4016          const iso2 = await Promise.race([
4017            this.#options.initialCountryLookup(),
4018            new Promise((_, reject) => {
4019              timeoutId = setTimeout(
4020                () => reject(new Error("intl-tel-input: initialCountryLookup timed out after 10s")),
4021                1e4
4022              );
4023            })
4024          ]);
4025          const iso2Lower = typeof iso2 === "string" ? iso2.toLowerCase() : "";
4026          if (!isIso2(iso2Lower)) {
4027            intlTelInput.startedLoadingAutoCountry = false;
4028            _Iti.forEachInstance("handleAutoCountryFailure");
4029            return;
4030          }
4031          intlTelInput.autoCountry = iso2Lower;
4032          setTimeout(() => _Iti.forEachInstance("handleAutoCountryLoaded"));
4033        } catch {
4034          intlTelInput.startedLoadingAutoCountry = false;
4035          _Iti.forEachInstance("handleAutoCountryFailure");
4036        } finally {
4037          if (timeoutId !== void 0) {
4038            clearTimeout(timeoutId);
4039          }
4040        }
4041      }
4042    }
4043    #openCountrySelectorWithPlus() {
4044      this.openCountrySelector();
4045      this.#ui.prefillSearchWithPlus();
4046    }
4047    //* Delete the character just typed (the one immediately before the caret). Used by Android workarounds where we can't preventDefault on keydown.
4048    #removeJustTypedChar(inputValue) {
4049      const currentCaretPos = this.#ui.telInputEl.selectionStart || 0;
4050      const valueBeforeCaret = inputValue.substring(0, currentCaretPos - 1);
4051      const valueAfterCaret = inputValue.substring(currentCaretPos);
4052      this.#setTelInputValue(valueBeforeCaret + valueAfterCaret);
4053      return currentCaretPos - 1;
4054    }
4055    //* Initialize the tel input listeners.
4056    #bindAllTelInputListeners() {
4057      this.#bindInputListener();
4058      this.#bindKeydownListener();
4059      this.#bindStrictPasteListener();
4060    }
4061    //* Android workaround for handling plus when separateDialCode enabled (as impossible to handle with keydown/keyup, for which e.key always returns "Unidentified", see https://stackoverflow.com/q/59584061/217866)
4062    #handleAndroidPlusKey(inputValue) {
4063      this.#removeJustTypedChar(inputValue);
4064      this.#openCountrySelectorWithPlus();
4065    }
4066    //* Android strictMode workaround: the keydown-based filter can't block these because e.key is "Unidentified" on Android virtual keyboards, so strip them here on input.
4067    #handleAndroidStrictReject(inputValue, rejectedInput) {
4068      const newCaretPos = this.#removeJustTypedChar(inputValue);
4069      this.#ui.telInputEl.setSelectionRange(newCaretPos, newCaretPos);
4070      this.#ui.playStrictRejectAnimation();
4071      this.#dispatchEvent(EVENTS.STRICT_REJECT, {
4072        source: "key",
4073        rejectedInput,
4074        reason: "invalid"
4075      });
4076    }
4077    //* Format the input value using libphonenumber's AYT formatter, preserving caret position (called after an input event).
4078    #formatAsYouType(inputValue, isDeleteForwards) {
4079      const currentCaretPos = this.#ui.telInputEl.selectionStart || 0;
4080      const valueBeforeCaret = inputValue.substring(0, currentCaretPos);
4081      const relevantCharsBeforeCaret = valueBeforeCaret.replace(
4082        REGEX.NON_PLUS_NUMERIC_GLOBAL,
4083        ""
4084      ).length;
4085      const fullNumber = this.#getFullNumber();
4086      const formattedValue = formatNumberAsYouType(
4087        fullNumber,
4088        inputValue,
4089        intlTelInput.utils,
4090        this.#selectedCountry,
4091        this.#options.separateDialCode
4092      );
4093      const newCaretPos = computeNewCaretPosition(
4094        relevantCharsBeforeCaret,
4095        formattedValue,
4096        currentCaretPos,
4097        isDeleteForwards
4098      );
4099      this.#setTelInputValue(formattedValue);
4100      this.#ui.telInputEl.setSelectionRange(newCaretPos, newCaretPos);
4101    }
4102    //* If separateDialCode AND typed dial code (e.g. from paste or autofill, or from typing a dial code when countrySearch disabled), then remove the typed dial code.
4103    //* Only strip when a full dial code is actually present — otherwise a lone typed "+" (or partial prefix) would get erased.
4104    #stripTypedDialCode(inputValue) {
4105      if (inputValue.startsWith("+") && this.#selectedCountry && this.#getDialCode(inputValue)) {
4106        const cleanNumber = stripSeparateDialCode(
4107          inputValue,
4108          true,
4109          true,
4110          this.#selectedCountry
4111        );
4112        this.#setTelInputValue(cleanNumber);
4113      }
4114    }
4115    #bindInputListener() {
4116      this.#userOverrideFormatting = REGEX.ALPHA_UNICODE.test(
4117        this.#getTelInputValue()
4118      );
4119      this.#ui.telInputEl.addEventListener(
4120        "input",
4121        this.#handleInputEvent,
4122        {
4123          signal: this.#abortController.signal
4124        }
4125      );
4126    }
4127    //* On input event: (1) Update selected country, (2) Format-as-you-type.
4128    //* Note that this fires AFTER the input is updated.
4129    #handleInputEvent = (e) => {
4130      const {
4131        strictMode,
4132        formatAsYouType,
4133        separateDialCode,
4134        countrySelectorMode,
4135        countrySearch
4136      } = this.#options;
4137      const detail = e?.detail;
4138      if (detail?.["isCountryChange"]) {
4139        return;
4140      }
4141      let inputValue = this.#getTelInputValue();
4142      const isPaste = e?.inputType === INPUT_TYPES.PASTE;
4143      const isStrictPaste = strictMode && isPaste;
4144      if (this.#isAndroid && !isPaste && e?.data === "+" && separateDialCode && countrySelectorMode !== COUNTRY_SELECTOR_MODE.OFF && countrySearch) {
4145        this.#handleAndroidPlusKey(inputValue);
4146        return;
4147      }
4148      if (this.#isAndroid && !isPaste && strictMode && (e?.data === " " || e?.data === "-" || e?.data === ".")) {
4149        this.#handleAndroidStrictReject(inputValue, e.data);
4150        return;
4151      }
4152      if (isStrictPaste) {
4153        const didRejectPaste = this.#handleStrictPasteInputEvent();
4154        if (didRejectPaste) {
4155          return;
4156        }
4157        inputValue = this.#getTelInputValue();
4158      }
4159      if (this.#updateCountryFromNumber(inputValue)) {
4160        this.#dispatchCountryChangeEvent();
4161        this.#dispatchEvent(EVENTS.INPUT, { isCountryChange: true });
4162      }
4163      const isFormattingChar = !isStrictPaste && e?.data && REGEX.NON_PLUS_NUMERIC.test(e.data);
4164      const isNonStrictPaste = isPaste && inputValue && !strictMode;
4165      if (isFormattingChar || isNonStrictPaste) {
4166        this.#userOverrideFormatting = true;
4167      } else if (!REGEX.NON_PLUS_NUMERIC.test(inputValue)) {
4168        this.#userOverrideFormatting = false;
4169      }
4170      if (formatAsYouType && !this.#userOverrideFormatting && !detail?.["isSetNumber"] && this.#numerals.isAscii()) {
4171        this.#formatAsYouType(
4172          inputValue,
4173          e?.inputType === INPUT_TYPES.DELETE_FORWARD
4174        );
4175      }
4176      if (separateDialCode) {
4177        this.#stripTypedDialCode(inputValue);
4178      }
4179    };
4180    #bindKeydownListener() {
4181      const { strictMode, separateDialCode } = this.#options;
4182      if (!strictMode && !separateDialCode) {
4183        return;
4184      }
4185      this.#ui.telInputEl.addEventListener("keydown", this.#handleKeydownEvent, {
4186        signal: this.#abortController.signal
4187      });
4188    }
4189    //* On keydown event: (1) if strictMode then prevent invalid characters, (2) if separateDialCode then handle plus key
4190    //* Note that this fires BEFORE the input is updated.
4191    #handleKeydownEvent = (e) => {
4192      const { strictMode, separateDialCode, countrySelectorMode, countrySearch } = this.#options;
4193      if (!e.key || e.key.length !== 1 || e.altKey || e.ctrlKey || e.metaKey) {
4194        return;
4195      }
4196      if (separateDialCode && countrySelectorMode !== COUNTRY_SELECTOR_MODE.OFF && countrySearch && e.key === "+") {
4197        e.preventDefault();
4198        this.#openCountrySelectorWithPlus();
4199        return;
4200      }
4201      if (!strictMode) {
4202        return;
4203      }
4204      const inputValue = this.#getTelInputValue();
4205      const alreadyHasPlus = inputValue.startsWith("+");
4206      const isInitialPlus = !alreadyHasPlus && this.#ui.telInputEl.selectionStart === 0 && e.key === "+";
4207      const normalisedKey = this.#numerals.normalise(e.key);
4208      const isNumeric = /^[0-9]$/.test(normalisedKey);
4209      const isAllowedChar = separateDialCode ? isNumeric : isInitialPlus || isNumeric;
4210      const input = this.#ui.telInputEl;
4211      const selStart = input.selectionStart;
4212      const selEnd = input.selectionEnd;
4213      const before = inputValue.slice(0, selStart ?? void 0);
4214      const after = inputValue.slice(selEnd ?? void 0);
4215      const newValue = before + normalisedKey + after;
4216      const newFullNumber = this.#buildFullNumber(newValue);
4217      let hasExceededMaxLength = getNumeric(newFullNumber).length > E164_MAX_DIGITS;
4218      if (!hasExceededMaxLength && intlTelInput.utils && this.#maxCoreNumberLength) {
4219        const coreNumber = intlTelInput.utils.getCoreNumber(
4220          newFullNumber,
4221          this.#selectedCountry?.iso2
4222        );
4223        hasExceededMaxLength = coreNumber.length > this.#maxCoreNumberLength;
4224      }
4225      const newCountry = this.#resolveCountryChangeFromNumber(newFullNumber);
4226      const isChangingDialCode = newCountry !== null;
4227      if (!isAllowedChar || hasExceededMaxLength && !isChangingDialCode && !isInitialPlus) {
4228        this.#ui.playStrictRejectAnimation();
4229        this.#dispatchEvent(EVENTS.STRICT_REJECT, {
4230          source: "key",
4231          rejectedInput: e.key,
4232          reason: !isAllowedChar ? "invalid" : "max-length"
4233        });
4234        e.preventDefault();
4235      }
4236    };
4237    #bindStrictPasteListener() {
4238      if (!this.#options.strictMode) {
4239        return;
4240      }
4241      this.#ui.telInputEl.addEventListener("paste", this.#handleStrictPasteEvent, {
4242        signal: this.#abortController.signal
4243      });
4244    }
4245    // In strict mode, remember paste details before the browser inserts the pasted text.
4246    // The actual sanitisation runs on the following input event so native paste stays enabled.
4247    #handleStrictPasteEvent = (e) => {
4248      const input = this.#ui.telInputEl;
4249      const inputValue = this.#getTelInputValue();
4250      this.#strictPasteSnapshot = {
4251        pastedRaw: e.clipboardData?.getData("text") ?? "",
4252        value: inputValue,
4253        selectionStart: input.selectionStart ?? inputValue.length,
4254        selectionEnd: input.selectionEnd ?? inputValue.length
4255      };
4256    };
4257    // Handle paste input events when strictMode is enabled by sanitising the pasted content after
4258    // the browser inserts it, and rejecting it entirely if it would result in an invalid number.
4259    #handleStrictPasteInputEvent() {
4260      const input = this.#ui.telInputEl;
4261      const pasteSnapshot = this.#strictPasteSnapshot;
4262      this.#strictPasteSnapshot = null;
4263      if (!pasteSnapshot) {
4264        return false;
4265      }
4266      const pastedRaw = pasteSnapshot.pastedRaw;
4267      const originalValue = pasteSnapshot.value;
4268      const selStart = pasteSnapshot.selectionStart;
4269      const selEnd = pasteSnapshot.selectionEnd;
4270      const before = originalValue.slice(0, selStart);
4271      const after = originalValue.slice(selEnd);
4272      const iso2 = this.#selectedCountry?.iso2;
4273      const pasted = this.#numerals.normalise(pastedRaw);
4274      const initialCharSelected = selStart === 0 && selEnd > 0;
4275      const allowLeadingPlus = !originalValue.startsWith("+") || initialCharSelected;
4276      const allowedChars = pasted.replace(REGEX.NON_PLUS_NUMERIC_GLOBAL, "");
4277      const hasLeadingPlus = allowedChars.startsWith("+");
4278      const numerics = allowedChars.replace(/\+/g, "");
4279      const sanitised = hasLeadingPlus && allowLeadingPlus ? `+${numerics}` : numerics;
4280      let newValue = before + sanitised + after;
4281      let rejectReason = sanitised !== pasted ? "invalid" : null;
4282      if (newValue.length > 30) {
4283        this.#rejectStrictPasteAsTooLong(pasteSnapshot);
4284        return true;
4285      }
4286      const excessDigits = getNumeric(this.#buildFullNumber(newValue)).length - E164_MAX_DIGITS;
4287      if (excessDigits > 0) {
4288        if (selEnd !== originalValue.length) {
4289          this.#rejectStrictPasteAsTooLong(pasteSnapshot);
4290          return true;
4291        }
4292        newValue = newValue.slice(0, newValue.length - excessDigits);
4293        rejectReason = "max-length";
4294      }
4295      if (this.#maxCoreNumberLength && newValue.length > 5 && intlTelInput.utils) {
4296        let coreNumber = intlTelInput.utils.getCoreNumber(newValue, iso2);
4297        while (coreNumber.length === 0 && newValue.length > 0) {
4298          newValue = newValue.slice(0, -1);
4299          coreNumber = intlTelInput.utils.getCoreNumber(newValue, iso2);
4300        }
4301        if (!coreNumber) {
4302          this.#rejectStrictPasteAsTooLong(pasteSnapshot);
4303          return true;
4304        }
4305        if (coreNumber.length > this.#maxCoreNumberLength) {
4306          if (selEnd === originalValue.length) {
4307            const trimLength = coreNumber.length - this.#maxCoreNumberLength;
4308            newValue = newValue.slice(0, newValue.length - trimLength);
4309            rejectReason = "max-length";
4310          } else {
4311            this.#rejectStrictPasteAsTooLong(pasteSnapshot);
4312            return true;
4313          }
4314        }
4315      }
4316      this.#setTelInputValue(newValue);
4317      const caretPos = selStart + sanitised.length;
4318      input.setSelectionRange(caretPos, caretPos);
4319      if (rejectReason) {
4320        if (pasted.length > 0 && sanitised.length === 0) {
4321          this.#ui.playStrictRejectAnimation();
4322        }
4323        this.#dispatchEvent(EVENTS.STRICT_REJECT, {
4324          source: "paste",
4325          rejectedInput: pastedRaw,
4326          reason: rejectReason
4327        });
4328      }
4329      return false;
4330    }
4331    // Reject a paste entirely because it would exceed the max length, restoring the previous value.
4332    #rejectStrictPasteAsTooLong(pasteSnapshot) {
4333      this.#ui.playStrictRejectAnimation();
4334      this.#dispatchEvent(EVENTS.STRICT_REJECT, {
4335        source: "paste",
4336        rejectedInput: pasteSnapshot.pastedRaw,
4337        reason: "max-length"
4338      });
4339      this.#restoreValueBeforeStrictPaste(pasteSnapshot);
4340    }
4341    #restoreValueBeforeStrictPaste(pasteSnapshot) {
4342      this.#setTelInputValue(pasteSnapshot.value);
4343      this.#ui.telInputEl.setSelectionRange(
4344        pasteSnapshot.selectionStart,
4345        pasteSnapshot.selectionEnd
4346      );
4347    }
4348    //* Adhere to the input's maxlength attr.
4349    #truncateToMaxLength(number) {
4350      const max = Number(this.#ui.telInputEl.getAttribute("maxlength"));
4351      return max && number.length > max ? number.substring(0, max) : number;
4352    }
4353    //* Trigger a custom event on the input (typed via ItiEventMap).
4354    #dispatchEvent(name, detailProps = {}) {
4355      const e = new CustomEvent(name, {
4356        bubbles: true,
4357        cancelable: true,
4358        detail: detailProps
4359      });
4360      this.#ui.telInputEl.dispatchEvent(e);
4361    }
4362    //* Open the country selector. Bail if already open — otherwise the existing AbortController gets overwritten
4363    //* and its listeners leak. Reachable via openCountrySelectorWithPlus when dropdownAlwaysOpen is set.
4364    //* Public so consumers can programmatically open the country selector.
4365    openCountrySelector() {
4366      if (this.#ui.isCountrySelectorOpen()) {
4367        return;
4368      }
4369      this.#ui.openCountrySelector(
4370        (li) => this.#selectListItem(li),
4371        () => this.#closeCountrySelectorInternal()
4372      );
4373      this.#dispatchEvent(EVENTS.OPEN_COUNTRY_SELECTOR);
4374    }
4375    //* Update the input's value to the given number (format first if possible)
4376    //* NOTE: this is called from setInitialState, handleUtilsLoaded and setNumber.
4377    #updateValueFromNumber(fullNumber) {
4378      const { numberDisplayFormat, separateDialCode } = this.#options;
4379      let number = fullNumber;
4380      if (intlTelInput.utils && this.#selectedCountry) {
4381        const isRegionless = hasRegionlessDialCode(fullNumber);
4382        const preserveUserNational = !number.startsWith("+") && !separateDialCode;
4383        const useNational = numberDisplayFormat === NUMBER_FORMAT.NATIONAL && !isRegionless || preserveUserNational;
4384        let format;
4385        if (useNational) {
4386          format = NUMBER_FORMAT.NATIONAL;
4387        } else if (numberDisplayFormat === NUMBER_FORMAT.E164 && !isRegionless) {
4388          format = NUMBER_FORMAT.E164;
4389        } else {
4390          format = NUMBER_FORMAT.INTERNATIONAL;
4391        }
4392        number = intlTelInput.utils.formatNumber(
4393          number,
4394          this.#selectedCountry?.iso2,
4395          format
4396        );
4397      }
4398      number = this.#prepareNumberForInput(number);
4399      this.#setTelInputValue(number);
4400    }
4401    //* Check if need to select a new country based on the given number
4402    //* Note: called from setInitialState, keyup handler, setNumber.
4403    #updateCountryFromNumber(fullNumber) {
4404      const iso2 = this.#resolveCountryChangeFromNumber(fullNumber);
4405      if (iso2 !== null) {
4406        return this.#updateSelectedCountry(iso2);
4407      }
4408      return false;
4409    }
4410    // if there is a selected country, and the number doesn't start with a dial code, then add it
4411    #withDialCodePrefix(number) {
4412      const dialCode = this.#selectedCountry?.dialCode;
4413      const nationalPrefix = this.#selectedCountry?.nationalPrefix;
4414      const alreadyHasPlus = number.startsWith("+");
4415      if (alreadyHasPlus || !dialCode) {
4416        return number;
4417      }
4418      const hasPrefix = nationalPrefix && number.startsWith(nationalPrefix) && !this.#options.separateDialCode;
4419      const cleanNumber = hasPrefix ? number.substring(1) : number;
4420      return `+${dialCode}${cleanNumber}`;
4421    }
4422    //* Get the new country iso2 (or "" for empty/globe state) based on the input number, or return null if no change.
4423    #resolveCountryChangeFromNumber(fullNumber) {
4424      const plusIndex = fullNumber.indexOf("+");
4425      let number = plusIndex > 0 ? fullNumber.substring(plusIndex) : fullNumber;
4426      const selectedIso2 = this.#selectedCountry?.iso2;
4427      number = this.#withDialCodePrefix(number);
4428      const dialCodeMatch = this.#getDialCode(number, true);
4429      const numeric = getNumeric(number);
4430      if (dialCodeMatch) {
4431        const dialCodeMatchNumeric = getNumeric(dialCodeMatch);
4432        const iso2Codes = this.#dialCodeToIso2Map[dialCodeMatchNumeric];
4433        if (iso2Codes.length === 1) {
4434          if (iso2Codes[0] === selectedIso2) {
4435            return null;
4436          }
4437          return iso2Codes[0];
4438        }
4439        return this.#resolveCountryChangeFromMultiMatch(
4440          iso2Codes,
4441          dialCodeMatchNumeric,
4442          numeric
4443        );
4444      } else if (number.startsWith("+") && numeric.length) {
4445        const currentDial = this.#selectedCountry?.dialCode || "";
4446        if (currentDial && currentDial.startsWith(numeric)) {
4447          return null;
4448        }
4449        if (!selectedIso2) {
4450          return null;
4451        }
4452        return "";
4453      } else if ((!number || number === "+") && !selectedIso2 && this.#fallbackCountryIso2) {
4454        return this.#fallbackCountryIso2;
4455      }
4456      return null;
4457    }
4458    //* Resolve the country when multiple countries share the matched dial code.
4459    #resolveCountryChangeFromMultiMatch(iso2Codes, dialCodeMatchNumeric, numeric) {
4460      const selectedIso2 = this.#selectedCountry?.iso2;
4461      const selectedDialCode = this.#selectedCountry?.dialCode;
4462      if (!selectedIso2 && this.#fallbackCountryIso2 && iso2Codes.includes(this.#fallbackCountryIso2)) {
4463        return this.#fallbackCountryIso2;
4464      }
4465      const isRegionlessNanpNumber = selectedDialCode === DIAL_CODE.NANP && isRegionlessNanp(numeric);
4466      if (isRegionlessNanpNumber) {
4467        return null;
4468      }
4469      const areaCodes = this.#selectedCountry?.areaCodes;
4470      const priority = this.#selectedCountry?.priority;
4471      if (areaCodes) {
4472        const dialCodeAreaCodes = areaCodes.map(
4473          (areaCode) => `${selectedDialCode}${areaCode}`
4474        );
4475        for (const dialCodeAreaCode of dialCodeAreaCodes) {
4476          if (numeric.startsWith(dialCodeAreaCode)) {
4477            return null;
4478          }
4479        }
4480      }
4481      const isMainCountry = priority === 0;
4482      const hasAreaCodesButNoneMatched = areaCodes && !isMainCountry && numeric.length > dialCodeMatchNumeric.length;
4483      const isValidSelection = selectedIso2 && iso2Codes.includes(selectedIso2) && !hasAreaCodesButNoneMatched;
4484      const alreadySelected = selectedIso2 === iso2Codes[0];
4485      if (!isValidSelection && !alreadySelected) {
4486        return iso2Codes[0];
4487      }
4488      return null;
4489    }
4490    //* Update the selected country, dial code (if separateDialCode), placeholder, title, and selected list item.
4491    //* Note: called from setInitialState, updateCountryFromNumber, selectListItem, setSelectedCountry.
4492    #updateSelectedCountry(iso2) {
4493      const prevIso2 = this.#selectedCountry?.iso2 || "";
4494      this.#selectedCountry = iso2 ? this.#countryByIso2.get(iso2) : null;
4495      if (this.#selectedCountry) {
4496        this.#fallbackCountryIso2 = this.#selectedCountry.iso2;
4497      }
4498      this.#ui.setSelectedCountry(this.#selectedCountry);
4499      this.#updatePlaceholder();
4500      this.#updateMaxCoreNumberLength();
4501      return prevIso2 !== iso2;
4502    }
4503    //* Update the maximum valid number length for the currently selected country.
4504    #updateMaxCoreNumberLength() {
4505      const { strictMode, placeholderNumberType, allowedNumberTypes } = this.#options;
4506      if (!strictMode || !intlTelInput.utils) {
4507        return;
4508      }
4509      const iso2 = this.#selectedCountry?.iso2;
4510      if (!iso2) {
4511        this.#maxCoreNumberLength = null;
4512        return;
4513      }
4514      let exampleNumber = intlTelInput.utils.getExampleNumber(
4515        iso2,
4516        placeholderNumberType,
4517        NUMBER_FORMAT.E164
4518      );
4519      let validNumber = exampleNumber;
4520      while (intlTelInput.utils.isValidNumber(
4521        exampleNumber,
4522        iso2,
4523        allowedNumberTypes
4524      )) {
4525        validNumber = exampleNumber;
4526        exampleNumber += "0";
4527      }
4528      const coreNumber = intlTelInput.utils.getCoreNumber(validNumber, iso2);
4529      this.#maxCoreNumberLength = coreNumber.length;
4530      if (iso2 === "by") {
4531        this.#maxCoreNumberLength = coreNumber.length + 1;
4532      }
4533    }
4534    //* Update the input placeholder to an example number from the currently selected country.
4535    #updatePlaceholder() {
4536      const {
4537        placeholderNumberPolicy,
4538        placeholderNumberType,
4539        numberDisplayFormat,
4540        customPlaceholder
4541      } = this.#options;
4542      const shouldSetPlaceholder = placeholderNumberPolicy === PLACEHOLDER_POLICY.AGGRESSIVE || !this.#ui.hadInitialPlaceholder && placeholderNumberPolicy === PLACEHOLDER_POLICY.POLITE;
4543      if (!intlTelInput.utils || !shouldSetPlaceholder) {
4544        return;
4545      }
4546      let placeholder = this.#selectedCountry ? intlTelInput.utils.getExampleNumber(
4547        this.#selectedCountry.iso2,
4548        placeholderNumberType,
4549        numberDisplayFormat
4550      ) : "";
4551      placeholder = this.#prepareNumberForInput(placeholder);
4552      if (typeof customPlaceholder === "function") {
4553        placeholder = customPlaceholder(placeholder, this.#selectedCountry);
4554      }
4555      this.#ui.telInputEl.setAttribute("placeholder", placeholder);
4556    }
4557    //* Called when the user selects a list item from the country list (no-op if listItem is null).
4558    #selectListItem(listItem) {
4559      if (!listItem) {
4560        return;
4561      }
4562      const iso2 = listItem.dataset[DATA_KEYS.ISO2];
4563      const countryChanged = this.#updateSelectedCountry(iso2);
4564      this.#closeCountrySelectorInternal();
4565      const dialCode = listItem.dataset[DATA_KEYS.DIAL_CODE];
4566      this.#updateDialCode(dialCode);
4567      const inputValue = this.#getTelInputValue();
4568      this.#updateValueFromNumber(inputValue);
4569      this.#ui.telInputEl.focus();
4570      if (countryChanged) {
4571        this.#dispatchCountryChangeEvent();
4572        this.#dispatchEvent(EVENTS.INPUT, { isCountryChange: true });
4573      }
4574    }
4575    //* Public: close the country selector (consumer-callable; delegates to the internal helper
4576    //* without the destroy-specific path).
4577    closeCountrySelector() {
4578      this.#closeCountrySelectorInternal();
4579    }
4580    //* Close the country selector and unbind any listeners. The isDestroy flag forces close even
4581    //* when dropdownAlwaysOpen is set, so destroy() can fully tear down.
4582    #closeCountrySelectorInternal(isDestroy) {
4583      if (!this.#ui.isCountrySelectorOpen() || this.#options.dropdownAlwaysOpen && !isDestroy) {
4584        return;
4585      }
4586      this.#ui.closeCountrySelector();
4587      this.#dispatchEvent(EVENTS.CLOSE_COUNTRY_SELECTOR);
4588    }
4589    //* Replace any existing dial code with the new one
4590    //* Note: called from selectListItem and setSelectedCountry
4591    #updateDialCode(newDialCodeDigits) {
4592      const inputValue = this.#getTelInputValue();
4593      if (!inputValue.startsWith("+")) {
4594        return;
4595      }
4596      const newDialCode = `+${newDialCodeDigits}`;
4597      const prevDialCode = this.#getDialCode(inputValue);
4598      let newNumber;
4599      if (prevDialCode) {
4600        newNumber = inputValue.replace(prevDialCode, newDialCode);
4601      } else {
4602        newNumber = newDialCode;
4603      }
4604      this.#setTelInputValue(newNumber);
4605    }
4606    //* Try and extract a valid international dial code from a full telephone number.
4607    //* Note: returns the raw string inc plus character and any whitespace/dots etc.
4608    #getDialCode(number, includeAreaCode) {
4609      if (!number.startsWith("+")) {
4610        return "";
4611      }
4612      let dialCode = "";
4613      let numericChars = "";
4614      let foundBaseDialCode = false;
4615      for (let i = 0; i < number.length; i++) {
4616        const c = number.charAt(i);
4617        if (!/[0-9]/.test(c)) {
4618          continue;
4619        }
4620        numericChars += c;
4621        const hasMapEntry = Boolean(this.#dialCodeToIso2Map[numericChars]);
4622        if (!hasMapEntry) {
4623          break;
4624        }
4625        if (this.#dialCodes.has(numericChars)) {
4626          dialCode = number.substring(0, i + 1);
4627          foundBaseDialCode = true;
4628          if (!includeAreaCode) {
4629            break;
4630          }
4631        } else if (includeAreaCode && foundBaseDialCode) {
4632          dialCode = number.substring(0, i + 1);
4633        }
4634        if (numericChars.length === this.#dialCodeMaxLength) {
4635          break;
4636        }
4637      }
4638      return dialCode;
4639    }
4640    //* Build a full number from an already-normalised value, adding the dial code if separateDialCode is enabled.
4641    #buildFullNumber(value) {
4642      const dialCode = this.#selectedCountry?.dialCode;
4643      const numericValue = getNumeric(value);
4644      const usePrefix = this.#options.separateDialCode && !value.startsWith("+") && dialCode && numericValue;
4645      return (usePrefix ? `+${dialCode}` : "") + value;
4646    }
4647    //* Get the input value as a full number, adding the dial code if separateDialCode is enabled.
4648    #getFullNumber() {
4649      const value = this.#getTelInputValue();
4650      return this.#buildFullNumber(value);
4651    }
4652    //* Remove the dial code if separateDialCode is enabled also cap the length if the input has a maxlength attribute
4653    #prepareNumberForInput(fullNumber) {
4654      const hasValidDialCode = Boolean(this.#getDialCode(fullNumber));
4655      const number = stripSeparateDialCode(
4656        fullNumber,
4657        hasValidDialCode,
4658        this.#options.separateDialCode,
4659        this.#selectedCountry
4660      );
4661      return this.#truncateToMaxLength(number);
4662    }
4663    //* Dispatch the 'countrychange' event.
4664    #dispatchCountryChangeEvent() {
4665      this.#dispatchEvent(EVENTS.COUNTRY_CHANGE, this.#selectedCountry ?? null);
4666    }
4667    //**************************
4668    //*  INTERNAL METHODS
4669    //**************************
4670    //* Called when the initial country lookup returns.
4671    #handleAutoCountryLoaded() {
4672      if (!this.#autoCountryDeferred || !intlTelInput.autoCountry) {
4673        return;
4674      }
4675      if (!this.#isActive) {
4676        this.#autoCountryDeferred.resolve();
4677        return;
4678      }
4679      const isFocused = document.activeElement === this.#ui.telInputEl;
4680      const hasTypedValue = Boolean(this.#getTelInputValue());
4681      if (this.#ui.isLoading() && !(isFocused && hasTypedValue)) {
4682        this.setSelectedCountry(intlTelInput.autoCountry);
4683      } else {
4684        this.#fallbackCountryIso2 = intlTelInput.autoCountry;
4685      }
4686      this.#ui.setLoading(false);
4687      this.#autoCountryDeferred.resolve();
4688    }
4689    //* Called when the initial country lookup fails or times out.
4690    #handleAutoCountryFailure() {
4691      if (!this.#isActive) {
4692        this.#autoCountryDeferred?.reject();
4693        return;
4694      }
4695      if (this.#ui.isLoading()) {
4696        this.#setInitialState(true);
4697      }
4698      this.#ui.setLoading(false);
4699      this.#autoCountryDeferred?.reject();
4700    }
4701    //* Called when the utils request completes.
4702    #handleUtilsLoaded() {
4703      if (!this.#isActive) {
4704        this.#utilsDeferred?.resolve();
4705        return;
4706      }
4707      if (!intlTelInput.utils) {
4708        this.#utilsDeferred?.resolve();
4709        return;
4710      }
4711      const inputValue = this.#getTelInputValue();
4712      const isFocused = document.activeElement === this.#ui.telInputEl;
4713      if (inputValue && !isFocused) {
4714        this.#updateValueFromNumber(inputValue);
4715      }
4716      if (this.#selectedCountry) {
4717        this.#updatePlaceholder();
4718        this.#updateMaxCoreNumberLength();
4719      }
4720      this.#utilsDeferred?.resolve();
4721    }
4722    //* Called when the utils request fails or times out.
4723    #handleUtilsFailure(error) {
4724      if (!this.#isActive) {
4725        this.#utilsDeferred?.reject(error);
4726        return;
4727      }
4728      this.#utilsDeferred?.reject(error);
4729    }
4730    //********************
4731    //*  PUBLIC METHODS
4732    //********************
4733    //* Remove core library.
4734    destroy() {
4735      if (!this.#isActive) {
4736        return;
4737      }
4738      this.#isActive = false;
4739      if (this.#options.countrySelectorMode !== COUNTRY_SELECTOR_MODE.OFF) {
4740        this.#closeCountrySelectorInternal(true);
4741      }
4742      this.#abortController.abort();
4743      this.#ui.destroy();
4744      intlTelInput.instances.delete(String(this.id));
4745    }
4746    // check if the instance is still valid (not destroyed)
4747    isActive() {
4748      return this.#isActive;
4749    }
4750    //* Get the extension from the current number.
4751    getExtension() {
4752      if (!this.#isActive) {
4753        return "";
4754      }
4755      ensureUtils("getExtension");
4756      return intlTelInput.utils.getExtension(
4757        this.#getFullNumber(),
4758        this.#selectedCountry?.iso2
4759      );
4760    }
4761    //* Format the number to the given format (defaults to "E164").
4762    getNumber(format) {
4763      if (!this.#isActive) {
4764        return "";
4765      }
4766      ensureUtils("getNumber");
4767      const iso2 = this.#selectedCountry?.iso2;
4768      const fullNumber = this.#getFullNumber();
4769      const formattedNumber = intlTelInput.utils.formatNumber(
4770        fullNumber,
4771        iso2,
4772        format
4773      );
4774      return this.#numerals.denormalise(formattedNumber);
4775    }
4776    //* Get the type of the entered number e.g. "FIXED_LINE" / "MOBILE", or null if it can't be determined / instance is destroyed.
4777    getNumberType() {
4778      if (!this.#isActive) {
4779        return null;
4780      }
4781      ensureUtils("getNumberType");
4782      return intlTelInput.utils.getNumberType(
4783        this.#getFullNumber(),
4784        this.#selectedCountry?.iso2
4785      );
4786    }
4787    //* Get the country data for the currently selected country.
4788    getSelectedCountry() {
4789      return this.#selectedCountry ?? null;
4790    }
4791    //* Get the validation error e.g. "TOO_SHORT" / "TOO_LONG", or null if it can't be determined / instance is destroyed.
4792    getValidationError() {
4793      if (!this.#isActive) {
4794        return null;
4795      }
4796      ensureUtils("getValidationError");
4797      const iso2 = this.#selectedCountry?.iso2;
4798      return intlTelInput.utils.getValidationError(this.#getFullNumber(), iso2);
4799    }
4800    //* Validate the input value using number length only
4801    isValidNumber() {
4802      if (!this.#isActive) {
4803        return null;
4804      }
4805      ensureUtils("isValidNumber");
4806      const dialCode = this.#selectedCountry?.dialCode;
4807      const iso2 = this.#selectedCountry?.iso2;
4808      const number = this.#getFullNumber();
4809      const coreNumber = intlTelInput.utils.getCoreNumber(number, iso2);
4810      if (coreNumber) {
4811        if (dialCode === UK.DIAL_CODE) {
4812          if (coreNumber[0] === UK.MOBILE_PREFIX && coreNumber.length !== UK.MOBILE_CORE_LENGTH) {
4813            return false;
4814          }
4815        }
4816        const hasAlphaChar = REGEX.ALPHA_UNICODE.test(number);
4817        if (!hasAlphaChar && dialCode) {
4818          const nationalPortion = number.startsWith("+") ? number.slice(1 + dialCode.length) : number;
4819          const nationalDigitCount = getNumeric(nationalPortion).length;
4820          if (coreNumber.length > nationalDigitCount) {
4821            return false;
4822          }
4823        }
4824      }
4825      return this.#validateNumber("possible");
4826    }
4827    //* Validate the input value with precise validation
4828    isValidNumberPrecise() {
4829      if (!this.#isActive) {
4830        return null;
4831      }
4832      ensureUtils("isValidNumberPrecise");
4833      return this.#validateNumber("precise");
4834    }
4835    //* Shared internal validation logic to handle alpha character extension rules.
4836    #validateNumber(mode) {
4837      const { allowNumberExtensions, allowPhonewords, allowedNumberTypes } = this.#options;
4838      const iso2 = this.#selectedCountry?.iso2;
4839      const value = this.#getFullNumber();
4840      if (!this.#selectedCountry && !hasRegionlessDialCode(value)) {
4841        return false;
4842      }
4843      const check = mode === "precise" ? intlTelInput.utils.isValidNumberPrecise : intlTelInput.utils.isValidNumber;
4844      if (!check(value, iso2, allowedNumberTypes)) {
4845        return false;
4846      }
4847      if (REGEX.ALPHA_UNICODE.test(value)) {
4848        const hasExtension = Boolean(
4849          intlTelInput.utils.getExtension(value, iso2)
4850        );
4851        return hasExtension ? allowNumberExtensions : allowPhonewords;
4852      }
4853      return true;
4854    }
4855    //* Update the selected country, and update the input value accordingly.
4856    setSelectedCountry(iso2) {
4857      if (!this.#isActive) {
4858        return;
4859      }
4860      const iso2Lower = iso2?.toLowerCase();
4861      if (!isIso2(iso2Lower)) {
4862        throw new Error(`Invalid iso2 code: '${iso2Lower}'`);
4863      }
4864      const currentCountry = this.#selectedCountry?.iso2;
4865      const isCountryChange = iso2 && iso2Lower !== currentCountry || !iso2 && currentCountry;
4866      if (!isCountryChange) {
4867        return;
4868      }
4869      this.#updateSelectedCountry(iso2Lower);
4870      this.#updateDialCode(this.#selectedCountry?.dialCode || "");
4871      const inputValue = this.#getTelInputValue();
4872      this.#updateValueFromNumber(inputValue);
4873      this.#dispatchCountryChangeEvent();
4874      this.#dispatchEvent(EVENTS.INPUT, { isCountryChange: true });
4875    }
4876    //* Set the input value and update the country.
4877    setNumber(number) {
4878      if (!this.#isActive) {
4879        return;
4880      }
4881      const normalisedNumber = this.#numerals.normalise(number);
4882      const countryChanged = this.#updateCountryFromNumber(normalisedNumber);
4883      this.#updateValueFromNumber(normalisedNumber);
4884      if (countryChanged) {
4885        this.#dispatchCountryChangeEvent();
4886      }
4887      this.#dispatchEvent(EVENTS.INPUT, { isSetNumber: true });
4888    }
4889    //* Set the placeholder number type
4890    setPlaceholderNumberType(type) {
4891      if (!this.#isActive) {
4892        return;
4893      }
4894      this.#options.placeholderNumberType = type;
4895      this.#updatePlaceholder();
4896    }
4897    // Set the disabled state of the input and country selector.
4898    setDisabled(disabled) {
4899      if (!this.#isActive) {
4900        return;
4901      }
4902      this.#ui.setDisabled(disabled);
4903    }
4904    // Set the readonly state of the input and country selector.
4905    setReadonly(readonly) {
4906      if (!this.#isActive) {
4907        return;
4908      }
4909      this.#ui.setReadonly(readonly);
4910    }
4911    //********************
4912    //*  STATIC METHODS
4913    //********************
4914    // Internal instance notification used by utils/initial-country loaders.
4915    // Kept public so module-level helpers (e.g. attachUtils) can call it, while still allowing
4916    // access to private instance methods.
4917    static forEachInstance(method, ...args) {
4918      const values = [...intlTelInput.instances.values()];
4919      const arg = args[0];
4920      values.forEach((instance) => {
4921        if (!(instance instanceof _Iti)) {
4922          return;
4923        }
4924        switch (method) {
4925          case "handleUtilsLoaded":
4926            instance.#handleUtilsLoaded();
4927            break;
4928          case "handleUtilsFailure":
4929            instance.#handleUtilsFailure(arg);
4930            break;
4931          case "handleAutoCountryLoaded":
4932            instance.#handleAutoCountryLoaded();
4933            break;
4934          case "handleAutoCountryFailure":
4935            instance.#handleAutoCountryFailure();
4936            break;
4937        }
4938      });
4939    }
4940  };
4941  var attachUtils = async (source) => {
4942    if (intlTelInput.utils || intlTelInput.startedLoadingUtils) {
4943      return null;
4944    }
4945    if (typeof source !== "function") {
4946      throw new TypeError(
4947        `The argument passed to attachUtils must be a function that returns a promise for the utils module, not ${typeof source}`
4948      );
4949    }
4950    intlTelInput.startedLoadingUtils = true;
4951    try {
4952      const module = await source();
4953      const utils = module?.default;
4954      if (!utils || typeof utils !== "object") {
4955        throw new TypeError(
4956          "The loader function passed to attachUtils did not resolve to a module object with utils as its default export."
4957        );
4958      }
4959      intlTelInput.utils = utils;
4960      Iti.forEachInstance("handleUtilsLoaded");
4961      return true;
4962    } catch (error) {
4963      Iti.forEachInstance("handleUtilsFailure", error);
4964      throw error;
4965    }
4966  };
4967  var intlTelInput = Object.assign(
4968    (input, options) => {
4969      const iti = new Iti(input, options);
4970      intlTelInput.instances.set(String(iti.id), iti);
4971      input.iti = iti;
4972      return iti;
4973    },
4974    {
4975      defaults,
4976      //* Using a static var like this allows us to mock it in the tests.
4977      documentReady: () => document.readyState === "complete",
4978      //* Get the full list of all countries the library knows about.
4979      getAllCountries: () => data_default,
4980      //* A getter for the core library instance.
4981      getInstance: (input) => {
4982        const id = input.dataset[DATA_KEYS.INSTANCE_ID];
4983        return id ? intlTelInput.instances.get(id) ?? null : null;
4984      },
4985      //* A map from instance ID to instance object.
4986      instances: /* @__PURE__ */ new Map(),
4987      attachUtils,
4988      startedLoadingUtils: false,
4989      startedLoadingAutoCountry: false,
4990      version: "29.
49902.2
vendor: 24,548 bytes, lines 4990-5766
4990",
4991      NUMBER_FORMAT,
4992      NUMBER_TYPE,
4993      VALIDATION_ERROR,
4994      PLACEHOLDER_POLICY,
4995      COUNTRY_SELECTOR_MODE
4996    }
4997  );
4998  var intlTelInput_default = intlTelInput;
4999
5000  // packages/core/dist/js/utils.js
5001  var _scope = {};
5002  (function() {
5003    var k = this || self;
5004    function m(a, b) {
5005      a = a.split(".");
5006      var c = k;
5007      a[0] in c || typeof c.execScript == "undefined" || c.execScript("var " + a[0]);
5008      for (var d; a.length && (d = a.shift()); ) a.length || b === void 0 ? c[d] && c[d] !== Object.prototype[d] ? c = c[d] : c = c[d] = {} : c[d] = b;
5009    }
5010    function n(a, b) {
5011      function c() {
5012      }
5013      c.prototype = b.prototype;
5014      a.na = b.prototype;
5015      a.prototype = new c();
5016      a.prototype.constructor = a;
5017      a.ta = function(d, e, f) {
5018        for (var g = Array(arguments.length - 2), h = 2; h < arguments.length; h++) g[h - 2] = arguments[h];
5019        return b.prototype[e].apply(d, g);
5020      };
5021    }
5022    ;
5023    function aa(a) {
5024      const b = [];
5025      let c = 0;
5026      for (const d in a) b[c++] = a[d];
5027      return b;
5028    }
5029    ;
5030    var ca = class {
5031      constructor(a) {
5032        if (ba !== ba) throw Error("SafeUrl is not meant to be built directly");
5033        this.g = a;
5034      }
5035      toString() {
5036        return this.g.toString();
5037      }
5038    }, ba = {};
5039    new ca("about:invalid#zClosurez");
5040    new ca("about:blank");
5041    const da = {};
5042    class fa {
5043      constructor() {
5044        if (da !== da) throw Error("SafeStyle is not meant to be built directly");
5045      }
5046      toString() {
5047        return "".toString();
5048      }
5049    }
5050    new fa();
5051    const ha = {};
5052    class ia {
5053      constructor() {
5054        if (ha !== ha) throw Error("SafeStyleSheet is not meant to be built directly");
5055      }
5056      toString() {
5057        return "".toString();
5058      }
5059    }
5060    new ia();
5061    const ja = {};
5062    class ka {
5063      constructor() {
5064        var a = k.trustedTypes && k.trustedTypes.emptyHTML || "";
5065        if (ja !== ja) throw Error("SafeHtml is not meant to be built directly");
5066        this.g = a;
5067      }
5068      toString() {
5069        return this.g.toString();
5070      }
5071    }
5072    new ka();
5073    function la(a, b) {
5074      this.g = a;
5075      this.l = !!b.ca;
5076      this.h = b.i;
5077      this.u = b.type;
5078      this.o = false;
5079      switch (this.h) {
5080        case ma:
5081        case na:
5082        case oa:
5083        case pa:
5084        case qa:
5085        case ra:
5086        case sa:
5087          this.o = true;
5088      }
5089      this.j = b.defaultValue;
5090    }
5091    var sa = 1, ra = 2, ma = 3, na = 4, oa = 6, pa = 16, qa = 18;
5092    function ta(a, b) {
5093      this.h = a;
5094      this.g = {};
5095      for (a = 0; a < b.length; a++) {
5096        var c = b[a];
5097        this.g[c.g] = c;
5098      }
5099    }
5100    function ua(a) {
5101      a = aa(a.g);
5102      a.sort(function(b, c) {
5103        return b.g - c.g;
5104      });
5105      return a;
5106    }
5107    ;
5108    function p() {
5109      this.h = {};
5110      this.j = this.m().g;
5111      this.g = this.l = null;
5112    }
5113    p.prototype.has = function(a) {
5114      return q(this, a.g);
5115    };
5116    p.prototype.get = function(a, b) {
5117      return r(this, a.g, b);
5118    };
5119    p.prototype.set = function(a, b) {
5120      t(this, a.g, b);
5121    };
5122    p.prototype.add = function(a, b) {
5123      va(this, a.g, b);
5124    };
5125    p.prototype.equals = function(a) {
5126      if (!a || this.constructor != a.constructor) return false;
5127      for (var b = ua(this.m()), c = 0; c < b.length; c++) {
5128        var d = b[c], e = d.g;
5129        if (q(this, e) != q(a, e)) return false;
5130        if (q(this, e)) {
5131          var f = d.h == 11 || d.h == 10, g = u(this, e);
5132          e = u(a, e);
5133          if (d.l) {
5134            if (g.length != e.length) return false;
5135            for (d = 0; d < g.length; d++) {
5136              var h = g[d], l = e[d];
5137              if (f ? !h.equals(l) : h != l) return false;
5138            }
5139          } else if (f ? !g.equals(e) : g != e) return false;
5140        }
5141      }
5142      return true;
5143    };
5144    function wa(a, b) {
5145      for (var c = ua(a.m()), d = 0; d < c.length; d++) {
5146        var e = c[d], f = e.g;
5147        if (q(b, f)) {
5148          a.g && delete a.g[e.g];
5149          var g = e.h == 11 || e.h == 10;
5150          if (e.l) {
5151            e = u(b, f) || [];
5152            for (var h = 0; h < e.length; h++) va(a, f, g ? e[h].clone() : e[h]);
5153          } else e = u(b, f), g ? (g = u(a, f)) ? wa(g, e) : t(a, f, e.clone()) : t(a, f, e);
5154        }
5155      }
5156    }
5157    p.prototype.clone = function() {
5158      var a = new this.constructor();
5159      a != this && (a.h = {}, a.g && (a.g = {}), wa(a, this));
5160      return a;
5161    };
5162    function q(a, b) {
5163      return a.h[b] != null;
5164    }
5165    function u(a, b) {
5166      var c = a.h[b];
5167      if (c == null) return null;
5168      if (a.l) {
5169        if (!(b in a.g)) {
5170          var d = a.l, e = a.j[b];
5171          if (c != null) if (e.l) {
5172            for (var f = [], g = 0; g < c.length; g++) f[g] = d.h(e, c[g]);
5173            c = f;
5174          } else c = d.h(e, c);
5175          return a.g[b] = c;
5176        }
5177        return a.g[b];
5178      }
5179      return c;
5180    }
5181    function r(a, b, c) {
5182      var d = u(a, b);
5183      return a.j[b].l ? d[c || 0] : d;
5184    }
5185    function v(a, b) {
5186      if (q(a, b)) a = r(a, b);
5187      else a: {
5188        a = a.j[b];
5189        if (a.j === void 0) if (b = a.u, b === Boolean) a.j = false;
5190        else if (b === Number) a.j = 0;
5191        else if (b === String) a.j = a.o ? "0" : "";
5192        else {
5193          a = new b();
5194          break a;
5195        }
5196        a = a.j;
5197      }
5198      return a;
5199    }
5200    function w(a, b) {
5201      return a.j[b].l ? q(a, b) ? a.h[b].length : 0 : q(a, b) ? 1 : 0;
5202    }
5203    function t(a, b, c) {
5204      a.h[b] = c;
5205      a.g && (a.g[b] = c);
5206    }
5207    function va(a, b, c) {
5208      a.h[b] || (a.h[b] = []);
5209      a.h[b].push(c);
5210      a.g && delete a.g[b];
5211    }
5212    function x(a, b) {
5213      var c = [], d;
5214      for (d in b) d != 0 && c.push(new la(d, b[d]));
5215      return new ta(a, c);
5216    }
5217    ;
5218    function y() {
5219    }
5220    y.prototype.g = function(a) {
5221      new a.h();
5222      throw Error("Unimplemented");
5223    };
5224    y.prototype.h = function(a, b) {
5225      if (a.h == 11 || a.h == 10) return b instanceof p ? b : this.g(a.u.prototype.m(), b);
5226      if (a.h == 14) return typeof b === "string" && xa.test(b) && (a = Number(b), a > 0) ? a : b;
5227      if (!a.o) return b;
5228      a = a.u;
5229      if (a === String) {
5230        if (typeof b === "number") return String(b);
5231      } else if (a === Number && typeof b === "string" && (b === "Infinity" || b === "-Infinity" || b === "NaN" || xa.test(b))) return Number(b);
5232      return b;
5233    };
5234    var xa = /^-?[0-9]+$/;
5235    function ya() {
5236    }
5237    n(ya, y);
5238    ya.prototype.g = function(a, b) {
5239      a = new a.h();
5240      a.l = this;
5241      a.h = b;
5242      a.g = {};
5243      return a;
5244    };
5245    function z() {
5246    }
5247    n(z, ya);
5248    z.prototype.h = function(a, b) {
5249      return a.h == 8 ? !!b : y.prototype.h.apply(this, arguments);
5250    };
5251    z.prototype.g = function(a, b) {
5252      return z.na.g.call(this, a, b);
5253    };
5254    function B(a, b) {
5255      a != null && this.g.apply(this, arguments);
5256    }
5257    B.prototype.h = "";
5258    B.prototype.set = function(a) {
5259      this.h = "" + a;
5260    };
5261    B.prototype.g = function(a, b, c) {
5262      this.h += String(a);
5263      if (b != null) for (let d = 1; d < arguments.length; d++) this.h += arguments[d];
5264      return this;
5265    };
5266    function C(a) {
5267      a.h = "";
5268    }
5269    B.prototype.toString = function() {
5270      return this.h;
5271    };
5272    function D() {
5273      p.call(this);
5274    }
5275    n(D, p);
5276    var za = null;
5277    function E() {
5278      p.call(this);
5279    }
5280    n(E, p);
5281    var Aa = null;
5282    function F(a) {
5283      return u(a, 9) || [];
5284    }
5285    function G() {
5286      p.call(this);
5287    }
5288    n(G, p);
5289    var Ba = null;
5290    D.prototype.m = function() {
5291      var a = za;
5292      a || (za = a = x(D, { 0: { name: "NumberFormat", ja: "i18n.phonenumbers.NumberFormat" }, 1: { name: "pattern", required: true, i: 9, type: String }, 2: { name: "format", required: true, i: 9, type: String }, 3: { name: "leading_digits_pattern", ca: true, i: 9, type: String }, 4: { name: "national_prefix_formatting_rule", i: 9, type: String }, 6: { name: "national_prefix_optional_when_formatting", i: 8, defaultValue: false, type: Boolean }, 5: { name: "domestic_carrier_code_formatting_rule", i: 9, type: String } }));
5293      return a;
5294    };
5295    D.m = D.prototype.m;
5296    E.prototype.m = function() {
5297      var a = Aa;
5298      a || (Aa = a = x(E, { 0: { name: "PhoneNumberDesc", ja: "i18n.phonenumbers.PhoneNumberDesc" }, 2: { name: "national_number_pattern", i: 9, type: String }, 9: { name: "possible_length", ca: true, i: 5, type: Number }, 10: { name: "possible_length_local_only", ca: true, i: 5, type: Number }, 6: { name: "example_number", i: 9, type: String } }));
5299      return a;
5300    };
5301    E.m = E.prototype.m;
5302    G.prototype.m = function() {
5303      var a = Ba;
5304      a || (Ba = a = x(G, {
5305        0: { name: "PhoneMetadata", ja: "i18n.phonenumbers.PhoneMetadata" },
5306        1: { name: "general_desc", i: 11, type: E },
5307        2: { name: "fixed_line", i: 11, type: E },
5308        3: { name: "mobile", i: 11, type: E },
5309        4: { name: "toll_free", i: 11, type: E },
5310        5: { name: "premium_rate", i: 11, type: E },
5311        6: { name: "shared_cost", i: 11, type: E },
5312        7: { name: "personal_number", i: 11, type: E },
5313        8: { name: "voip", i: 11, type: E },
5314        21: { name: "pager", i: 11, type: E },
5315        25: { name: "uan", i: 11, type: E },
5316        27: { name: "emergency", i: 11, type: E },
5317        28: { name: "voicemail", i: 11, type: E },
5318        29: { name: "short_code", i: 11, type: E },
5319        30: { name: "standard_rate", i: 11, type: E },
5320        31: { name: "carrier_specific", i: 11, type: E },
5321        33: { name: "sms_services", i: 11, type: E },
5322        24: { name: "no_international_dialling", i: 11, type: E },
5323        9: { name: "id", required: true, i: 9, type: String },
5324        10: { name: "country_code", i: 5, type: Number },
5325        11: { name: "international_prefix", i: 9, type: String },
5326        17: { name: "preferred_international_prefix", i: 9, type: String },
5327        12: { name: "national_prefix", i: 9, type: String },
5328        13: { name: "preferred_extn_prefix", i: 9, type: String },
5329        15: {
5330          name: "national_prefix_for_parsing",
5331          i: 9,
5332          type: String
5333        },
5334        16: { name: "national_prefix_transform_rule", i: 9, type: String },
5335        18: { name: "same_mobile_and_fixed_line_pattern", i: 8, defaultValue: false, type: Boolean },
5336        19: { name: "number_format", ca: true, i: 11, type: D },
5337        20: { name: "intl_number_format", ca: true, i: 11, type: D },
5338        22: { name: "main_country_for_code", i: 8, defaultValue: false, type: Boolean },
5339        23: { name: "leading_digits", i: 9, type: String }
5340      }));
5341      return a;
5342    };
5343    G.m = G.prototype.m;
5344    function H() {
5345      p.call(this);
5346    }
5347    n(H, p);
5348    var Ca = null, Da = { sa: 0, ra: 1, qa: 5, pa: 10, oa: 20 };
5349    H.prototype.m = function() {
5350      var a = Ca;
5351      a || (Ca = a = x(H, { 0: { name: "PhoneNumber", ja: "i18n.phonenumbers.PhoneNumber" }, 1: { name: "country_code", required: true, i: 5, type: Number }, 2: { name: "national_number", required: true, i: 4, type: Number }, 3: { name: "extension", i: 9, type: String }, 4: { name: "italian_leading_zero", i: 8, type: Boolean }, 8: { name: "number_of_leading_zeros", i: 5, defaultValue: 1, type: Number }, 5: { name: "raw_input", i: 9, type: String }, 6: { name: "country_code_source", i: 14, defaultValue: 0, type: Da }, 7: {
5352        name: "preferred_domestic_carrier_code",
5353        i: 9,
5354        type: String
5355      } }));
5356      return a;
5357    };
5358    H.ctor = H;
5359    H.ctor.m = H.prototype.m;
5360    var I = {
5361      1: "US AG AI AS BB BM BS CA DM DO GD GU JM KN KY LC MP MS PR SX TC TT VC VG VI".split(" "),
5362      7: ["RU", "KZ"],
5363      20: ["EG"],
5364      27: ["ZA"],
5365      30: ["GR"],
5366      31: ["NL"],
5367      32: ["BE"],
5368      33: ["FR"],
5369      34: ["ES"],
5370      36: ["HU"],
5371      39: ["IT", "VA"],
5372      40: ["RO"],
5373      41: ["CH"],
5374      43: ["AT"],
5375      44: ["GB", "GG", "IM", "JE"],
5376      45: ["DK"],
5377      46: ["SE"],
5378      47: ["NO", "SJ"],
5379      48: ["PL"],
5380      49: ["DE"],
5381      51: ["PE"],
5382      52: ["MX"],
5383      53: ["CU"],
5384      54: ["AR"],
5385      55: ["BR"],
5386      56: ["CL"],
5387      57: ["CO"],
5388      58: ["VE"],
5389      60: ["MY"],
5390      61: ["AU", "CC", "CX"],
5391      62: ["ID"],
5392      63: ["PH"],
5393      64: ["NZ"],
5394      65: ["SG"],
5395      66: ["TH"],
5396      81: ["JP"],
5397      82: ["KR"],
5398      84: ["VN"],
5399      86: ["CN"],
5400      90: ["TR"],
5401      91: ["IN"],
5402      92: ["PK"],
5403      93: ["AF"],
5404      94: ["LK"],
5405      95: ["MM"],
5406      98: ["IR"],
5407      211: ["SS"],
5408      212: ["MA", "EH"],
5409      213: ["DZ"],
5410      216: ["TN"],
5411      218: ["LY"],
5412      220: ["GM"],
5413      221: ["SN"],
5414      222: ["MR"],
5415      223: ["ML"],
5416      224: ["GN"],
5417      225: ["CI"],
5418      226: ["BF"],
5419      227: ["NE"],
5420      228: ["TG"],
5421      229: ["BJ"],
5422      230: ["MU"],
5423      231: ["LR"],
5424      232: ["SL"],
5425      233: ["GH"],
5426      234: ["NG"],
5427      235: ["TD"],
5428      236: ["CF"],
5429      237: ["CM"],
5430      238: ["CV"],
5431      239: ["ST"],
5432      240: ["GQ"],
5433      241: ["GA"],
5434      242: ["CG"],
5435      243: ["CD"],
5436      244: ["AO"],
5437      245: ["GW"],
5438      246: ["IO"],
5439      247: ["AC"],
5440      248: ["SC"],
5441      249: ["SD"],
5442      250: ["RW"],
5443      251: ["ET"],
5444      252: ["SO"],
5445      253: ["DJ"],
5446      254: ["KE"],
5447      255: ["TZ"],
5448      256: ["UG"],
5449      257: ["BI"],
5450      258: ["MZ"],
5451      260: ["ZM"],
5452      261: ["MG"],
5453      262: ["RE", "YT"],
5454      263: ["ZW"],
5455      264: ["NA"],
5456      265: ["MW"],
5457      266: ["LS"],
5458      267: ["BW"],
5459      268: ["SZ"],
5460      269: ["KM"],
5461      290: ["SH", "TA"],
5462      291: ["ER"],
5463      297: ["AW"],
5464      298: ["FO"],
5465      299: ["GL"],
5466      350: ["GI"],
5467      351: ["PT"],
5468      352: ["LU"],
5469      353: ["IE"],
5470      354: ["IS"],
5471      355: ["AL"],
5472      356: ["MT"],
5473      357: ["CY"],
5474      358: ["FI", "AX"],
5475      359: ["BG"],
5476      370: ["LT"],
5477      371: ["LV"],
5478      372: ["EE"],
5479      373: ["MD"],
5480      374: ["AM"],
5481      375: ["BY"],
5482      376: ["AD"],
5483      377: ["MC"],
5484      378: ["SM"],
5485      380: ["UA"],
5486      381: ["RS"],
5487      382: ["ME"],
5488      383: ["XK"],
5489      385: ["HR"],
5490      386: ["SI"],
5491      387: ["BA"],
5492      389: ["MK"],
5493      420: ["CZ"],
5494      421: ["SK"],
5495      423: ["LI"],
5496      500: ["FK"],
5497      501: ["BZ"],
5498      502: ["GT"],
5499      503: ["SV"],
5500      504: ["HN"],
5501      505: ["NI"],
5502      506: ["CR"],
5503      507: ["PA"],
5504      508: ["PM"],
5505      509: ["HT"],
5506      590: ["GP", "BL", "MF"],
5507      591: ["BO"],
5508      592: ["GY"],
5509      593: ["EC"],
5510      594: ["GF"],
5511      595: ["PY"],
5512      596: ["MQ"],
5513      597: ["SR"],
5514      598: ["UY"],
5515      599: ["CW", "BQ"],
5516      670: ["TL"],
5517      672: ["NF"],
5518      673: ["BN"],
5519      674: ["NR"],
5520      675: ["PG"],
5521      676: ["TO"],
5522      677: ["SB"],
5523      678: ["VU"],
5524      679: ["FJ"],
5525      680: ["PW"],
5526      681: ["WF"],
5527      682: ["CK"],
5528      683: ["NU"],
5529      685: ["WS"],
5530      686: ["KI"],
5531      687: ["NC"],
5532      688: ["TV"],
5533      689: ["PF"],
5534      690: ["TK"],
5535      691: ["FM"],
5536      692: ["MH"],
5537      800: ["001"],
5538      808: ["001"],
5539      850: ["KP"],
5540      852: ["HK"],
5541      853: ["MO"],
5542      855: ["KH"],
5543      856: ["LA"],
5544      870: ["001"],
5545      878: ["001"],
5546      880: ["BD"],
5547      881: ["001"],
5548      882: ["001"],
5549      883: ["001"],
5550      886: ["TW"],
5551      888: ["001"],
5552      960: ["MV"],
5553      961: ["LB"],
5554      962: ["JO"],
5555      963: ["SY"],
5556      964: ["IQ"],
5557      965: ["KW"],
5558      966: ["SA"],
5559      967: ["YE"],
5560      968: ["OM"],
5561      970: ["PS"],
5562      971: ["AE"],
5563      972: ["IL"],
5564      973: ["BH"],
5565      974: ["QA"],
5566      975: ["BT"],
5567      976: ["MN"],
5568      977: ["NP"],
5569      979: ["001"],
5570      992: ["TJ"],
5571      993: ["TM"],
5572      994: ["AZ"],
5573      995: ["GE"],
5574      996: ["KG"],
5575      998: ["UZ"]
5576    }, Ea = {
5577      AC: [, [
5578        ,
5579        ,
5580        "(?:[01589]\\d|[2-467])\\d{4}",
5581        ,
5582        ,
5583        ,
5584        ,
5585        ,
5586        ,
5587        [5, 6]
5588      ], [, , "6\\d{4}", , , , "62889", , , [5]], [, , "[2-47]\\d{4}", , , , "40123", , , [5]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AC", 247, "00", , , , , , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "(?:0[1-9]|[1589]\\d)\\d{4}", , , , "542011", , , [6]], , , [, , , , , , , , , [-1]]],
5589      AD: [
5590        ,
5591        [, , "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", , , , , , , [6, 8, 9]],
5592        [, , "[78]\\d{5}", , , , "712345", , , [6]],
5593        [, , "690\\d{6}|[356]\\d{5}", , , , "312345", , , [6, 9]],
5594        [, , "180[02]\\d{4}", , , , "18001234", , , [8]],
5595        [, , "[19]\\d{5}", , , , "912345", , , [6]],
5596        [, , , , , , , , , [-1]],
5597        [, , , , , , , , , [-1]],
5598        [, , , , , , , , , [-1]],
5599        "AD",
5600        376,
5601        "00",
5602        ,
5603        ,
5604        ,
5605        ,
5606        ,
5607        ,
5608        ,
5609        [[, "(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["1"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]],
5610        ,
5611        [, , , , , , , , , [-1]],
5612        ,
5613        ,
5614        [, , "1800\\d{4}", , , , , , , [8]],
5615        [, , , , , , , , , [-1]],
5616        ,
5617        ,
5618        [, , , , , , , , , [-1]]
5619      ],
5620      AE: [
5621        ,
5622        [, , "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", , , , , , , [5, 6, 7, 8, 9, 10, 11, 12]],
5623        [, , "[2-4679][2-8]\\d{6}", , , , "22345678", , , [8], [7]],
5624        [, , "5[02-68]\\d{7}", , , , "501234567", , , [9]],
5625        [, , "400\\d{6}|800\\d{2,9}", , , , "800123456"],
5626        [, , "900[02]\\d{5}", , , , "900234567", , , [9]],
5627        [, , "700[05]\\d{5}", , , , "700012345", , , [9]],
5628        [, , , , , , , , , [-1]],
5629        [, , , , , , , , , [-1]],
5630        "AE",
5631        971,
5632        "00",
5633        "0",
5634        ,
5635        ,
5636        "0",
5637        ,
5638        ,
5639        ,
5640        [[, "(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"], [, "(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"]],
5641        ,
5642        [, , , , , , , , , [-1]],
5643        ,
5644        ,
5645        [, , , , , , , , , [-1]],
5646        [, , "600[25]\\d{5}", , , , "600212345", , , [9]],
5647        ,
5648        ,
5649        [, , , , , , , , , [-1]]
5650      ],
5651      AF: [, [, , "[2-7]\\d{8}", , , , , , , [9], [7]], [
5652        ,
5653        ,
5654        "(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}",
5655        ,
5656        ,
5657        ,
5658        "234567890",
5659        ,
5660        ,
5661        ,
5662        [7]
5663      ], [, , "7\\d{8}", , , , "701234567", , , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AF", 93, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[1-9]"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
5664      AG: [, [, , "(?:268|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [
5665        ,
5666        ,
5667        "268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}",
5668        ,
5669        ,
5670        ,
5671        "2684601234",
5672        ,
5673        ,
5674        ,
5675        [7]
5676      ], [, , "268(?:464|7(?:1[3-9]|[28]\\d|3[0246]|64|7[0-689]))\\d{4}", , , , "2684641234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [
5677        ,
5678        ,
5679        "26848[01]\\d{4}",
5680        ,
5681        ,
5682        ,
5683        "2684801234",
5684        ,
5685        ,
5686        ,
5687        [7]
5688      ], "AG", 1, "011", "1", , , "([457]\\d{6})$|1", "268$1", , , , , [, , "26840[69]\\d{4}", , , , "2684061234", , , , [7]], , "268", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
5689      AI: [, [, , "(?:264|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "264(?:292|4(?:6[12]|9[78]))\\d{4}", , , , "2644612345", , , , [7]], [, , "264(?:235|4(?:69|7[67])|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}", , , , "2642351234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [
5690        ,
5691        ,
5692        "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}",
5693        ,
5694        ,
5695        ,
5696        "5002345678"
5697      ], [, , , , , , , , , [-1]], "AI", 1, "011", "1", , , "([2457]\\d{6})$|1", "264$1", , , , , [, , "264724\\d{4}", , , , "2647241234", , , , [7]], , "264", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
5698      AL: [, [, , "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", , , , , , , [6, 7, 8, 9], [5]], [, , "4505[0-2]\\d{3}|(?:[2358][16-9]\\d[2-9]|4410)\\d{4}|(?:[2358][2-5][2-9]|4(?:[2-57-9][2-9]|6\\d))\\d{5}", , , , "22345678", , , [8], [5, 6, 7]], [, , "6(?:[78][2-9]|9\\d)\\d{6}", , , , "672123456", , , [9]], [, , "800\\d{4}", , , , "8001234", , , [7]], [
5699        ,
5700        ,
5701        "900[1-9]\\d\\d",
5702        ,
5703        ,
5704        ,
5705        "900123",
5706        ,
5707        ,
5708        [6]
5709      ], [, , "808[1-9]\\d\\d", , , , "808123", , , [6]], [, , "700[2-9]\\d{4}", , , , "70021234", , , [8]], [, , , , , , , , , [-1]], "AL", 355, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"], [, "(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
5710      AM: [, [
5711        ,
5712        ,
5713        "(?:[1-489]\\d|55|60|77)\\d{6}",
5714        ,
5715        ,
5716        ,
5717        ,
5718        ,
5719        ,
5720        [8],
5721        [5, 6]
5722      ], [, , "(?:(?:1[0-25]|47)\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}", , , , "10123456", , , , [5, 6]], [, , "(?:33|4[1349]|55|77|88|9[13-9])\\d{6}", , , , "77123456"], [, , "800\\d{5}", , , , "80012345"], [, , "90[016]\\d{5}", , , , "90012345"], [, , "80[1-4]\\d{5}", , , , "80112345"], [, , , , , , , , , [-1]], [, , "60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\d|9[0-2])\\d{4}", , , , "60271234"], "AM", 374, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], [
5723        ,
5724        "(\\d{3})(\\d{5})",
5725        "$1 $2",
5726        ["2|3[12]"],
5727        "(0$1)"
5728      ], [, "(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], [, "(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
5729      AO: [
5730        ,
5731        [, , "[29]\\d{8}", , , , , , , [9]],
5732        [, , "2\\d(?:[0134][25-9]|[25-9]\\d)\\d{5}", , , , "222123456"],
5733        [, , "9[1-79]\\d{7}", , , , "923123456"],
5734        [, , , , , , , , , [-1]],
5735        [, , , , , , , , , [-1]],
5736        [, , , , , , , , , [-1]],
5737        [, , , , , , , , , [-1]],
5738        [, , , , , , , , , [-1]],
5739        "AO",
5740        244,
5741        "00",
5742        ,
5743        ,
5744        ,
5745        ,
5746        ,
5747        ,
5748        ,
5749        [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]],
5750        ,
5751        [, , , , , , , , , [-1]],
5752        ,
5753        ,
5754        [, , , , , , , , , [-1]],
5755        [, , , , , , , , , [-1]],
5756        ,
5757        ,
5758        [, , , , , , , , , [-1]]
5759      ],
5760      AR: [
5761        ,
5762        [, , "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", , , , , , , [10, 11], [6, 7, 8]],
5763        [
5764          ,
5765          ,
5766          "3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|47[35]|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|(?:2(?:657|9(?:54|66))|3(?:48[27]|7(?:55|77)|8(?:65|78)))[2-8]\\d{5}|(?:2(?:284|3(?:02|23)|477|622|920)|3(?:4(?:46|89|92)|541))[2-7]\\d{5}|(?:(?:11[
57661-8]|670)\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[25][4-6]|3[3-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|1[2-7]|3[4-6]|5[3-6]|7[2-6]|8[3-68])))\\d{6}|(?:2(?:2(?:62|81)|320|9(?:42|83))|3(?:329|4(?:62|7[16])|5(?:43|64)|7(?:18|5[17])))[2-6]\\d{5}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|(?:2(?:257|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|64)|5(?:25|37|4[47]|71)|7(?:35|72)|825))[3-6]\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[035-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[14]|4[13]|5[468]|7[3-5]|8[26])|8(?:2[67]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}",
5767          ,
5768          ,
5769          ,
5770          "1123456789",
5771          ,
5772          ,
5773          [10],
5774          [6, 7, 8]
5775        ],
5776        [
5777          ,
5778          ,
5779          "93(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|47[35]|9(?:[07]2|2[26]|34|46)
5779)|3327)[45]\\d{5}|9(?:2(?:657|9(?:54|66))|3(?:48[27]|7(?:55|77)|8(?:65|78)))[2-8]\\d{5}|9(?:2(?:284|3(?:02|23)|477|622|920)|3(?:4(?:46|89|92)|541))[2-7]\\d{5}|(?:675\\d|9(?:11[1
vendor: 21,308 bytes, lines 5779-6048
5779-8]\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[25][4-6]|3[3-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|1[2-7]|3[4-6]|5[3-6]|7[2-6]|8[3-68]))))\\d{6}|9(?:2(?:2(?:62|81)|320|9(?:42|83))|3(?:329|4(?:62|7[16])|5(?:43|64)|7(?:18|5[17])))[2-6]\\d{5}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|9(?:2(?:257|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|64)|5(?:25|37|4[47]|71)|7(?:35|72)|825))[3-6]\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[035-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[14]|4[13]|5[468]|7[3-5]|8[26])|8(?:2[67]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}",
5780          ,
5781          ,
5782          ,
5783          "91123456789",
5784          ,
5785          ,
5786          ,
5787          [6, 7, 8]
5788        ],
5789        [, , "800\\d{7,8}", , , , "8001234567"],
5790        [, , "60[04579]\\d{7}", , , , "6001234567", , , [10]],
5791        [, , , , , , , , , [-1]],
5792        [, , , , , , , , , [-1]],
5793        [, , , , , , , , , [-1]],
5794        "AR",
5795        54,
5796        "00",
5797        "0",
5798        ,
5799        ,
5800        "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?",
5801        "9$1",
5802        ,
5803        ,
5804        [[, "(\\d{3})", "$1", ["0|1(?:0[0-35-7]|1[02-5]|2[015]|3[47]|4[478])|911"]], [, "(\\d{2})(\\d{4})", "$1-$2", ["[1-9]"]], [, "(\\d{3})(\\d{4})", "$1-$2", ["[2-9]"]], [, "(\\d{4})(\\d{4})", "$1-$2", ["[1-8]"]], [
5805          ,
5806          "(\\d{4})(\\d{2})(\\d{4})",
5807          "$1 $2-$3",
5808          [
5809            "2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])",
5810            "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)",
5811            "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]",
5812            "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"
5813          ],
5814          "0$1",
5815          ,
5816          1
5817        ], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", , 1], [
5818          ,
5819          "(\\d)(\\d{4})(\\d{2})(\\d{4})",
5820          "$2 15-$3-$4",
5821          [
5822            "9(?:2[2-469]|3[3-578])",
5823            "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))",
5824            "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)",
5825            "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]",
5826            "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"
5827          ],
5828          "0$1"
5829        ], [, "(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], [, "(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1"]],
5830        [
5831          [
5832            ,
5833            "(\\d{4})(\\d{2})(\\d{4})",
5834            "$1 $2-$3",
5835            [
5836              "2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])",
5837              "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)",
5838              "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]",
5839              "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"
5840            ],
5841            "0$1",
5842            ,
5843            1
5844          ],
5845          [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", , 1],
5846          [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"],
5847          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", , 1],
5848          [, "(\\d)(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3-$4", [
5849            "9(?:2[2-469]|3[3-578])",
5850            "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))",
5851            "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)",
5852            "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]",
5853            "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"
5854          ]],
5855          [, "(\\d)(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3-$4", ["91"]],
5856          [, "(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"],
5857          [, "(\\d)(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3-$4", ["9"]]
5858        ],
5859        [, , , , , , , , , [-1]],
5860        ,
5861        ,
5862        [, , "810\\d{7}", , , , , , , [10]],
5863        [, , "810\\d{7}", , , , "8101234567", , , [10]],
5864        ,
5865        ,
5866        [, , , , , , , , , [-1]]
5867      ],
5868      AS: [, [, , "(?:[58]\\d\\d|684|900)\\d{7}", , , , , , , [10], [7]], [, , "684(?:274|6(?:22|33|44|55|77|88|9[19]))\\d{4}", , , , "6846221234", , , , [7]], [, , "684(?:2(?:48|5[2468]|7[246])|7(?:3[13]|70|82))\\d{4}", , , , "6847331234", , , , [7]], [
5869        ,
5870        ,
5871        "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",
5872        ,
5873        ,
5874        ,
5875        "8002123456"
5876      ], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "AS", 1, "011", "1", , , "([267]\\d{6})$|1", "684$1", , , , , [, , , , , , , , , [-1]], , "684", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
5877      AT: [, [
5878        ,
5879        ,
5880        "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",
5881        ,
5882        ,
5883        ,
5884        ,
5885        ,
5886        ,
5887        [4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
5888        [3]
5889      ], [, , "1(?:11\\d|[2-9]\\d{3,11})|(?:316|463)\\d{3,10}|648[34]\\d{3,9}|(?:51|66|73)2\\d{3,10}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-578]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|7[1368]|8[2457])|5(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[135-7]|5[468])|7(?:2[1-8]|35|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{4,10}", , , , "1234567890", , , , [3]], [
5890        ,
5891        ,
5892        "6(?:485|(?:5[0-3579]|6[013-9]|[7-9]\\d)\\d)\\d{3,9}",
5893        ,
5894        ,
5895        ,
5896        "664123456",
5897        ,
5898        ,
5899        [7, 8, 9, 10, 11, 12, 13]
5900      ], [, , "800\\d{6,10}", , , , "800123456", , , [9, 10, 11, 12, 13]], [, , "(?:8[69][2-68]|9(?:0[01]|3[019]))\\d{6,10}", , , , "900123456", , , [9, 10, 11, 12, 13]], [, , "8(?:10|2[018])\\d{6,10}|828\\d{5}", , , , "810123456", , , [8, 9, 10, 11, 12, 13]], [, , , , , , , , , [-1]], [, , "5(?:0[1-9]|17|[79]\\d)\\d{2,10}|7[28]0\\d{6,10}", , , , "780123456", , , [5, 6, 7, 8, 9, 10, 11, 12, 13]], "AT", 43, "00", "0", , , "0", , , , [[, "(\\d{4})", "$1", ["14"]], [, "(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], [, "(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], [
5901        ,
5902        "(\\d{2})(\\d{3,5})",
5903        "$1 $2",
5904        ["5[079]"],
5905        "0$1"
5906      ], [, "(\\d{6})", "$1", ["[18]"]], [, "(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"], [, "(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], [[, "(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], [, "(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], [
5907        ,
5908        "(\\d{2})(\\d{3,5})",
5909        "$1 $2",
5910        ["5[079]"],
5911        "0$1"
5912      ], [, "(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"], [, "(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
5913      AU: [, [
5914        ,
5915        ,
5916        "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}",
5917        ,
5918        ,
5919        ,
5920        ,
5921        ,
5922        ,
5923        [5, 6, 7, 8, 9, 10, 12]
5924      ], [, , "(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}", , , , "212345678", , , [9], [8]], [
5925        ,
5926        ,
5927        "4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}",
5928        ,
5929        ,
5930        ,
5931        "412345678",
5932        ,
5933        ,
5934        [9]
5935      ], [, , "180(?:0\\d{3}|2)\\d{3}", , , , "1800123456", , , [7, 10]], [, , "190[0-26]\\d{6}", , , , "1900123456", , , [10]], [, , "13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", , , , "1300123456", , , [6, 8, 10, 12]], [, , , , , , , , , [-1]], [, , "14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", , , , "147101234", , , [9]], "AU", 61, "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "0", , , "(183[12])|0", , "0011", , [[
5936        ,
5937        "(\\d{2})(\\d{3,4})",
5938        "$1 $2",
5939        ["16"],
5940        "0$1"
5941      ], [, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["13"]], [, "(\\d{3})(\\d{3})", "$1 $2", ["19"]], [, "(\\d{3})(\\d{4})", "$1 $2", ["180", "1802"]], [, "(\\d{4})(\\d{3,4})", "$1 $2", ["19"]], [, "(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)", "$CC ($1)"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]], [, "(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["130"]]], [[
5942        ,
5943        "(\\d{2})(\\d{3,4})",
5944        "$1 $2",
5945        ["16"],
5946        "0$1"
5947      ], [, "(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)", "$CC ($1)"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], [, , "163\\d{2,6}", , , , "1631234", , , [5, 6, 7, 8, 9]], 1, , [, , "1(?:3(?:00\\d{5}|45[0-4])|802)\\d{3}|1[38]00\\d{6}|13\\d{4}", , , , , , , [6, 7, 8, 10, 12]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
5948      AW: [, [, , "(?:[25-79]\\d\\d|800)\\d{4}", , , , , , , [7]], [
5949        ,
5950        ,
5951        "5(?:2\\d|8[1-9])\\d{4}",
5952        ,
5953        ,
5954        ,
5955        "5212345"
5956      ], [, , "(?:290|5[69]\\d|6(?:[03]0|22|4[0-2]|[69]\\d)|7(?:[34]\\d|7[07])|9(?:6[45]|9[4-8]))\\d{4}", , , , "5601234"], [, , "800\\d{4}", , , , "8001234"], [, , "900\\d{4}", , , , "9001234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:28\\d|501)\\d{4}", , , , "5011234"], "AW", 297, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
5957      AX: [, [, , "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}", , , , , , , [
5958        5,
5959        6,
5960        7,
5961        8,
5962        9,
5963        10,
5964        11,
5965        12
5966      ]], [, , "18[1-8]\\d{3,6}", , , , "181234567", , , [6, 7, 8, 9]], [, , "4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}", , , , "412345678", , , [6, 7, 8, 9, 10]], [, , "800\\d{4,6}", , , , "800123456", , , [7, 8, 9]], [, , "[67]00\\d{5,6}", , , , "600123456", , , [8, 9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AX", 358, "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "0", , , "0", , "00", , , , [, , , , , , , , , [-1]], , "18", [, , , , , , , , , [-1]], [
5967        ,
5968        ,
5969        "20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}",
5970        ,
5971        ,
5972        ,
5973        "10112345"
5974      ], , , [, , , , , , , , , [-1]]],
5975      AZ: [, [, , "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", , , , , , , [9], [7]], [, , "(?:2[12]428|3655[02])\\d{4}|(?:2(?:22[0-79]|63[0-28])|3654)\\d{5}|(?:(?:1[28]|46)\\d|2(?:[014-6]2|[23]3))\\d{6}", , , , "123123456", , , , [7]], [, , "36554\\d{4}|(?:[16]0|4[04]|5[015]|7[07]|99)\\d{7}", , , , "401234567"], [, , "88\\d{7}", , , , "881234567"], [, , "900200\\d{3}", , , , "900200123"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "AZ", 994, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[1-9]"]], [
5976        ,
5977        "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
5978        "$1 $2 $3 $4",
5979        ["90"],
5980        "0$1"
5981      ], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], [
5982        ,
5983        "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
5984        "$1 $2 $3 $4",
5985        ["[13-9]"],
5986        "0$1"
5987      ]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
5988      BA: [
5989        ,
5990        [, , "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", , , , , , , [8, 9], [6]],
5991        [, , "(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\d{5}", , , , "30212345", , , [8], [6]],
5992        [, , "6040\\d{5}|6(?:03|[1-356]|44|7\\d)\\d{6}", , , , "61123456"],
5993        [, , "8[08]\\d{6}", , , , "80123456", , , [8]],
5994        [, , "9[0246]\\d{6}", , , , "90123456", , , [8]],
5995        [, , "8[12]\\d{6}", , , , "82123456", , , [8]],
5996        [, , , , , , , , , [-1]],
5997        [, , , , , , , , , [-1]],
5998        "BA",
5999        387,
6000        "00",
6001        "0",
6002        ,
6003        ,
6004        "0",
6005        ,
6006        ,
6007        ,
6008        [[, "(\\d{3})(\\d{3})", "$1-$2", ["[2-9]"]], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]],
6009        [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]],
6010        [, , , , , , , , , [-1]],
6011        ,
6012        ,
6013        [, , , , , , , , , [-1]],
6014        [, , "703[235]0\\d{3}|70(?:2[0-5]|3[0146]|[56]0)\\d{4}", , , , "70341234", , , [8]],
6015        ,
6016        ,
6017        [, , , , , , , , , [-1]]
6018      ],
6019      BB: [, [, , "(?:246|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "246521[0369]\\d{3}|246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7[35]7|9(?:1[89]|63))\\d{4}", , , , "2464123456", , , , [7]], [, , "246(?:(?:2(?:[3568]\\d|4[0-57-9])|3(?:5[2-9]|6[0-6])|4(?:46|5\\d)|69[5-7]|8(?:[2-5]\\d|83))\\d|52(?:1[147]|20))\\d{3}", , , , "2462501234", , , , [7]], [
6020        ,
6021        ,
6022        "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",
6023        ,
6024        ,
6025        ,
6026        "8002123456"
6027      ], [, , "(?:246976|900[2-9]\\d\\d)\\d{4}", , , , "9002123456", , , , [7]], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , "24631\\d{5}", , , , "2463101234", , , , [7]], "BB", 1, "011", "1", , , "([2-9]\\d{6})$|1", "246$1", , , , , [, , , , , , , , , [-1]], , "246", [, , , , , , , , , [-1]], [
6028        ,
6029        ,
6030        "246(?:292|367|4(?:1[7-9]|3[01]|4[47-9]|67)|7(?:1[2-9]|2\\d|3[016]|53))\\d{4}",
6031        ,
6032        ,
6033        ,
6034        "2464301234",
6035        ,
6036        ,
6037        ,
6038        [7]
6039      ], , , [, , , , , , , , , [-1]]],
6040      BD: [, [, , "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", , , , , , , [6, 7, 8, 9, 10]], [
6041        ,
6042        ,
6043        "(?:4(?:31\\d\\d|423)|5222)\\d{3}(?:\\d{2})?|8332[6-9]\\d\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\d{4}|(?:2(?:[23]\\d|[45])\\d\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\d{5}|[59]1\\d{5}",
6044        ,
6045        ,
6046        ,
6047        "27111234"
6048      ], [, , "(?:1[13-9]
6048\\d|644)\\d{7}|(?:3[78]|44|66)[02-9]\\d{7}", , , , "1812345678", , , [10]], [, , "80[03]\\d{7}", , , , "8001234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "96(?:0[1-69]|1[0-479]|2[278]|3[13-9]|4[013]|54|6[69]|7[78]|88)\\d{6}", , , , "9604123456", , , [10]], "BD", 880, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], [
6049        ,
6050        "(\\d{3})(\\d{3,7})",
6051        "$1-$2",
6052        ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14]
vendor: 18,353 bytes, lines 6052-6355
6052)|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],
6053        "0$1"
6054      ], [, "(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"], [, "(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6055      BE: [, [, , "4\\d{8}|[1-9]\\d{7}", , , , , , , [8, 9]], [, , "80[2-8]\\d{5}|(?:1[0-69]|[23][2-8]|4[23]|5\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\d{6}", , , , "12345678", , , [8]], [, , "4[5-9]\\d{7}", , , , "450001234", , , [9]], [, , "800[1-9]\\d{4}", , , , "80012345", , , [8]], [, , "(?:70(?:2[0-57]|3[04-7]|44|6[04-69]|7[0579])|90\\d\\d)\\d{4}", , , , "90012345", , , [8]], [
6056        ,
6057        ,
6058        "7879\\d{4}",
6059        ,
6060        ,
6061        ,
6062        "78791234",
6063        ,
6064        ,
6065        [8]
6066      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BE", 32, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"], [, "(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[239]|4[23]"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[15-8]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "78(?:0[578]|1[014-8]|2[25]|3[15-8]|48|5[05]|60|7[06-8]|9\\d)\\d{4}", , , , "78102345", , , [8]], , , [, , , , , , , , , [-1]]],
6067      BF: [, [
6068        ,
6069        ,
6070        "[024-7]\\d{7}",
6071        ,
6072        ,
6073        ,
6074        ,
6075        ,
6076        ,
6077        [8]
6078      ], [, , "2(?:0(?:49|5[23]|6[5-7]|9[016-9])|4(?:4[569]|5[4-6]|6[5-7]|7[0179])|5(?:[34]\\d|50|6[5-8]))\\d{4}", , , , "20491234"], [, , "(?:0[1-7]|4[4-6]|5[0-8]|[67]\\d)\\d{6}", , , , "70123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BF", 226, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6079      BG: [, [
6080        ,
6081        ,
6082        "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",
6083        ,
6084        ,
6085        ,
6086        ,
6087        ,
6088        ,
6089        [6, 7, 8, 9, 12],
6090        [4, 5]
6091      ], [, , "2\\d{5,7}|(?:43[1-6]|70[1-9])\\d{4,5}|(?:[36]\\d|4[124-7]|[57][1-9]|8[1-6]|9[1-7])\\d{5,6}", , , , "2123456", , , [6, 7, 8], [4, 5]], [, , "(?:43[07-9]|99[69]\\d)\\d{5}|(?:8[7-9]|98)\\d{7}", , , , "43012345", , , [8, 9]], [, , "(?:00800\\d\\d|800)\\d{5}", , , , "80012345", , , [8, 12]], [, , "90\\d{6}", , , , "90123456", , , [8]], [, , "700\\d{5}", , , , "70012345", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BG", 359, "00", "0", , , "0", , , , [[, "(\\d{6})", "$1", ["1"]], [, "(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], [
6092        ,
6093        "(\\d{3})(\\d{4})",
6094        "$1 $2",
6095        ["43[1-6]|70[1-9]"],
6096        "0$1"
6097      ], [, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], [[, "(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], [
6098        ,
6099        "(\\d{3})(\\d{4})",
6100        "$1 $2",
6101        ["43[1-6]|70[1-9]"],
6102        "0$1"
6103      ], [, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6104      BH: [
6105        ,
6106        [
6107          ,
6108          ,
6109          "[136-9]\\d{7}",
6110          ,
6111          ,
6112          ,
6113          ,
6114          ,
6115          ,
6116          [8]
6117        ],
6118        [, , "(?:1(?:3[1356]|6[0156]|7\\d)\\d|6(?:1[16]\\d|500|6(?:0\\d|3[12]|44|55|7[7-9]|88)|9[69][69])|7(?:[07]\\d\\d|1(?:11|78)))\\d{4}", , , , "17001234"],
6119        [, , "(?:3(?:[0-79]\\d|8[0-57-9])\\d|6(?:3(?:00|33|6[16])|441|6(?:3[03-9]|[69]\\d|7[0-689])))\\d{4}", , , , "36001234"],
6120        [, , "8[02369]\\d{6}", , , , "80123456"],
6121        [, , "(?:87|9[0-8])\\d{6}", , , , "90123456"],
6122        [, , "84\\d{6}", , , , "84123456"],
6123        [, , , , , , , , , [-1]],
6124        [, , , , , , , , , [-1]],
6125        "BH",
6126        973,
6127        "00",
6128        ,
6129        ,
6130        ,
6131        ,
6132        ,
6133        ,
6134        ,
6135        [[, "(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]],
6136        ,
6137        [, , , , , , , , , [-1]],
6138        ,
6139        ,
6140        [, , , , , , , , , [-1]],
6141        [, , , , , , , , , [-1]],
6142        ,
6143        ,
6144        [, , , , , , , , , [-1]]
6145      ],
6146      BI: [, [, , "(?:[267]\\d|31)\\d{6}", , , , , , , [8]], [, , "(?:22|31)\\d{6}", , , , "22201234"], [, , "(?:29|6[1-9]|7[125-9])\\d{6}", , , , "79561234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BI", 257, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6147      BJ: [, [, , "(?:01\\d|8)\\d{7}", , , , , , , [8, 10]], [, , "012\\d{7}", , , , "0120211234", , , [10]], [
6148        ,
6149        ,
6150        "01(?:2[5-9]|[4-69]\\d)\\d{6}",
6151        ,
6152        ,
6153        ,
6154        "0195123456",
6155        ,
6156        ,
6157        [10]
6158      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "857[58]\\d{4}", , , , "85751234", , , [8]], "BJ", 229, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "81\\d{6}", , , , "81123456", , , [8]], , , [, , , , , , , , , [-1]]],
6159      BL: [
6160        ,
6161        [, , "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", , , , , , , [9]],
6162        [, , "(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}", , , , "590271234"],
6163        [, , "(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}", , , , "690001234"],
6164        [, , "80[0-5]\\d{6}", , , , "800012345"],
6165        [, , "8[129]\\d{7}", , , , "810123456"],
6166        [, , , , , , , , , [-1]],
6167        [, , , , , , , , , [-1]],
6168        [, , "9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}", , , , "976012345"],
6169        "BL",
6170        590,
6171        "00",
6172        "0",
6173        ,
6174        ,
6175        "0",
6176        ,
6177        ,
6178        ,
6179        ,
6180        ,
6181        [, , , , , , , , , [-1]],
6182        ,
6183        ,
6184        [, , , , , , , , , [-1]],
6185        [, , , , , , , , , [-1]],
6186        ,
6187        ,
6188        [, , , , , , , , , [-1]]
6189      ],
6190      BM: [, [, , "(?:441|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "441(?:[46]\\d\\d|5(?:4\\d|60|89))\\d{4}", , , , "4414123456", , , , [7]], [
6191        ,
6192        ,
6193        "441(?:[2378]\\d|5[0-39]|9[02])\\d{5}",
6194        ,
6195        ,
6196        ,
6197        "4413701234",
6198        ,
6199        ,
6200        ,
6201        [7]
6202      ], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "BM", 1, "011", "1", , , "([2-9]\\d{6})$|1", "441$1", , , , , [, , , , , , , , , [-1]], , "441", [, , , , , , , , , [-1]], [
6203        ,
6204        ,
6205        ,
6206        ,
6207        ,
6208        ,
6209        ,
6210        ,
6211        ,
6212        [-1]
6213      ], , , [, , , , , , , , , [-1]]],
6214      BN: [, [, , "[2-578]\\d{6}", , , , , , , [7]], [, , "22[0-7]\\d{4}|(?:2[013-9]|[34]\\d|5[0-25-9])\\d{5}", , , , "2345678"], [, , "(?:22[89]|[78]\\d\\d)\\d{4}", , , , "7123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "5[34]\\d{5}", , , , "5345678"], "BN", 673, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6215      BO: [, [, , "(?:[2-7]\\d\\d|8001)\\d{5}", , , , , , , [8, 9], [7]], [
6216        ,
6217        ,
6218        "(?:2(?:2\\d\\d|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d\\d|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\d\\d|6(?:11|[24689]\\d|72)))\\d{4}",
6219        ,
6220        ,
6221        ,
6222        "22123456",
6223        ,
6224        ,
6225        [8],
6226        [7]
6227      ], [, , "(?:57|[67]\\d)\\d{6}", , , , "71234567", , , [8]], [, , "8001[07]\\d{4}", , , , "800171234", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "50\\d{6}", , , , "50123456", , , [8], [7]], "BO", 591, "00(?:1\\d)?", "0", , , "0(1\\d)?", , , , [[, "(\\d)(\\d{7})", "$1 $2", ["[23]|4[46]|50"], , "0$CC $1"], [, "(\\d{8})", "$1", ["[5-7]"], , "0$CC $1"], [, "(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"], , "0$CC $1"]], , [, , , , , , , , , [-1]], , , [, , "8001[07]\\d{4}", , , , , , , [9]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6228      BQ: [, [
6229        ,
6230        ,
6231        "(?:[34]1|7\\d)\\d{5}",
6232        ,
6233        ,
6234        ,
6235        ,
6236        ,
6237        ,
6238        [7]
6239      ], [, , "(?:318[023]|41(?:6[023]|70)|7(?:1[578]|2[05]|50)\\d)\\d{3}", , , , "7151234"], [, , "(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\d|9[056])\\d)\\d{3}", , , , "3181234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BQ", 599, "00", , , , , , , , , , [, , , , , , , , , [-1]], , "[347]", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6240      BR: [, [, , "[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}", , , , , , , [8, 9, 10, 11]], [
6241        ,
6242        ,
6243        "(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}",
6244        ,
6245        ,
6246        ,
6247        "1123456789",
6248        ,
6249        ,
6250        [10],
6251        [8]
6252      ], [, , "(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])(?:7|9\\d)\\d{7}", , , , "11961234567", , , [10, 11], [8, 9]], [, , "800\\d{6,7}", , , , "800123456", , , [9, 10]], [, , "[59]00\\d{6,7}", , , , "500123456", , , [9, 10]], [, , "(?:30[03]\\d{3}|4(?:0(?:0\\d|20)|370|864))\\d{4}|300\\d{5}", , , , "40041234", , , [8, 10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BR", 55, "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)", "0", , , "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2", , , [
6253        [, "(\\d{3,6})", "$1", ["1(?:1[25-8]|2[357-9]|3[02-68]|4[12568]|5|6[0-8]|8[015]|9[0-47-9])|321|610"]],
6254        [, "(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]],
6255        [, "(\\d{4})(\\d{4})", "$1-$2", ["[2-57]", "[2357]|4(?:[0-24-9]|3(?:[0-689]|7[1-9]))"]],
6256        [, "(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"],
6257        [, "(\\d{5})(\\d{4})", "$1-$2", ["9"]],
6258        [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)", "0 $CC ($1)"],
6259        [, "(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)", "0 $CC ($1)"]
6260      ], [[
6261        ,
6262        "(\\d{4})(\\d{4})",
6263        "$1-$2",
6264        ["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]
6265      ], [, "(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)", "0 $CC ($1)"], [, "(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)", "0 $CC ($1)"]], [, , , , , , , , , [-1]], , , [, , "(?:30[03]\\d{3}|4(?:0(?:0\\d|20)|864))\\d{4}|800\\d{6,7}|300\\d{5}", , , , , , , [8, 9, 10]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6266      BS: [, [
6267        ,
6268        ,
6269        "(?:242|[58]\\d\\d|900)\\d{7}",
6270        ,
6271        ,
6272        ,
6273        ,
6274        ,
6275        ,
6276        [10],
6277        [7]
6278      ], [, , "242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-5]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}", , , , "2423456789", , , , [7]], [, , "242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\d|3[0-4]|[89]9))\\d{4}", , , , "2423591234", , , , [7]], [, , "242300\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456", , , , [7]], [, , "900[2-9]\\d{6}", , , , "9002123456"], [
6279        ,
6280        ,
6281        ,
6282        ,
6283        ,
6284        ,
6285        ,
6286        ,
6287        ,
6288        [-1]
6289      ], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "BS", 1, "011", "1", , , "([3-8]\\d{6})$|1", "242$1", , , , , [, , , , , , , , , [-1]], , "242", [, , , , , , , , , [-1]], [, , "242225\\d{4}", , , , "2422250123"], , , [, , , , , , , , , [-1]]],
6290      BT: [, [, , "[178]\\d{7}|[2-8]\\d{6}", , , , , , , [7, 8], [6]], [
6291        ,
6292        ,
6293        "(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}",
6294        ,
6295        ,
6296        ,
6297        "2345678",
6298        ,
6299        ,
6300        [7],
6301        [6]
6302      ], [, , "(?:1[67]|[78]7)\\d{6}", , , , "17123456", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BT", 975, "00", , , , , , , , [[, "(\\d{3})(\\d{3})", "$1 $2", ["[2-7]"]], [, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-6]|7[246]|8[2-4]"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|[78]"]]], [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-6]|7[246]|8[2-4]"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|[78]"]]], [, , , , , , , , , [-1]], , , [
6303        ,
6304        ,
6305        ,
6306        ,
6307        ,
6308        ,
6309        ,
6310        ,
6311        ,
6312        [-1]
6313      ], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6314      BW: [, [, , "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", , , , , , , [7, 8, 10]], [, , "(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\d|7[013]|81)|4(?:6[03]|7[1267]|9[0-5])|5(?:3[03489]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[013467]))\\d{4}", , , , "2401234", , , [7]], [, , "(?:321|7(?:[1-8]\\d|9[03]))\\d{5}", , , , "71123456", , , [8]], [, , "(?:0800|800\\d)\\d{6}", , , , "0800012345", , , [10]], [, , "90\\d{5}", , , , "9012345", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [
6315        ,
6316        ,
6317        "79(?:1(?:[0-2]\\d|3[0-8])|2[0-7]\\d)\\d{3}",
6318        ,
6319        ,
6320        ,
6321        "79101234",
6322        ,
6323        ,
6324        [8]
6325      ], "BW", 267, "00", , , , , , , , [[, "(\\d{2})(\\d{5})", "$1 $2", ["90"]], [, "(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-9]"]], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]], [, "(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6326      BY: [, [, , "(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}", , , , , , , [
6327        6,
6328        7,
6329        8,
6330        9,
6331        10,
6332        11
6333      ], [5]], [, , "(?:1(?:5(?:1[1-5]|[24]\\d|6[2-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d\\d)|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:[26]\\d|3[02-79]|4[024-7]|5[03-7])))\\d{5}", , , , "152450911", , , [9], [5, 6, 7]], [, , "(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\d)\\d{6}", , , , "294911911", , , [9]], [, , "800\\d{3,7}|8(?:0[13]|20\\d)\\d{7}", , , , "8011234567"], [, , "(?:810|902)\\d{7}", , , , "9021234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "249\\d{6}", , , , "249123456", , , [9]], "BY", 375, "810", "8", , , "0|80?", , "8~10", , [[
6334        ,
6335        "(\\d{3})(\\d{3})",
6336        "$1 $2",
6337        ["800"],
6338        "8 $1"
6339      ], [, "(\\d{3})(\\d{2})(\\d{2,4})", "$1 $2 $3", ["800"], "8 $1"], [, "(\\d{4})(\\d{2})(\\d{3})", "$1 $2-$3", ["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])", "1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"], "8 0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["1(?:[56]|7[467])|2[1-3]"], "8 0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-4]"], "8 0$1"], [
6340        ,
6341        "(\\d{3})(\\d{3,4})(\\d{4})",
6342        "$1 $2 $3",
6343        ["[89]"],
6344        "8 $1"
6345      ]], , [, , , , , , , , , [-1]], , , [, , "800\\d{3,7}|(?:8(?:0[13]|10|20\\d)|902)\\d{7}"], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6346      BZ: [, [, , "(?:0800\\d|[2-8])\\d{6}", , , , , , , [7, 11]], [, , "(?:2(?:[02]\\d|36|[68]0)|[3-58](?:[02]\\d|[68]0)|7(?:[02]\\d|32|[68]0))\\d{4}", , , , "2221234", , , [7]], [, , "6[0-35-7]\\d{5}", , , , "6221234", , , [7]], [, , "0800\\d{7}", , , , "08001234123", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "BZ", 501, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]], [
6347        ,
6348        "(\\d)(\\d{3})(\\d{4})(\\d{3})",
6349        "$1-$2-$3-$4",
6350        ["0"]
6351      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6352      CA: [
6353        ,
6354        [, , "[2-9]\\d{9}|3\\d{6}", , , , , , , [7, 10]],
6355        [, , "(?:2(?:04|[23]6|[48]9|5[07]|
635563)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}", , , , "5062345678", , , [10], [7]],
6356        [
6357          ,
6358          ,
6359          "(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}",
6360          ,
6361          ,
6362          ,
6363          "5062345678",
6364          ,
6365          ,
6366          [10],
6367          [7]
6368        ],
6369        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456", , , [10]],
6370        [, , "900[2-9]\\d{6}", , , , "9002123456", , , [10]],
6371        [, , , , , , , , , [-1]],
6372        [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|3[23]|44|66|77|88)|6(?:22|33))[2-9]\\d{6}", , , , "5219023456", , , [10]],
6373        [, , "600[2-9]\\d{6}", , , , "6002012345", , , [10]],
6374        "CA",
6375        1,
6376        "011",
6377        "1",
6378        ,
6379        ,
6380        "1",
6381        ,
6382        ,
6383        1,
6384        ,
6385        ,
6386        [, , , , , , , , , [-1]],
6387        ,
6388        ,
6389        [, , , , , , , , , [-1]],
6390        [, , "310\\d{4}", , , , "3101234", , , [7]],
6391        ,
6392        ,
6393        [, , , , , , , , , [-1]]
6394      ],
6395      CC: [, [, , "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", , , , , , , [6, 7, 8, 9, 10, 12]], [, , "8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", , , , "891621234", , , [9], [8]], [, , "4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", , , , "412345678", , , [9]], [
6396        ,
6397        ,
6398        "180(?:0\\d{3}|2)\\d{3}",
6399        ,
6400        ,
6401        ,
6402        "1800123456",
6403        ,
6404        ,
6405        [7, 10]
6406      ], [, , "190[0-26]\\d{6}", , , , "1900123456", , , [10]], [, , "13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", , , , "1300123456", , , [6, 8, 10, 12]], [, , , , , , , , , [-1]], [, , "14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", , , , "147101234", , , [9]], "CC", 61, "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "0", , , "([59]\\d{7})$|0", "8$1", "0011", , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6407      CD: [, [, , "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", , , , , , , [7, 8, 9, 10]], [
6408        ,
6409        ,
6410        "(?:(?:12|573)\\d\\d|276)\\d{5}|[1-6]\\d{6}",
6411        ,
6412        ,
6413        ,
6414        "1234567"
6415      ], [, , "88\\d{5}|(?:8[0-69]|9[016-9])\\d{7}", , , , "991234567", , , [7, 9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CD", 243, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], [, "(\\d{2})(\\d{5})", "$1 $2", ["[1-6]"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]"], "0$1"], [
6416        ,
6417        "(\\d{2})(\\d{2})(\\d{3})(\\d{3})",
6418        "$1 $2 $3 $4",
6419        ["5"],
6420        "0$1"
6421      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6422      CF: [, [, , "8776\\d{4}|(?:[27]\\d|61)\\d{6}", , , , , , , [8]], [, , "(?:2[12]|61)\\d{6}", , , , "21612345"], [, , "7[02-7]\\d{6}", , , , "70012345"], [, , , , , , , , , [-1]], [, , "8776\\d{4}", , , , "87761234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CF", 236, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-8]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6423      CG: [
6424        ,
6425        [, , "222\\d{6}|(?:0\\d|80)\\d{7}", , , , , , , [9]],
6426        [, , "222[1-589]\\d{5}", , , , "222123456"],
6427        [, , "026(?:1[0-5]|6[6-9])\\d{4}|0(?:[14-6]\\d\\d|2(?:40|5[5-8]|6[07-9]))\\d{5}", , , , "061234567"],
6428        [, , , , , , , , , [-1]],
6429        [, , "80[0-2]\\d{6}", , , , "800123456"],
6430        [, , , , , , , , , [-1]],
6431        [, , , , , , , , , [-1]],
6432        [, , , , , , , , , [-1]],
6433        "CG",
6434        242,
6435        "00",
6436        ,
6437        ,
6438        ,
6439        ,
6440        ,
6441        ,
6442        ,
6443        [[, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]],
6444        ,
6445        [, , , , , , , , , [-1]],
6446        ,
6447        ,
6448        [, , , , , , , , , [-1]],
6449        [, , , , , , , , , [-1]],
6450        ,
6451        ,
6452        [, , , , , , , , , [-1]]
6453      ],
6454      CH: [, [, , "8\\d{11}|[2-9]\\d{8}", , , , , , , [9, 12]], [
6455        ,
6456        ,
6457        "(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\d{7}",
6458        ,
6459        ,
6460        ,
6461        "212345678",
6462        ,
6463        ,
6464        [9]
6465      ], [, , "(?:6[89]|7[235-9])\\d{7}", , , , "781234567", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , "90[016]\\d{6}", , , , "900123456", , , [9]], [, , "84[0248]\\d{6}", , , , "840123456", , , [9]], [, , "878\\d{6}", , , , "878123456", , , [9]], [, , , , , , , , , [-1]], "CH", 41, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8[047]|90"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]|81"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["8"], "0$1"]], , [
6466        ,
6467        ,
6468        "74[0248]\\d{6}",
6469        ,
6470        ,
6471        ,
6472        "740123456",
6473        ,
6474        ,
6475        [9]
6476      ], , , [, , , , , , , , , [-1]], [, , "5[18]\\d{7}", , , , "581234567", , , [9]], , , [, , "860\\d{9}", , , , "860123456789", , , [12]]],
6477      CI: [, [, , "[02]\\d{9}", , , , , , , [10]], [, , "2(?:[15]\\d{3}|7(?:2(?:0[23]|1[2357]|2[245]|3[45]|4[3-5])|3(?:06|1[69]|[2-6]7)))\\d{5}", , , , "2123456789"], [, , "0[157]\\d{8}", , , , "0123456789"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CI", 225, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], [
6478        ,
6479        "(\\d{2})(\\d{2})(\\d{2})(\\d{4})",
6480        "$1 $2 $3 $4",
6481        ["0"]
6482      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6483      CK: [, [, , "[2-578]\\d{4}", , , , , , , [5]], [, , "(?:2\\d|3[13-7]|4[1-5])\\d{3}", , , , "21234"], [, , "[578]\\d{4}", , , , "71234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CK", 682, "00", , , , , , , , [[, "(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6484      CL: [, [, , "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", , , , , , , [9, 10, 11]], [
6485        ,
6486        ,
6487        "2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:(?:[24]\\d|50)\\d|3(?:[034679]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-389])|600)|646[59])|(?:600|80[1-9])\\d\\d|9(?:(?:10[0-2]|7[1-9]\\d)\\d|3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}",
6488        ,
6489        ,
6490        ,
6491        "600123456",
6492        ,
6493        ,
6494        [9]
6495      ], [, , "2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:(?:[24]\\d|50)\\d|3(?:[034679]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-389])|600)|646[59])|80[1-8]\\d\\d|9(?:(?:10[0-2]|7[1-9]\\d)\\d|3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}", , , , "221234567", , , [9]], [, , "(?:123|8)00\\d{6}", , , , "800123456", , , [
6496        9,
6497        11
6498      ]], [, , , , , , , , , [-1]], [, , "600\\d{7,8}", , , , "6001234567", , , [10, 11]], [, , , , , , , , , [-1]], [, , "44\\d{7}", , , , "441234567", , , [9]], "CL", 56, "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0", , , , , , 
vendor: 2,155 bytes, lines 6498-6526
6498, , [
6499        [, "(\\d{4})", "$1", ["1(?:[03-589]|21)|[29]0|78"]],
6500        [, "(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"],
6501        [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["60|809"]],
6502        [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]],
6503        [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"],
6504        [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9(?:10|[2-9])"]],
6505        [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])"], "($1)"],
6506        [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]],
6507        [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]],
6508        [, "(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]
6509      ], [[, "(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["60|809"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"], [
6510        ,
6511        "(\\d)(\\d{4})(\\d{4})",
6512        "$1 $2 $3",
6513        ["9(?:10|[2-9])"]
6514      ], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])"], "($1)"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], [, "(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]], [, , , , , , , , , [-1]], , , [, , "600\\d{7,8}", , , , , , , [10, 11]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6515      CM: [, [, , "[26]\\d{8}|88\\d{6,7}", , , , , , , [8, 9]], [, , "2(?:22|33)\\d{6}", , , , "222123456", , , [9]], [
6516        ,
6517        ,
6518        "(?:24[23]|6(?:[25-9]\\d|4[0-2]))\\d{6}",
6519        ,
6520        ,
6521        ,
6522        "671234567",
6523        ,
6524        ,
6525        [9]
6526      ], [, , "88\\d{6,7}", , , , "88012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CM", 237, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["88"]], [, "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]|88"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]
vendor: 28,475 bytes, lines 6526-6822
6526],
6527      CN: [, [, , "(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}", , , , , , , [7, 8, 9, 10, 11, 12], [5, 6]], [
6528        ,
6529        ,
6530        "(?:10(?:[02-79]\\d\\d|[18](?:0[1-9]|[1-9]\\d))|2(?:[02-57-9]\\d{3}|1(?:[18](?:0[1-9]|[1-9]\\d)|[2-79]\\d\\d))|(?:41[03]|8078|9(?:78|94))\\d\\d)\\d{5}|(?:10|2[0-57-9])(?:1(?:00|23)\\d\\d|95\\d{3,4})|(?:41[03]|9(?:78|94))(?:100\\d\\d|95\\d{3,4})|8078123|(?:43[35]|754|851)\\d{7,8}|(?:43[35]|754|851)(?:1(?:00\\d|23)\\d|95\\d{3,4})|(?:3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\d{7}|1(?:0(?:0\\d\\d(?:\\d{3})?|[1-9]\\d{5})|[13-9]\\d{6}|2(?:[0-24-9]\\d{5}|3\\d(?:\\d{4})?))|9(?:[0-46-9]\\d{6}|5\\d{3}(?:\\d(?:\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[24-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-8]\\d{6}|1(?:0(?:0\\d\\d(?:\\d{2})?|[1-9]\\d{4})|[13-9]\\d{5}|2(?:[0-24-9]\\d{4}|3\\d(?:\\d{3})?))|9(?:[0-46-9]\\d{5}|5\\d{3,5}))",
6531        ,
6532        ,
6533        ,
6534        "1012345678",
6535        ,
6536        ,
6537        [7, 8, 9, 10, 11],
6538        [5, 6]
6539      ], [, , "1(?:610\\d|740[0-5])\\d{6}|1(?:[38]\\d|4[57]|[59][0-35-9]|6[25-7]|7[0-35-8])\\d{8}", , , , "13123456789", , , [11]], [, , "(?:(?:10|21)8|8)00\\d{7}", , , , "8001234567", , , [10, 12]], [, , "16[08]\\d{5}", , , , "16812345", , , [8]], [
6540        ,
6541        ,
6542        "10(?:10\\d{4}|96\\d{3,4})|400\\d{7}|950\\d{7,8}|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))96\\d{3,4}",
6543        ,
6544        ,
6545        ,
6546        "4001234567",
6547        ,
6548        ,
6549        [7, 8, 9, 10, 11],
6550        [5, 6]
6551      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CN", 86, "00|1(?:[12]\\d|79)\\d\\d00", "0", , , "(1(?:[12]\\d|79)\\d\\d)|0", , "00", , [
6552        [, "(\\d{5,6})", "$1", ["1(?:00|2[13])|9[56]", "1(?:00|2(?:1|39))|9[56]", "1(?:00|2(?:1|395))|9[56]"]],
6553        [, "(\\d{5,6})", "$1", ["1(?:0|23)|781|[1-9]12", "1(?:0|23)|7812|[1-9]123", "1(?:0|23(?:[0-8]|9[0-46-9]))|78123|[1-9]123"]],
6554        [
6555          ,
6556          "(\\d{2})(\\d{5,6})",
6557          "$1 $2",
6558          [
6559            "(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]",
6560            "(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1",
6561            "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12",
6562            "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123",
6563            "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"
6564          ],
6565          "0$1",
6566          "$CC $1"
6567        ],
6568        [, "(\\d{3})(\\d{4})", "$1 $2", [
6569          "[1-9]",
6570          "1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])",
6571          "1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|[3-9]",
6572          "1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|1[03]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9]|78|94)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-9]|1(?:[013-9]|2[0-24-9]))",
6573          "1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|1[03]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:0(?:[0-689]|7[0-79])|1[01459]|2[0-489]|[46]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9]|78|94)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-9]|1(?:[013-9]|2[0-24-9]))"
6574        ]],
6575        [, "(\\d{4})(\\d{4})", "$1 $2", ["16[08]"]],
6576        [
6577          ,
6578          "(\\d{3})(\\d{5,6})",
6579          "$1 $2",
6580          [
6581            "3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]",
6582            "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]",
6583            "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])",
6584            "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"
6585          ],
6586          "0$1",
6587          "$CC $1"
6588        ],
6589        [, "(\\d{4})(\\d{4})", "$1 $2", [
6590          "[1-9]",
6591          "1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[0-8]|9[0-47-9])|6)|[3-9]",
6592          "1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|26|3(?:[0268]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23][0-8])|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:33|85[23]9)[0-46-9]|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[0-8]|9[0-47-9])",
6593          "1(?:0[02-8]|[1-9])|2(?:[0-57-9][0-8]|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23](?:[02-8]|1[1-9]|9[0-46-9]))|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:10|2[0-57-9])9[0-47-9]|(?:101|58|85[23]10)[1-9]|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])"
6594        ]],
6595        [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]],
6596        [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", "$CC $1", 1],
6597        [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", "$CC $1", 1],
6598        [
6599          ,
6600          "(\\d{3})(\\d{7,8})",
6601          "$1 $2",
6602          ["9"]
6603        ],
6604        [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", "$CC $1", 1],
6605        [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", "$CC $1", 1],
6606        [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"], , "$CC $1"],
6607        [, "(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", , 1]
6608      ], [[
6609        ,
6610        "(\\d{2})(\\d{5,6})",
6611        "$1 $2",
6612        [
6613          "(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]",
6614          "(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1",
6615          "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12",
6616          "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123",
6617          "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"
6618        ],
6619        "0$1",
6620        "$CC $1"
6621      ], [
6622        ,
6623        "(\\d{3})(\\d{5,6})",
6624        "$1 $2",
6625        [
6626          "3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]",
6627          "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]",
6628          "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])",
6629          "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"
6630        ],
6631        "0$1",
6632        "$CC $1"
6633      ], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", "$CC $1", 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", "$CC $1", 1], [
6634        ,
6635        "(\\d{3})(\\d{7,8})",
6636        "$1 $2",
6637        ["9"]
6638      ], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", "$CC $1", 1], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", "$CC $1", 1], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"], , "$CC $1"], [, "(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", , 1]], [, , , , , , , , , [-1]], , , [, , "(?:(?:10|21)8|[48])00\\d{7}|950\\d{7,8}", , , , , , , [10, 11, 12]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6639      CO: [, [, , "(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}", , , , , , , [8, 10, 11], [4, 7]], [
6640        ,
6641        ,
6642        "601055(?:[0-4]\\d|50)\\d\\d|6010(?:[0-4]\\d|5[0-4])\\d{4}|(?:46|60(?:[18][1-9]|[24-7][2-9]))\\d{6}",
6643        ,
6644        ,
6645        ,
6646        "6012345678",
6647        ,
6648        ,
6649        [8, 10],
6650        [4, 7]
6651      ], [, , "333301[0-5]\\d{3}|3333(?:00|2[5-9]|[3-9]\\d)\\d{4}|(?:3(?:(?:0[0-5]|1\\d|5[01]|70)\\d|2(?:[0-3]\\d|4[1-9])|3(?:00|3[0-24-9]))|9(?:101|408))\\d{6}", , , , "3211234567", , , [10]], [, , "1800\\d{7}", , , , "18001234567", , , [11]], [, , "(?:19(?:0[01]|4[78])|901)\\d{7}", , , , "19001234567", , , [10, 11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CO", 57, "00(?:4(?:[14]4|56)|[579])", "0", , , "0([3579]|4(?:[14]4|56))?", , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["46"]], [
6652        ,
6653        "(\\d{3})(\\d{7})",
6654        "$1 $2",
6655        ["6|90"],
6656        "($1)",
6657        "0$CC $1"
6658      ], [, "(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|9[14]"], , "0$CC $1"], [, "(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1"]], [[, "(\\d{4})(\\d{4})", "$1 $2", ["46"]], [, "(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)", "0$CC $1"], [, "(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|9[14]"], , "0$CC $1"], [, "(\\d)(\\d{3})(\\d{7})", "$1 $2 $3", ["1"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6659      CR: [, [, , "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}", , , , , , , [8, 10]], [
6660        ,
6661        ,
6662        "210[7-9]\\d{4}|2(?:[024-7]\\d|1[1-9])\\d{5}",
6663        ,
6664        ,
6665        ,
6666        "22123456",
6667        ,
6668        ,
6669        [8]
6670      ], [, , "(?:3005\\d|6500[01])\\d{3}|(?:5[07]|6[0-4]|7[0-3]|8[3-9])\\d{6}", , , , "83123456", , , [8]], [, , "800\\d{7}", , , , "8001234567", , , [10]], [, , "90[059]\\d{7}", , , , "9001234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:210[0-6]|4\\d{3}|5100)\\d{4}", , , , "40001234", , , [8]], "CR", 506, "00", , , , "(19(?:0[0-2468]|1[09]|20|66|77|99))", , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"], , "$CC $1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"], , "$CC $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [
6671        ,
6672        ,
6673        ,
6674        ,
6675        ,
6676        ,
6677        ,
6678        ,
6679        ,
6680        [-1]
6681      ], , , [, , , , , , , , , [-1]]],
6682      CU: [, [, , "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", , , , , , , [6, 7, 8, 10], [4, 5]], [, , "(?:3[23]|4[89])\\d{4,6}|(?:31|4[36]|8(?:0[25]|78)\\d)\\d{6}|(?:2[1-4]|4[1257]|7\\d)\\d{5,6}", , , , "71234567", , , , [4, 5]], [, , "(?:5\\d|6[2-4])\\d{6}", , , , "51234567", , , [8]], [, , "800\\d{7}", , , , "8001234567", , , [10]], [, , , , , , , , , [-1]], [, , "807\\d{7}", , , , "8071234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CU", 53, "119", "0", , , "0", , , , [[, "(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], [
6683        ,
6684        "(\\d)(\\d{6,7})",
6685        "$1 $2",
6686        ["7"],
6687        "(0$1)"
6688      ], [, "(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], [, "(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6689      CV: [, [, , "(?:[2-59]\\d\\d|800)\\d{4}", , , , , , , [7]], [, , "2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}", , , , "2211234"], [, , "(?:36|5[1-389]|9\\d)\\d{5}", , , , "9911234"], [, , "800\\d{4}", , , , "8001234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:3[3-5]|4[356])\\d{5}", , , , "3401234"], "CV", 238, "0", , , , , , , , [[
6690        ,
6691        "(\\d{3})(\\d{2})(\\d{2})",
6692        "$1 $2 $3",
6693        ["[2-589]"]
6694      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6695      CW: [, [, , "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", , , , , , , [7, 8]], [, , "9(?:4(?:3[0-5]|4[14]|6\\d)|50\\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\\d|7[01]|8[57-9]))\\d{4}", , , , "94351234"], [, , "953[01]\\d{4}|9(?:5[12467]|6[5-9])\\d{5}", , , , "95181234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "60[0-2]\\d{4}", , , , "6001234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "CW", 599, "00", , , , , , , , [[
6696        ,
6697        "(\\d{3})(\\d{4})",
6698        "$1 $2",
6699        ["[3467]"]
6700      ], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]]], , [, , "955\\d{5}", , , , "95581234", , , [8]], 1, "[69]", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6701      CX: [, [, , "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", , , , , , , [6, 7, 8, 9, 10, 12]], [, , "8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}", , , , "891641234", , , [9], [8]], [
6702        ,
6703        ,
6704        "4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}",
6705        ,
6706        ,
6707        ,
6708        "412345678",
6709        ,
6710        ,
6711        [9]
6712      ], [, , "180(?:0\\d{3}|2)\\d{3}", , , , "1800123456", , , [7, 10]], [, , "190[0-26]\\d{6}", , , , "1900123456", , , [10]], [, , "13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", , , , "1300123456", , , [6, 8, 10, 12]], [, , , , , , , , , [-1]], [, , "14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", , , , "147101234", , , [9]], "CX", 61, "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "0", , , "([59]\\d{7})$|0", "8$1", "0011", , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6713      CY: [, [
6714        ,
6715        ,
6716        "(?:[279]\\d|[58]0)\\d{6}",
6717        ,
6718        ,
6719        ,
6720        ,
6721        ,
6722        ,
6723        [8]
6724      ], [, , "2[2-6]\\d{6}", , , , "22345678"], [, , "9(?:10|[4-79]\\d)\\d{5}", , , , "96123456"], [, , "800\\d{5}", , , , "80001234"], [, , "90[09]\\d{5}", , , , "90012345"], [, , "80[1-9]\\d{5}", , , , "80112345"], [, , "700\\d{5}", , , , "70012345"], [, , , , , , , , , [-1]], "CY", 357, "00", , , , , , , , [[, "(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "(?:50|77)\\d{6}", , , , "77123456"], , , [, , , , , , , , , [-1]]],
6725      CZ: [, [, , "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", , , , , , , [9, 10, 11, 12]], [
6726        ,
6727        ,
6728        "(?:2\\d|3[1257-9]|4[16-9]|5[13-9])\\d{7}",
6729        ,
6730        ,
6731        ,
6732        "212345678",
6733        ,
6734        ,
6735        [9]
6736      ], [, , "7060\\d{5}|(?:60[1-8]|7(?:0[2-5]|19|[2379]\\d))\\d{6}", , , , "601123456", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , "9(?:0[05689]|76)\\d{6}", , , , "900123456", , , [9]], [, , "8[134]\\d{7}", , , , "811234567", , , [9]], [, , "70[01]\\d{6}", , , , "700123456", , , [9]], [, , "9[17]0\\d{6}", , , , "910123456", , , [9]], "CZ", 420, "00", , , , , , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]], [, "(\\d{2})(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["96"]], [, "(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]], [
6737        ,
6738        "(\\d{3})(\\d{3})(\\d{3})(\\d{3})",
6739        "$1 $2 $3 $4",
6740        ["9"]
6741      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "9(?:5\\d|7[2-4])\\d{6}", , , , "972123456", , , [9]], , , [, , "9(?:3\\d{9}|6\\d{7,10})", , , , "93123456789"]],
6742      DE: [, [, , "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}", , , , , , , [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [2, 3]], [
6743        ,
6744        ,
6745        "32\\d{9,11}|49[1-6]\\d{10}|322\\d{6}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}",
6746        ,
6747        ,
6748        ,
6749        "30123456",
6750        ,
6751        ,
6752        [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
6753        [2, 3, 4]
6754      ], [, , "1(?:6[023]|7\\d)\\d{7,8}|15(?:[0-25-9]\\d\\d|3(?:10|33))\\d{6}", , , , "15123456789", , , [10, 11]], [, , "800\\d{7,12}", , , , "8001234567890", , , [10, 11, 12, 13, 14, 15]], [, , "(?:137[7-9]|900(?:[135]|9\\d))\\d{6}", , , , "9001234567", , , [10, 11]], [, , "180\\d{5,11}|13(?:7[1-6]\\d\\d|8)\\d{4}", , , , "18012345", , , [7, 8, 9, 10, 11, 12, 13, 14]], [, , "700\\d{8}", , , , "70012345678", , , [11]], [, , , , , , , , , [-1]], "DE", 49, "00", "0", , , "0", , , , [
6755        [, "(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"],
6756        [, "(\\d{6})", "$1", ["227", "2277"]],
6757        [, "(\\d{3})(\\d{3,12})", "$1 $2", ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"], "0$1"],
6758        [
6759          ,
6760          "(\\d{4})(\\d{2,11})",
6761          "$1 $2",
6762          ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],
6763          "0$1"
6764        ],
6765        [, "(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"],
6766        [, "(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"],
6767        [, "(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"],
6768        [, "(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"],
6769        [, "(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"],
6770        [, "(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"],
6771        [, "(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"],
6772        [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"],
6773        [, "(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"],
6774        [, "(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"],
6775        [, "(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|3[13])"], "0$1"],
6776        [, "(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"],
6777        [, "(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"],
6778        [, "(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"],
6779        [, "(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]
6780      ], [
6781        [, "(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"],
6782        [
6783          ,
6784          "(\\d{3})(\\d{3,12})",
6785          "$1 $2",
6786          ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],
6787          "0$1"
6788        ],
6789        [
6790          ,
6791          "(\\d{4})(\\d{2,11})",
6792          "$1 $2",
6793          ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],
6794          "0$1"
6795        ],
6796        [, "(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"],
6797        [, "(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"],
6798        [, "(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"],
6799        [, "(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"],
6800        [, "(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"],
6801        [, "(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"],
6802        [, "(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"],
6803        [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"],
6804        [, "(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"],
6805        [, "(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"],
6806        [, "(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|3[13])"], "0$1"],
6807        [, "(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"],
6808        [, "(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"],
6809        [, "(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"],
6810        [, "(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]
6811      ], [, , "16(?:4\\d{1,10}|[89]\\d{1,11})", , , , "16412345", , , [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]], , , [, , , , , , , , , [-1]], [, , "18(?:1\\d{5,11}|[2-9]\\d{8})", , , , "18500123456", , , [8, 9, 10, 11, 12, 13, 14]], , , [
6812        ,
6813        ,
6814        "1(?:6(?:013|255|399)|7(?:(?:[015]1|[69]3)3|[2-4]55|[78]99))\\d{7,8}|15(?:(?:[03-68]00|113)\\d|2\\d55|7\\d99|9\\d33)\\d{7}",
6815        ,
6816        ,
6817        ,
6818        "177991234567",
6819        ,
6820        ,
6821        [12, 13]
6822      ]],
vendor: 10,960 bytes, lines 6823-7067
6823      DJ: [, [, , "(?:2\\d|77)\\d{6}", , , , , , , [8]], [, , "2(?:1[2-5]|7[45])\\d{5}", , , , "21360003"], [, , "77\\d{6}", , , , "77831001"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "DJ", 253, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6824      DK: [, [, , "[2-9]\\d{7}", , , , , , , [8]], [
6825        ,
6826        ,
6827        "(?:2(?:[0-59][1-9]|[6-8]\\d)|3(?:[0-3][1-9]|4[13]|5[1-58]|6[1347-9]|7\\d|8[1-8]|9[1-79])|4(?:[0-25][1-9]|[34][2-9]|6[13-579]|7[13579]|8[1-47]|9[127])|5(?:[0-36][1-9]|4[146-9]|5[3-57-9]|7[568]|8[1-358]|9[1-69])|6(?:[0135][1-9]|2[1-68]|4[2-8]|6[1689]|[78]\\d|9[15689])|7(?:[0-69][1-9]|7[3-9]|8[147])|8(?:[16-9][1-9]|2[1-58])|9(?:[1-47-9][1-9]|6\\d))\\d{5}",
6828        ,
6829        ,
6830        ,
6831        "32123456"
6832      ], [, , "(?:2[6-8]|37|6[78]|96)\\d{6}|(?:2[0-59]|3[0-689]|[457]\\d|6[0-69]|8[126-9]|9[1-47-9])[1-9]\\d{5}", , , , "34412345"], [, , "80\\d{6}", , , , "80123456"], [, , "90\\d{6}", , , , "90123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "DK", 45, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6833      DM: [
6834        ,
6835        [, , "(?:[58]\\d\\d|767|900)\\d{7}", , , , , , , [10], [7]],
6836        [
6837          ,
6838          ,
6839          "767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}",
6840          ,
6841          ,
6842          ,
6843          "7674201234",
6844          ,
6845          ,
6846          ,
6847          [7]
6848        ],
6849        [, , "767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-8]|70[1-6])\\d{4}", , , , "7672251234", , , , [7]],
6850        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
6851        [, , "900[2-9]\\d{6}", , , , "9002123456"],
6852        [, , , , , , , , , [-1]],
6853        [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"],
6854        [, , , , , , , , , [-1]],
6855        "DM",
6856        1,
6857        "011",
6858        "1",
6859        ,
6860        ,
6861        "([2-7]\\d{6})$|1",
6862        "767$1",
6863        ,
6864        ,
6865        ,
6866        ,
6867        [, , , , , , , , , [-1]],
6868        ,
6869        "767",
6870        [, , , , , , , , , [-1]],
6871        [, , , , , , , , , [-1]],
6872        ,
6873        ,
6874        [, , , , , , , , , [-1]]
6875      ],
6876      DO: [
6877        ,
6878        [, , "(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
6879        [
6880          ,
6881          ,
6882          "8(?:[04]9[2-9]\\d\\d|29(?:2(?:[0-59]\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\d|4[7-9])|[45]\\d\\d|6(?:[0-27-9]\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\d{4}",
6883          ,
6884          ,
6885          ,
6886          "8092345678",
6887          ,
6888          ,
6889          ,
6890          [7]
6891        ],
6892        [, , "8[024]9[2-9]\\d{6}", , , , "8092345678", , , , [7]],
6893        [, , "800(?:14|[2-9]\\d)\\d{5}|8[024]9[01]\\d{6}|8(?:33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
6894        [, , "900[2-9]\\d{6}", , , , "9002123456"],
6895        [, , , , , , , , , [-1]],
6896        [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"],
6897        [, , , , , , , , , [-1]],
6898        "DO",
6899        1,
6900        "011",
6901        "1",
6902        ,
6903        ,
6904        "1",
6905        ,
6906        ,
6907        ,
6908        ,
6909        ,
6910        [, , , , , , , , , [-1]],
6911        ,
6912        "8001|8[024]9",
6913        [, , , , , , , , , [-1]],
6914        [, , , , , , , , , [-1]],
6915        ,
6916        ,
6917        [, , , , , , , , , [-1]]
6918      ],
6919      DZ: [
6920        ,
6921        [, , "(?:[1-4]|[5-79]\\d|80)\\d{7}", , , , , , , [8, 9]],
6922        [, , "9619\\d{5}|(?:[1-3]\\d|4[013-689])\\d{6}", , , , "12345678"],
6923        [, , "5(?:4[0-29]|6[0-4])\\d{6}|(?:55|6\\d|7[7-9])\\d{7}", , , , "551234567", , , [9]],
6924        [, , "800\\d{6}", , , , "800123456", , , [9]],
6925        [, , "80[3-689]1\\d{5}", , , , "808123456", , , [9]],
6926        [, , "80[12]1\\d{5}", , , , "801123456", , , [9]],
6927        [, , , , , , , , , [-1]],
6928        [, , "98[23]\\d{6}", , , , "983123456", , , [9]],
6929        "DZ",
6930        213,
6931        "00",
6932        "0",
6933        ,
6934        ,
6935        "0",
6936        ,
6937        ,
6938        ,
6939        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-4]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["9"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-8]"], "0$1"]],
6940        ,
6941        [, , , , , , , , , [-1]],
6942        ,
6943        ,
6944        [, , , , , , , , , [-1]],
6945        [, , , , , , , , , [-1]],
6946        ,
6947        ,
6948        [, , , , , , , , , [-1]]
6949      ],
6950      EC: [, [, , "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}", , , , , , , [8, 9, 10, 11], [7]], [, , "[2-7][2-7]\\d{6}", , , , "22123456", , , [8], [7]], [, , "964[0-2]\\d{5}|9(?:39|[57][89]|6[0-36-9]|[89]\\d)\\d{6}", , , , "991234567", , , [9]], [
6951        ,
6952        ,
6953        "1800\\d{7}|1[78]00\\d{6}",
6954        ,
6955        ,
6956        ,
6957        "18001234567",
6958        ,
6959        ,
6960        [10, 11]
6961      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "[2-7]890\\d{4}", , , , "28901234", , , [8]], "EC", 593, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{4})", "$1-$2", ["[2-7]"]], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], [[, "(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-7]"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], [
6962        ,
6963        ,
6964        ,
6965        ,
6966        ,
6967        ,
6968        ,
6969        ,
6970        ,
6971        [-1]
6972      ], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6973      EE: [, [, , "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}", , , , , , , [7, 8, 10]], [, , "(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}", , , , "3212345", , , [7]], [
6974        ,
6975        ,
6976        "(?:5\\d{5}|8(?:1(?:0(?:0(?:00|[178]\\d)|[3-9]\\d\\d)|(?:1(?:0[2-6]|1\\d)|[2-79]\\d\\d)\\d)|2(?:0(?:0(?:00|4\\d)|(?:19|[2-7]\\d)\\d)|(?:(?:[124-69]\\d|3[5-9])\\d|7(?:[0-79]\\d|8[013-9])|8(?:[2-6]\\d|7[01]))\\d)|[349]\\d{4}))\\d\\d|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}",
6977        ,
6978        ,
6979        ,
6980        "51234567",
6981        ,
6982        ,
6983        [7, 8]
6984      ], [, , "800(?:(?:0\\d\\d|1)\\d|[2-9])\\d{3}", , , , "80012345"], [, , "(?:40\\d\\d|900)\\d{4}", , , , "9001234", , , [7, 8]], [, , , , , , , , , [-1]], [, , "70[0-2]\\d{5}", , , , "70012345", , , [8]], [, , , , , , , , , [-1]], "EE", 372, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88", "[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]], [, "(\\d{4})(\\d{3,4})", "$1 $2", ["[45]|8(?:00|[1-49])", "[45]|8(?:00[1-9]|[1-49])"]], [
6985        ,
6986        "(\\d{2})(\\d{2})(\\d{4})",
6987        "$1 $2 $3",
6988        ["7"]
6989      ], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]], , [, , , , , , , , , [-1]], , , [, , "800[2-9]\\d{3}", , , , , , , [7]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
6990      EG: [
6991        ,
6992        [, , "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}", , , , , , , [8, 9, 10], [6, 7]],
6993        [, , "13[23]\\d{6}|(?:15|57)\\d{6,7}|(?:2\\d|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\d{7}", , , , "234567890", , , [8, 9], [6, 7]],
6994        [, , "1[0-25]\\d{8}", , , , "1001234567", , , [10]],
6995        [, , "800\\d{7}", , , , "8001234567", , , [10]],
6996        [, , "900\\d{7}", , , , "9001234567", , , [10]],
6997        [, , , , , , , , , [-1]],
6998        [, , , , , , , , , [-1]],
6999        [, , , , , , , , , [-1]],
7000        "EG",
7001        20,
7002        "00",
7003        "0",
7004        ,
7005        ,
7006        "0",
7007        ,
7008        ,
7009        ,
7010        [[, "(\\d)(\\d{7,8})", "$1 $2", ["[23]"], "0$1"], [, "(\\d{2})(\\d{6,7})", "$1 $2", ["1[35]|[4-6]|8[2468]|9[235-7]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], [, "(\\d{2})(\\d{8})", "$1 $2", ["1"], "0$1"]],
7011        ,
7012        [, , , , , , , , , [-1]],
7013        ,
7014        ,
7015        [, , , , , , , , , [-1]],
7016        [, , , , , , , , , [-1]],
7017        ,
7018        ,
7019        [, , , , , , , , , [-1]]
7020      ],
7021      EH: [
7022        ,
7023        [, , "[5-8]\\d{8}", , , , , , , [9]],
7024        [, , "528[89]\\d{5}", , , , "528812345"],
7025        [, , "(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|3[01]|5[0-5]))\\d{6}", , , , "650123456"],
7026        [, , "80[0-7]\\d{6}", , , , "801234567"],
7027        [, , "89\\d{7}", , , , "891234567"],
7028        [, , , , , , , , , [-1]],
7029        [, , , , , , , , , [-1]],
7030        [, , "(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}", , , , "592401234"],
7031        "EH",
7032        212,
7033        "00",
7034        "0",
7035        ,
7036        ,
7037        "0",
7038        ,
7039        ,
7040        ,
7041        ,
7042        ,
7043        [, , , , , , , , , [-1]],
7044        ,
7045        ,
7046        [, , , , , , , , , [-1]],
7047        [, , , , , , , , , [-1]],
7048        ,
7049        ,
7050        [, , , , , , , , , [-1]]
7051      ],
7052      ER: [, [, , "[178]\\d{6}", , , , , , , [7], [6]], [, , "(?:1(?:1[12568]|[24]0|55|6[146])|8\\d\\d)\\d{4}", , , , "8370362", , , , [6]], [, , "(?:17[1-3]|7\\d\\d)\\d{4}", , , , "7123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "ER", 291, "00", "0", , , "0", , , , [[
7053        ,
7054        "(\\d)(\\d{3})(\\d{3})",
7055        "$1 $2 $3",
7056        ["[178]"],
7057        "0$1"
7058      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7059      ES: [, [, , "(?:400|[5-9]\\d\\d)\\d{6}", , , , , , , [9]], [, , "96906(?:0[0-8]|1[1-9]|[2-9]\\d)\\d\\d|9(?:69(?:0[0-57-9]|[1-9]\\d)|73(?:[0-8]\\d|9[1-9]))\\d{4}|(?:400|8(?:[1356]\\d|[28][0-8]|[47][1-9])|9(?:[135]\\d|[268][0-8]|4[1-9]|7[124-9]))\\d{6}", , , , "810123456"], [, , "96906(?:09|10)\\d\\d|(?:590(?:10[0-2]|600)|97390\\d)\\d{3}|(?:6\\d|7[1-48])\\d{7}", , , , "612345678"], [, , "[89]00\\d{6}", , , , "800123456"], [
7060        ,
7061        ,
7062        "80[367]\\d{6}",
7063        ,
7064        ,
7065        ,
7066        "803123456"
7067      ], [, , "90[12]\\d{6}", , , , "901123456"], [, , "70\\d{7}", , , , "701234567"], [, , , , , , , , , [-1]], "ES", 34, "00", , , , , , , , [[, "(\\d{4})", "$1", ["905"
vendor: 3,654 bytes, lines 7067-7136
7067]], [, "(\\d{6})", "$1", ["[79]9"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[4-9]"]]], [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[4-9]"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "51\\d{7}", , , , "511234567"], , , [, , , , , , , , , [-1]]],
7068      ET: [, [
7069        ,
7070        ,
7071        "(?:11|[2-57-9]\\d)\\d{7}",
7072        ,
7073        ,
7074        ,
7075        ,
7076        ,
7077        ,
7078        [9],
7079        [7]
7080      ], [
7081        ,
7082        ,
7083        "(?:11(?:[124]\\d\\d|3(?:[0-79]\\d|8[0-7])|5(?:[02-9]\\d|1[0-57-9])|6(?:[02-79]\\d|1[0-57-9]|8[0-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}",
7084        ,
7085        ,
7086        ,
7087        "111112345",
7088        ,
7089        ,
7090        ,
7091        [7]
7092      ], [, , "700[1-9]\\d{5}|(?:7(?:0[1-9]|1[0-8]|2[1-35-79]|3\\d|77|86|99)|(?:8[01]|9\\d)\\d)\\d{6}", , , , "911234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "ET", 251, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-57-9]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7093      FI: [
7094        ,
7095        [, , "[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}", , , , , , , [5, 6, 7, 8, 9, 10, 11, 12]],
7096        [
7097          ,
7098          ,
7099          "1[3-7][1-8]\\d{3,6}|(?:19[1-8]|[23568][1-8]\\d|9(?:00|[1-8]\\d))\\d{2,6}",
7100          ,
7101          ,
7102          ,
7103          "131234567",
7104          ,
7105          ,
7106          [5, 6, 7, 8, 9]
7107        ],
7108        [, , "4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}", , , , "412345678", , , [6, 7, 8, 9, 10]],
7109        [, , "800\\d{4,6}", , , , "800123456", , , [7, 8, 9]],
7110        [, , "[67]00\\d{5,6}", , , , "600123456", , , [8, 9]],
7111        [, , , , , , , , , [-1]],
7112        [, , , , , , , , , [-1]],
7113        [, , , , , , , , , [-1]],
7114        "FI",
7115        358,
7116        "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))",
7117        "0",
7118        ,
7119        ,
7120        "0",
7121        ,
7122        "00",
7123        ,
7124        [[, "(\\d{5})", "$1", ["75[12]"], "0$1"], [, "(\\d{5})", "$1", ["20[2-59]"], "0$1"], [, "(\\d{6})", "$1", ["11"]], [, "(\\d{3})(\\d{3,7})", "$1 $2", ["(?:[1-3]0|[68])0|70[07-9]"], "0$1"], [
7125          ,
7126          "(\\d{2})(\\d{4,8})",
7127          "$1 $2",
7128          ["[14]|2[09]|50|7[135]"],
7129          "0$1"
7130        ], [, "(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"], [, "(\\d)(\\d{4,9})", "$1 $2", ["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"], "0$1"]],
7131        [[, "(\\d{5})", "$1", ["20[2-59]"], "0$1"], [, "(\\d{3})(\\d{3,7})", "$1 $2", ["(?:[1-3]0|[68])0|70[07-9]"], "0$1"], [, "(\\d{2})(\\d{4,8})", "$1 $2", ["[14]|2[09]|50|7[135]"], "0$1"], [, "(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"], [, "(\\d)(\\d{4,9})", "$1 $2", ["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"], "0$1"]],
7132        [, , , , , , , , , [-1]],
7133        1,
7134        "1[03-79]|[2-9]",
7135        [, , "20(?:2[023]|9[89])\\d{1,6}|(?:60[12]\\d|7099)\\d{4,5}|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:[1-3]00|7(?:0[1-5]\\d\\d|5[03-9]))\\d{3,7}"],
7136        [, , "20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}
7136|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}", , , , "10112345"],
7137        ,
7138        ,
7139        [, , , , , , , , , [-1]]
7140      ],
7141      FJ: [
7142        ,
7143        [, , "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", , , , , , , [7, 11]],
7144        [, , "603\\d{4}|(?:3[0-5
vendor: 14,710 bytes, lines 7144-7359
7144]|6[25-7]|8[58])\\d{5}", , , , "3212345", , , [7]],
7145        [, , "(?:[279]\\d|45|5[01568]|8[034679])\\d{5}", , , , "7012345", , , [7]],
7146        [, , "0800\\d{7}", , , , "08001234567", , , [11]],
7147        [, , , , , , , , , [-1]],
7148        [, , , , , , , , , [-1]],
7149        [, , , , , , , , , [-1]],
7150        [, , , , , , , , , [-1]],
7151        "FJ",
7152        679,
7153        "0(?:0|52)",
7154        ,
7155        ,
7156        ,
7157        ,
7158        ,
7159        "00",
7160        ,
7161        [[, "(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]]],
7162        ,
7163        [, , , , , , , , , [-1]],
7164        ,
7165        ,
7166        [, , , , , , , , , [-1]],
7167        [, , , , , , , , , [-1]],
7168        ,
7169        ,
7170        [, , , , , , , , , [-1]]
7171      ],
7172      FK: [, [, , "[2-7]\\d{4}", , , , , , , [5]], [, , "[2-47]\\d{4}", , , , "31234"], [, , "[56]\\d{4}", , , , "51234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "FK", 500, "00", , , , , , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7173      FM: [, [, , "(?:[39]\\d\\d|820)\\d{4}", , , , , , , [7]], [
7174        ,
7175        ,
7176        "31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-6]\\d)\\d)\\d{3}",
7177        ,
7178        ,
7179        ,
7180        "3201234"
7181      ], [, , "31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-7]\\d)\\d)\\d{3}", , , , "3501234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "FM", 691, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7182      FO: [, [, , "[2-9]\\d{5}", , , , , , , [6]], [, , "(?:20|[34]\\d|8[19])\\d{4}", , , , "201234"], [, , "(?:[27][1-9]|5\\d|9[16])\\d{4}", , , , "211234"], [, , "80[257-9]\\d{3}", , , , "802123"], [
7183        ,
7184        ,
7185        "90(?:[13-5][15-7]|2[125-7]|9\\d)\\d\\d",
7186        ,
7187        ,
7188        ,
7189        "901123"
7190      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "6[0-36]\\d{4}", , , , "601234"], "FO", 298, "00", , , , "(10(?:01|[12]0|88))", , , , [[, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"], , "$CC $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7191      FR: [, [, , "[1-9]\\d{8}", , , , , , , [9]], [, , "(?:26[013-9]|59[1-35-9])\\d{6}|(?:[13]\\d|2[0-57-9]|4[1-9]|5[0-8])\\d{7}", , , , "123456789"], [, , "(?:6(?:[0-24-8]\\d|3[0-8]|9[589])|7[3-9]\\d)\\d{6}", , , , "612345678"], [, , "80[0-5]\\d{6}", , , , "801234567"], [
7192        ,
7193        ,
7194        "836(?:0[0-36-9]|[1-9]\\d)\\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\\d|8[0-35-9])\\d{6}",
7195        ,
7196        ,
7197        ,
7198        "891123456"
7199      ], [, , "8(?:1[01]|2[0156]|4[024]|84)\\d{6}", , , , "884012345"], [, , , , , , , , , [-1]], [, , "9\\d{8}", , , , "912345678"], "FR", 33, "00", "0", , , "0", , , , [[, "(\\d{4})", "$1", ["10"]], [, "(\\d{3})(\\d{3})", "$1 $2", ["1"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], [, "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], [, "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], [
7200        ,
7201        ,
7202        ,
7203        ,
7204        ,
7205        ,
7206        ,
7207        ,
7208        ,
7209        [-1]
7210      ], , , [, , , , , , , , , [-1]], [, , "80[6-9]\\d{6}", , , , "806123456"], , , [, , , , , , , , , [-1]]],
7211      GA: [, [, , "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", , , , , , , [7, 8]], [, , "[01]1\\d{6}", , , , "01441234", , , [8]], [, , "(?:(?:0[2-7]|7[467])\\d|6(?:0[0-4]|10|[256]\\d))\\d{5}|[2-7]\\d{6}", , , , "06031234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GA", 241, "00", , , , "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1", , , [[, "(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], [
7212        ,
7213        "(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
7214        "$1 $2 $3 $4",
7215        ["0"]
7216      ], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7217      GB: [, [, , "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", , , , , , , [7, 9, 10], [4, 5, 6, 8]], [
7218        ,
7219        ,
7220        "(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}",
7221        ,
7222        ,
7223        ,
7224        "1212345678",
7225        ,
7226        ,
7227        [9, 10],
7228        [4, 5, 6, 7, 8]
7229      ], [, , "7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", , , , "7400123456", , , [10]], [, , "80[08]\\d{7}|800\\d{6}|8001111", , , , "8001234567"], [, , "(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", , , , "9012345678", , , [7, 10]], [, , , , , , , , , [-1]], [, , "70\\d{8}", , , , "7012345678", , , [10]], [
7230        ,
7231        ,
7232        "56\\d{8}",
7233        ,
7234        ,
7235        ,
7236        "5612345678",
7237        ,
7238        ,
7239        [10]
7240      ], "GB", 44, "00", "0", " x", , "0|180020", , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["800", "8001", "80011", "800111", "8001111"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["845", "8454", "84546", "845464"], "0$1"], [, "(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"], [, "(\\d{5})(\\d{4,5})", "$1 $2", ["1(?:38|5[23]|69|76|94)", "1(?:(?:38|69)7|5(?:24|39)|768|946)", "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"], "0$1"], [, "(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"], [
7241        ,
7242        "(\\d{2})(\\d{4})(\\d{4})",
7243        "$1 $2 $3",
7244        ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"],
7245        "0$1"
7246      ], [, "(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], , [, , "76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", , , , "7640123456", , , [10]], 1, , [, , , , , , , , , [-1]], [, , "(?:3[0347]|55)\\d{8}", , , , "5512345678", , , [10]], , , [, , , , , , , , , [-1]]],
7247      GD: [, [, , "(?:473|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [
7248        ,
7249        ,
7250        "473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-4]|5[59]|73|90)|63[68]|7(?:58|84)|800|938)\\d{4}",
7251        ,
7252        ,
7253        ,
7254        "4732691234",
7255        ,
7256        ,
7257        ,
7258        [7]
7259      ], [, , "473(?:4(?:0[2-79]|1[04-9]|2[0-5]|49|5[6-8])|5(?:2[01]|3[3-8])|901)\\d{4}", , , , "4734031234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [
7260        ,
7261        ,
7262        ,
7263        ,
7264        ,
7265        ,
7266        ,
7267        ,
7268        ,
7269        [-1]
7270      ], "GD", 1, "011", "1", , , "([2-9]\\d{6})$|1", "473$1", , , , , [, , , , , , , , , [-1]], , "473", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7271      GE: [, [, , "(?:[3-57]\\d\\d|800)\\d{6}", , , , , , , [9], [6, 7]], [, , "(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{6}", , , , "322123456", , , , [6, 7]], [
7272        ,
7273        ,
7274        "5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\d|22252[0-4])\\d\\d|5(?:0(?:0(?:1[09]|70)|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|4(?:0[04]0|411)|5222|9000)[0-4]\\d{3}|(?:5(?:0(?:0(?:0\\d|1[12]|2[02]|3[0-6]|4[04]|5[05]|77|88|9[09])|(?:[14]\\d|77)\\d|22[02])|1(?:1(?:[03][01]|[124]\\d|5[02-6]|7[0-6])|4\\d\\d)|2(?:228|555)|3555|4(?:4(?:[02-9]\\d|14)|555)|5(?:[0157-9]\\d\\d|200|333|4(?:44|55))|6[89]\\d\\d|7(?:(?:[0147-9]\\d|22)\\d|5(?:00|[57]5))|8(?:0(?:[018]\\d|2[0-4])|5(?:55|8[89])|8(?:55|88))|9(?:090|[1-35-9]\\d\\d))|790\\d\\d)\\d{4}",
7275        ,
7276        ,
7277        ,
7278        "555123456"
7279      ], [, , "800\\d{6}", , , , "800123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "70[67]\\d{6}", , , , "706123456"], "GE", 995, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , "70[67]\\d{6}"], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7280      GF: [, [
7281        ,
7282        ,
7283        "(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}",
7284        ,
7285        ,
7286        ,
7287        ,
7288        ,
7289        ,
7290        [9]
7291      ], [, , "(?:59(?:4(?:[02-49]\\d|1[0-5]|5[6-9]|6[0-3]|80)|88\\d)|80[6-9]\\d\\d)\\d{4}", , , , "594101234"], [, , "(?:694(?:[0-249]\\d|3[0-8])|7093[0-3])\\d{4}", , , , "694201234"], [, , "80[0-5]\\d{6}", , , , "800012345"], [, , "8[129]\\d{7}", , , , "890123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:(?:396|76\\d)\\d|476[0-6])\\d{4}", , , , "976012345"], "GF", 594, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|80[6-9]|9[47]"], "0$1"], [
7292        ,
7293        "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
7294        "$1 $2 $3 $4",
7295        ["[89]"],
7296        "0$1"
7297      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7298      GG: [
7299        ,
7300        [, , "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", , , , , , , [7, 9, 10], [6]],
7301        [, , "1481[25-9]\\d{5}", , , , "1481256789", , , [10], [6]],
7302        [, , "7(?:(?:781|839)\\d|911[17])\\d{5}", , , , "7781123456", , , [10]],
7303        [, , "80[08]\\d{7}|800\\d{6}|8001111", , , , "8001234567"],
7304        [, , "(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", , , , "9012345678", , , [7, 10]],
7305        [, , , , , , , , , [-1]],
7306        [, , "70\\d{8}", , , , "7012345678", , , [10]],
7307        [, , "56\\d{8}", , , , "5612345678", , , [10]],
7308        "GG",
7309        44,
7310        "00",
7311        "0",
7312        ,
7313        ,
7314        "([25-9]\\d{5})$|0|180020",
7315        "1481$1",
7316        ,
7317        ,
7318        ,
7319        ,
7320        [, , "76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", , , , "7640123456", , , [10]],
7321        ,
7322        ,
7323        [, , , , , , , , , [-1]],
7324        [, , "(?:3[0347]|55)\\d{8}", , , , "5512345678", , , [10]],
7325        ,
7326        ,
7327        [, , , , , , , , , [-1]]
7328      ],
7329      GH: [, [, , "[235]\\d{8}|800\\d{5,6}", , , , , , , [8, 9], [7]], [
7330        ,
7331        ,
7332        "3082[0-5]\\d{4}|3(?:0(?:[237]\\d|8[01])|[167](?:2[0-6]|7\\d|80)|2(?:2[0-5]|7\\d|80)|3(?:2[0-3]|7\\d|80)|4(?:2[013-9]|3[01]|7\\d|80)|5(?:2[0-7]|7\\d|80)|8(?:2[0-2]|7\\d|80)|9(?:[28]0|7\\d))\\d{5}",
7333        ,
7334        ,
7335        ,
7336        "302345678",
7337        ,
7338        ,
7339        [9],
7340        [7]
7341      ], [, , "(?:2(?:[0346-9]\\d|5[67])|5(?:[03-7]\\d|9[1-9]))\\d{6}", , , , "231234567", , , [9]], [, , "800\\d{5,6}", , , , "80012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GH", 233, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[237]|8[0-2]"]], [, "(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2358]"], "0$1"]], [[, "(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2358]"], "0$1"]], [, , , , , , , , , [-1]], , , [
7342        ,
7343        ,
7344        "800\\d{5,6}"
7345      ], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7346      GI: [, [, , "(?:[25]\\d|60)\\d{6}", , , , , , , [8]], [, , "2190[0-2]\\d{3}|2(?:0(?:[02]\\d|3[01])|16[24-9]|2[2-5]\\d)\\d{4}", , , , "20012345"], [, , "5251[0-4]\\d{3}|(?:5(?:[146-8]\\d\\d|250)|60(?:1[01]|6\\d))\\d{4}", , , , "57123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GI", 350, "00", , , , , , , , [[, "(\\d{3})(\\d{5})", "$1 $2", ["2"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7347      GL: [, [
7348        ,
7349        ,
7350        "(?:19|[2-689]\\d|70)\\d{4}",
7351        ,
7352        ,
7353        ,
7354        ,
7355        ,
7356        ,
7357        [6]
7358      ], [, , "(?:19|3[1-7]|[68][1-9]|70|9\\d)\\d{4}", , , , "321000"], [, , "[245]\\d{5}", , , , "221234"], [, , "80\\d{4}", , , , "801234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "3[89]\\d{4}", , , , "381234"], "GL", 299, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7359      GM: [, [, , "[
vendor: 22,321 bytes, lines 7359-7703
73592-9]\\d{6}", , , , , , , [7]], [
7360        ,
7361        ,
7362        "(?:4(?:[23]\\d\\d|4(?:1[024679]|[6-9]\\d))|5(?:5(?:3\\d|4[0-7])|6[67]\\d|7(?:1[04]|2[035]|3[58]|48))|8[0-389]\\d\\d)\\d{3}",
7363        ,
7364        ,
7365        ,
7366        "5661234"
7367      ], [, , "556\\d{4}|(?:[23679]\\d|4[015]|5[0-489]|8[4-7])\\d{5}", , , , "3012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GM", 220, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7368      GN: [
7369        ,
7370        [, , "722\\d{6}|(?:3|6\\d)\\d{7}", , , , , , , [8, 9]],
7371        [, , "3(?:0(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])|1\\d\\d)\\d{4}", , , , "30241234", , , [8]],
7372        [, , "6[0-356]\\d{7}", , , , "601123456", , , [9]],
7373        [, , , , , , , , , [-1]],
7374        [, , , , , , , , , [-1]],
7375        [, , , , , , , , , [-1]],
7376        [, , , , , , , , , [-1]],
7377        [, , "722\\d{6}", , , , "722123456", , , [9]],
7378        "GN",
7379        224,
7380        "00",
7381        ,
7382        ,
7383        ,
7384        ,
7385        ,
7386        ,
7387        ,
7388        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["3"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[67]"]]],
7389        ,
7390        [, , , , , , , , , [-1]],
7391        ,
7392        ,
7393        [, , , , , , , , , [-1]],
7394        [, , , , , , , , , [-1]],
7395        ,
7396        ,
7397        [, , , , , , , , , [-1]]
7398      ],
7399      GP: [, [, , "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", , , , , , , [9]], [, , "(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}", , , , "590201234"], [
7400        ,
7401        ,
7402        "(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}",
7403        ,
7404        ,
7405        ,
7406        "690001234"
7407      ], [, , "80[0-5]\\d{6}", , , , "800012345"], [, , "8[129]\\d{7}", , , , "810123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}", , , , "976012345"], "GP", 590, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|80[6-9]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], , [, , , , , , , , , [-1]], 1, , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7408      GQ: [, [, , "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", , , , , , , [9]], [
7409        ,
7410        ,
7411        "33[0-24-9]\\d[46]\\d{4}|3(?:33|5\\d)\\d[7-9]\\d{4}",
7412        ,
7413        ,
7414        ,
7415        "333091234"
7416      ], [, , "(?:222|55\\d)\\d{6}", , , , "222123456"], [, , "80\\d[1-9]\\d{5}", , , , "800123456"], [, , "90\\d[1-9]\\d{5}", , , , "900123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GQ", 240, "00", , , , , , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], [, "(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7417      GR: [, [, , "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", , , , , , , [10, 11, 12]], [
7418        ,
7419        ,
7420        "2(?:1\\d\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57]))\\d{6}",
7421        ,
7422        ,
7423        ,
7424        "2123456789",
7425        ,
7426        ,
7427        [10]
7428      ], [, , "68[57-9]\\d{7}|(?:69|94)\\d{8}", , , , "6912345678", , , [10]], [, , "800\\d{7,9}", , , , "8001234567"], [, , "90[19]\\d{7}", , , , "9091234567", , , [10]], [, , "8(?:0[16]|12|[27]5|50)\\d{7}", , , , "8011234567", , , [10]], [, , "70\\d{8}", , , , "7012345678", , , [10]], [, , , , , , , , , [-1]], "GR", 30, "00", , , , , , , , [[, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]], [, "(\\d{4})(\\d{6})", "$1 $2", ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]], [
7429        ,
7430        "(\\d{3})(\\d{3,4})(\\d{5})",
7431        "$1 $2 $3",
7432        ["8"]
7433      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "5005000\\d{3}", , , , "5005000123", , , [10]], , , [, , , , , , , , , [-1]]],
7434      GT: [, [, , "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", , , , , , , [8, 11]], [, , "[267][2-9]\\d{6}", , , , "22456789", , , [8]], [, , "(?:[3-5]\\d\\d|80[0-4])\\d{5}", , , , "51234567", , , [8]], [, , "18[01]\\d{8}", , , , "18001112222", , , [11]], [, , "19\\d{9}", , , , "19001112222", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "GT", 502, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], [
7435        ,
7436        "(\\d{4})(\\d{3})(\\d{4})",
7437        "$1 $2 $3",
7438        ["1"]
7439      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7440      GU: [, [, , "(?:[58]\\d\\d|671|900)\\d{7}", , , , , , , [10], [7]], [, , "671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[478])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[16-9]))\\d{4}", , , , "6713001234", , , , [7]], [
7441        ,
7442        ,
7443        "671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[478])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[16-9]))\\d{4}",
7444        ,
7445        ,
7446        ,
7447        "6713001234",
7448        ,
7449        ,
7450        ,
7451        [7]
7452      ], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "GU", 1, "011", "1", , , "([2-9]\\d{6})$|1", "671$1", , 1, , , [, , , , , , , , , [-1]], , "671", [, , , , , , , , , [-1]], [
7453        ,
7454        ,
7455        ,
7456        ,
7457        ,
7458        ,
7459        ,
7460        ,
7461        ,
7462        [-1]
7463      ], , , [, , , , , , , , , [-1]]],
7464      GW: [, [, , "[49]\\d{8}|4\\d{6}", , , , , , , [7, 9]], [, , "443\\d{6}", , , , "443201234", , , [9]], [, , "9(?:5\\d|6[569]|77)\\d{6}", , , , "955012345", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "40\\d{5}", , , , "4012345", , , [7]], "GW", 245, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["40"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7465      GY: [, [, , "(?:[2-8]\\d{3}|9008)\\d{3}", , , , , , , [7]], [
7466        ,
7467        ,
7468        "(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\d|7[0-79])|3(?:2[25-9]|3\\d)|4(?:4[0-24]|5[56])|50[0-6]|77[1-57])\\d{4}",
7469        ,
7470        ,
7471        ,
7472        "2201234"
7473      ], [, , "(?:51[01]|6\\d\\d|7(?:[0-5]\\d|6[0-79]|[78]0))\\d{4}", , , , "6091234"], [, , "(?:289|8(?:00|6[28]|88|99))\\d{4}", , , , "2891234"], [, , "9008\\d{3}", , , , "9008123"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "515\\d{4}", , , , "5151234"], "GY", 592, "001", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7474      HK: [
7475        ,
7476        [, , "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", , , , , , , [5, 6, 7, 8, 9, 11]],
7477        [
7478          ,
7479          ,
7480          "(?:2(?:[13-9]\\d|2[013-9])\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\d|8(?:4[0-8]|[579]\\d|6[0-5]))|58(?:0[1-9]|1[2-9]))\\d{4}",
7481          ,
7482          ,
7483          ,
7484          "21234567",
7485          ,
7486          ,
7487          [8]
7488        ],
7489        [, , "(?:4(?:(?:09|24)[3-6]|44[0-35-9]|6(?:4[0-57-9]|6[0-6])|7(?:4[0-48]|6[0-5]))|5(?:25[3-7]|35[4-8]|73[0-6]|95[0-8])|6(?:26[013-8]|(?:66|78)[0-5])|70(?:7[1-8]|8[0-8])|84(?:4[0-2]|8[0-35-9])|9(?:29[013-9]|39[014-9]|59[0-467]|899))\\d{4}|(?:4(?:4[0-35-9]|6[0-357-9]|7[0-35])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|70[1-59]|84[0-39]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}", , , , "51234567", , , [8]],
7490        [, , "800\\d{6}", , , , "800123456", , , [9]],
7491        [, , "900(?:[0-24-9]\\d{7}|3\\d{1,4})", , , , "90012345678", , , [5, 6, 7, 8, 11]],
7492        [, , , , , , , , , [-1]],
7493        [, , "8(?:1[0-4679]\\d|2(?:[0-36]\\d|7[0-4])|3(?:[034]\\d|2[09]|70))\\d{4}", , , , "81123456", , , [8]],
7494        [, , , , , , , , , [-1]],
7495        "HK",
7496        852,
7497        "00(?:30|5[09]|[126-9]?)",
7498        ,
7499        ,
7500        ,
7501        ,
7502        ,
7503        "00",
7504        ,
7505        [[, "(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], [, "(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]],
7506        ,
7507        [
7508          ,
7509          ,
7510          "7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[0136])|2(?:[02389]\\d|1[18]|7[27-9])|3(?:[0-38]\\d|7[0-369]|9[2357-9])|47\\d|5(?:[178]\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\d)|7(?:[27]\\d|8[7-9])|8(?:[23689]\\d|7[1-9])|9(?:[025]\\d|6[0-246-8]|7[0-36-9]|8[238]))\\d{4}",
7511          ,
7512          ,
7513          ,
7514          "71123456",
7515          ,
7516          ,
7517          [8]
7518        ],
7519        ,
7520        ,
7521        [, , , , , , , , , [-1]],
7522        [, , "30(?:0[1-9]|[15-7]\\d|2[047]|89)\\d{4}", , , , "30161234", , , [8]],
7523        ,
7524        ,
7525        [, , , , , , , , , [-1]]
7526      ],
7527      HN: [, [, , "8\\d{10}|[237-9]\\d{7}", , , , , , , [8, 11]], [
7528        ,
7529        ,
7530        "2(?:2(?:0[0-59]|1[1-9]|[23]\\d|4[02-8]|5[57]|6[2458]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[578]|2[3-59]|3[13-9]|4[0-68]|5[1-3589]|80)|5(?:0[2357-9]|1[1-6]|4[03-58]|5\\d|6[014-69]|7[04]|80)|6(?:[056]\\d|17|2[067]|3[047]|4[0-378]|[78][0-8]|9[01])|7(?:0[5-79]|2[01]|6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\d{4}",
7531        ,
7532        ,
7533        ,
7534        "22123456",
7535        ,
7536        ,
7537        [8]
7538      ], [, , "[37-9]\\d{7}", , , , "91234567", , , [8]], [, , "8002\\d{7}", , , , "80021234567", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "HN", 504, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]]], [[, "(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]], [, , , , , , , , , [-1]], , , [, , "8002\\d{7}", , , , , , , [11]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7539      HR: [, [, , "[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}", , , , , , , [7, 8, 9], [6]], [
7540        ,
7541        ,
7542        "1\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6,7}",
7543        ,
7544        ,
7545        ,
7546        "12345678",
7547        ,
7548        ,
7549        [8, 9],
7550        [6, 7]
7551      ], [, , "9(?:(?:0[1-9]|[12589]\\d)\\d\\d|7(?:[0679]\\d\\d|5(?:[01]\\d|44|55|77|9[5-79])))\\d{4}|98\\d{6}", , , , "921234567", , , [8, 9]], [, , "80\\d{5,7}", , , , "800123456"], [, , "6[01459]\\d{6}|6[01]\\d{5}", , , , "6001234", , , [7, 8]], [, , , , , , , , , [-1]], [, , "7[45]\\d{6}", , , , "74123456", , , [8]], [, , , , , , , , , [-1]], "HR", 385, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["6[01]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], [, "(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"], [
7552        ,
7553        "(\\d{2})(\\d{3})(\\d{3,4})",
7554        "$1 $2 $3",
7555        ["6|7[245]"],
7556        "0$1"
7557      ], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-57]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "62\\d{6,7}|72\\d{6}", , , , "62123456", , , [8, 9]], , , [, , , , , , , , , [-1]]],
7558      HT: [, [, , "[2-589]\\d{7}", , , , , , , [8]], [, , "2(?:2\\d|5[1-5]|81|9[149])\\d{5}", , , , "22453300"], [, , "(?:[34]\\d|5[568])\\d{6}", , , , "34101234"], [, , "8\\d{7}", , , , "80012345"], [
7559        ,
7560        ,
7561        ,
7562        ,
7563        ,
7564        ,
7565        ,
7566        ,
7567        ,
7568        [-1]
7569      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:[67][0-4]|8[0-3589]|9\\d)\\d{5}", , , , "98901234"], "HT", 509, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7570      HU: [, [, , "[235-7]\\d{8}|[1-9]\\d{7}", , , , , , , [8, 9], [6, 7]], [, , "(?:1\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\d{6}", , , , "12345678", , , [8], [6, 7]], [, , "(?:[257]0|3[01])\\d{7}", , , , "201234567", , , [9]], [, , "(?:[48]0\\d|680[29])\\d{5}", , , , "80123456"], [
7571        ,
7572        ,
7573        "9[01]\\d{6}",
7574        ,
7575        ,
7576        ,
7577        "90123456",
7578        ,
7579        ,
7580        [8]
7581      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "21\\d{7}", , , , "211234567", , , [9]], "HU", 36, "00", "06", , , "06", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "(06 $1)"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"], "(06 $1)"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "06 $1"]], , [, , , , , , , , , [-1]], , , [, , "(?:[48]0\\d|680[29])\\d{5}"], [, , "38\\d{7}", , , , "381234567", , , [9]], , , [, , , , , , , , , [-1]]],
7582      ID: [, [
7583        ,
7584        ,
7585        "00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}",
7586        ,
7587        ,
7588        ,
7589        ,
7590        ,
7591        ,
7592        [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
7593        [5, 6]
7594      ], [
7595        ,
7596        ,
7597        "2[124]\\d{7,8}|619\\d{8}|2(?:1(?:14|500)|2\\d{3})\\d{3}|61\\d{5,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}",
7598        ,
7599        ,
7600        ,
7601        "218350123",
7602        ,
7603        ,
7604        [7, 8, 9, 10, 11],
7605        [5, 6]
7606      ], [, , "8[1-35-9]\\d{7,10}", , , , "812345678", , , [9, 10, 11, 12]], [, , "00(?:1803\\d{5,11}|7803\\d{7})|(?:177\\d|800)\\d{5,7}", , , , "8001234567", , , [8, 9, 10, 11, 12, 13, 14, 15, 16, 17]], [, , "809\\d{7}", , , , "8091234567", , , [10]], [, , "804\\d{7}", , , , "8041234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "ID", 62, "00[89]", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]], [, "(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"], "(0$1)"], [, "(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"], [
7607        ,
7608        "(\\d{3})(\\d{5,8})",
7609        "$1 $2",
7610        ["[2-79]"],
7611        "(0$1)"
7612      ], [, "(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"], [, "(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"], [, "(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"], [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3 $4", ["001"]], [, "(\\d{2})(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["0"]]], [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]], [
7613        ,
7614        "(\\d{2})(\\d{5,9})",
7615        "$1 $2",
7616        ["2[124]|[36]1"],
7617        "(0$1)"
7618      ], [, "(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"], [, "(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"], "(0$1)"], [, "(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"], [, "(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"], [, "(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"], [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"]], [, , , , , , , , , [-1]], , , [, , "001803\\d{5,11}|(?:007803\\d|8071)\\d{6}", , , , , , , [10, 11, 12, 13, 14, 15, 16, 17]], [
7619        ,
7620        ,
7621        "(?:1500|8071\\d{3})\\d{3}",
7622        ,
7623        ,
7624        ,
7625        "8071123456",
7626        ,
7627        ,
7628        [7, 10]
7629      ], , , [, , , , , , , , , [-1]]],
7630      IE: [, [, , "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}", , , , , , , [7, 8, 9, 10], [5, 6]], [, , "(?:1\\d|21)\\d{6,7}|(?:2[24-9]|4(?:0[24]|5\\d|7)|5(?:0[45]|1\\d|8)|6(?:1\\d|[237-9])|9(?:1\\d|[35-9]))\\d{5}|(?:23|4(?:[1-469]|8\\d)|5[23679]|6[4-6]|7[14]|9[04])\\d{7}", , , , "2212345", , , , [5, 6]], [, , "8(?:22|[35-9]\\d)\\d{6}", , , , "850123456", , , [9]], [, , "1800\\d{6}", , , , "1800123456", , , [10]], [
7631        ,
7632        ,
7633        "15(?:1[2-8]|[2-8]0|9[089])\\d{6}",
7634        ,
7635        ,
7636        ,
7637        "1520123456",
7638        ,
7639        ,
7640        [10]
7641      ], [, , "18[59]0\\d{6}", , , , "1850123456", , , [10]], [, , "700\\d{6}", , , , "700123456", , , [9]], [, , "76\\d{7}", , , , "761234567", , , [9]], "IE", 353, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{5})", "$1 $2", ["2[24-9]|47|58|6[237-9]|9[35-9]"], "(0$1)"], [, "(\\d{3})(\\d{5})", "$1 $2", ["[45]0"], "(0$1)"], [, "(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2569]|4[1-69]|7[14]"], "(0$1)"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], [
7642        ,
7643        "(\\d{3})(\\d{3})(\\d{3})",
7644        "$1 $2 $3",
7645        ["81"],
7646        "(0$1)"
7647      ], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[78]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["4"], "(0$1)"], [, "(\\d{2})(\\d)(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , "18[59]0\\d{6}", , , , , , , [10]], [, , "818\\d{6}", , , , "818123456", , , [9]], , , [, , "88210[1-9]\\d{4}|8(?:[35-79]5\\d\\d|8(?:[013-9]\\d\\d|2(?:[01][1-9]|[2-9]\\d)))\\d{5}", , , , "8551234567", , , [10]]],
7648      IL: [
7649        ,
7650        [, , "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}", , , , , , , [
7651          7,
7652          8,
7653          9,
7654          10,
7655          11,
7656          12
7657        ]],
7658        [, , "153\\d{8,9}|29[1-9]\\d{5}|(?:2[0-8]|[3489]\\d)\\d{6}", , , , "21234567", , , [8, 11, 12], [7]],
7659        [, , "55(?:4(?:0[0-3]|10|6[015-9])|57[0-289]|8[06][0-2])\\d{4}|5(?:(?:[0-2][02-9]|[36]\\d|[49][2-9]|8[3-7])\\d|5(?:01|2\\d|3[0-3]|4[3-5]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}", , , , "502345678", , , [9]],
7660        [, , "1(?:255|80[019]\\d{3})\\d{3}", , , , "1800123456", , , [7, 10]],
7661        [, , "1212\\d{4}|1(?:200|9(?:0[0-2]|19|9\\d))\\d{6}", , , , "1919123456", , , [8, 10]],
7662        [, , "1700\\d{6}", , , , "1700123456", , , [10]],
7663        [, , , , , , , , , [-1]],
7664        [, , "7(?:280[01]|38(?:[05]\\d|8[01358])|8(?:33|55|77|81)\\d)\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\d|82|9[2-9])\\d{6}", , , , "771234567", , , [9]],
7665        "IL",
7666        972,
7667        "0(?:0|1[2-9])",
7668        "0",
7669        ,
7670        ,
7671        "0",
7672        ,
7673        ,
7674        ,
7675        [[, "(\\d{4})(\\d{3})", "$1-$2", ["125"]], [, "(\\d{4})(\\d{2})(\\d{2})", "$1-$2-$3", ["121"]], [, "(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-489]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1-$2-$3", ["12"]], [, "(\\d{4})(\\d{6})", "$1-$2", ["159"]], [
7676          ,
7677          "(\\d)(\\d{3})(\\d{3})(\\d{3})",
7678          "$1-$2-$3-$4",
7679          ["1[7-9]"]
7680        ], [, "(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]]],
7681        ,
7682        [, , , , , , , , , [-1]],
7683        ,
7684        ,
7685        [, , "1700\\d{6}", , , , , , , [10]],
7686        [, , "1599\\d{6}", , , , "1599123456", , , [10]],
7687        ,
7688        ,
7689        [, , "151\\d{8,9}", , , , "15112340000", , , [11, 12]]
7690      ],
7691      IM: [, [, , "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", , , , , , , [10], [6]], [, , "1624(?:230|[5-8]\\d\\d)\\d{3}", , , , "1624756789", , , , [6]], [, , "76245[06]\\d{4}|7(?:4576|[59]24\\d|624[0-4689])\\d{5}", , , , "7924123456"], [, , "808162\\d{4}", , , , "8081624567"], [
7692        ,
7693        ,
7694        "8(?:440[49]06|72299\\d)\\d{3}|(?:8(?:45|70)|90[0167])624\\d{4}",
7695        ,
7696        ,
7697        ,
7698        "9016247890"
7699      ], [, , , , , , , , , [-1]], [, , "70\\d{8}", , , , "7012345678"], [, , "56\\d{8}", , , , "5612345678"], "IM", 44, "00", "0", , , "([25-8]\\d{5})$|0|180020", "1624$1", , , , , [, , , , , , , , , [-1]], , "74576|(?:16|7[56])24", [, , , , , , , , , [-1]], [, , "3440[49]06\\d{3}|(?:3(?:08162|3\\d{4}|45624|7(?:0624|2299))|55\\d{4})\\d{4}", , , , "5512345678"], , , [, , , , , , , , , [-1]]],
7700      IN: [, [, , "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", , , , , , , [8, 9, 10, 11, 12, 13], [6, 7]], [
7701        ,
7702        ,
7703        "(?:2717(?:[2-7]\\d|95)|6828[235-7]\\d)\\d{4}|(?:170[24]|280[13468]|4(?:20[24]|72[2-8])|552[1-7])\\d{6}|(?:271[0-689]|682[0-79]|782[0-6])[2-7]\\d{5}|(?:2(?:[02][2-79]|90)|3(?:23|80)|683|79[1-7])\\d{7}|(?:11|33|4[04]|80)[2-7]\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\d)\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2
7703-689]|6[24578]|7[235689]|8[14-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d[2-7]\\d{5}",
7704        ,
7705        ,
7706        ,
7707        "7410410123",
7708        ,
7709        ,
7710        [10],
7711        [6, 7, 8]
7712      ], [
7713        ,
7714        ,
7715        "(?:6(?:1279|828[01489])|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\d{5}|(?:160[01]|6(?:(?:12|[2-4]1|5[17]|6[13]|80)[0189]|7(?:1[0189]|86))|7(?:1(?:2[0189]|9[0-5])|3(?:2[5-8]|[34][017-9]|9[016-9])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\d{6}|(?:731|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\d|7[02-8])\\d{5}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[23569]\\d|4[0189]|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-5])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]|881))[0189]\\d{5}|(?:6(?:[09]\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:[024]\\d|3[05-8]|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\d\\d)\\d{7}",
7716        ,
7717        ,
7718        ,
7719        "8123456789",
7720        ,
7721        ,
7722        [10]
7723      ], [, , "000800\\d{7}|180(?:0\\d{4,9}|3\\d{9})", , , , "1800123456"], [, , "186[12]\\d{9}", , , , "1861123456789", , , [13]], [, , "1860\\d{7}", , , , "18603451234", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "IN", 91, "00", "0", , , "0", , , , [[, "(\\d{7})", "$1", ["575"]], [, "(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], , , 1], [, "(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], , , 1], [
7724        ,
7725        "(\\d{3})(\\d{3})(\\d{4})",
7726        "$1 $2 $3",
7727        ["140"],
7728        ,
7729        ,
7730        1
7731      ], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", , 1], [
7732        ,
7733        "(\\d{3})(\\d{3})(\\d{4})",
7734        "$1 $2 $3",
7735        [
7736          "1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67)[14]",
7737          "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31)|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]",
7738          "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:3171|5[15][2-6]|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|8(?:16|2[014]|3[126]|6[136]|7[78]|83)(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"
7739        ],
7740        "0$1",
7741        ,
7742        1
7743      ], [
7744        ,
7745        "(\\d{4})(\\d{3})(\\d{3})",
7746        "$1 $2 $3",
7747        ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|3[129]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2
7747-689]|6[24578]|7(?:[23569]|8[0-57-9])|8[1-6])|7(?:1(?:[013-8]|9[6-9])|3(?:17|2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]", "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[23569]\\d|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],
7748        "0$1",
7749        ,
7750        1
7751      ], [, "(\\d{5})(\\d{5})", "$1 $2", ["16|[6-9]"], "0$1", , 1], [, "(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["18[06]", "18[06]0"], , , 1], [, "(\\d{3})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["0"]], [, "(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], , , 1]], [
7752        [, "(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], , , 1],
7753        [, "(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], , , 1],
7754        [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], , , 1],
7755        [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", , 1],
7756        [
7757          ,
7758          "(\\d{3})(\\d{3})(\\d{4})",
7759          "$1 $2 $3",
7760          [
7761            "1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67)[14]",
7762            "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31)|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]",
7763            "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:3171|5[15][2-6]|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|8(?:16|2[014]|3[126]|6[136]|7[78]|83)(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"
7764          ],
7765          "0$1",
7766          ,
7767          1
7768        ],
7769        [
7770          ,
7771          "(\\d{4})(\\d{3})(\\d{3})",
7772          "$1 $2 $3",
7773          ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|3[129]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7(?:[23569]|8[0-57-9])|8[1-6])|7(?:1(?:[013-8]|9[6-9])|3(?:17|2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]", "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[23569]\\d|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],
7774          "0$1",
7775          ,
7776          1
7777        ],
7778        [, "(\\d{5})(\\d{5})", "$1 $2", ["16|[6-9]"], "0$1", , 1],
7779        [, "(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["18[06]", "18[06]0"], , , 1],
7780        [, "(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], , , 1]
7781      ], [, , , , , , , , , [-1]], , , [, , "1800\\d{4,9}|(?:000800|18(?:03\\d\\d|6(?:0|[12]\\d\\d)))\\d{7}"], [, , "140\\d{7}", , , , "1409305260", , , [10]], , , [, , , , , , , , , [-1]]],
7782      IO: [
7783        ,
7784        [, , "3\\d{6}", , , , , , , [7]],
7785        [, , "37\\d{5}", , , , "3709100"],
7786        [, , "38\\d{5}", , , , "3801234"],
7787        [, , , , , , , , , [-1]],
7788        [, , , , , , , , , [-1]],
7789        [, , , , , , , , , [-1]],
7790        [, , , , , , , , , [-1]],
7791        [, , , , , , , , , [-1]],
7792        "IO",
7793        246,
7794        "00",
7795        ,
7796        ,
7797        ,
7798        ,
7799        ,
7800        ,
7801        ,
7802        [[, "(\\d{3})(\\d{4})", "$1 $2", ["3"]]],
7803        ,
7804        [, , , , , , , , , [-1]],
7805        ,
7806        ,
7807        [, , , , , , , , , [-1]],
7808        [, , , , , , , , , [-1]],
7809        ,
7810        ,
7811        [, , , , , , , , , [-1]]
7812      ],
7813      IQ: [, [, , "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", , , , , , , [8, 9, 10], [6, 7]], [, , "1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}", , , , "12345678", , , [8, 9], [6, 7]], [, , "7[3-9]\\d{8}", , , , "7912345678", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "IQ", 964, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], [
7814        ,
7815        "(\\d{2})(\\d{3})(\\d{3,4})",
7816        "$1 $2 $3",
7817        ["[2-6]"],
7818        "0$1"
7819      ], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
7820      IR: [, [, , "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", , , , , , , [4, 5, 6, 7, 10], [8]], [, , "(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\d{7}|[16]\\d{3}(?:\\d{4})?|[289]\\d{3}(?:\\d(?:\\d{3})?)?)|94(?:000[09]|(?:12\\d|30[0-2])\\d|2(?:[02689]0\\d|121)|4(?:111|40\\d))\\d{4}", , , , "2123456789", , , [6, 7, 10], [4, 5, 8]], [
7821        ,
7822        ,
7823        "9(?:(?:0[0-5]|[13]\\d|2[0-3])\\d\\d|9(?:[0-46]\\d\\d|5(?:10|5\\d)|8(?:[12]\\d|3[0-2]|88)|9(?:[01359]\\d|21|69|77|8[7-9])))\\d{5}",
7824        ,
7825        ,
7826        ,
7827        "9123456789",
7828        ,
7829        ,
7830        [10]
7831      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "IR", 98, "00", "0", , , "0", , , , [[, "(\\d{4,5})", "$1", ["96"], "0$1"], [, "(\\d{2})(\\d{4,5})", "$1 $2", ["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"]], , [, , , , , , , , , [-1]], , , [
7832        ,
7833        ,
7834        "9(?:4440\\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))",
7835        ,
7836        ,
7837        ,
7838        ,
7839        ,
7840        ,
7841        [4, 5, 10]
7842      ], [, , "96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])", , , , "9601", , , [4, 5]], , , [, , , , , , , , , [-1]]],
7843      IS: [, [, , "(?:38\\d|[4-9])\\d{6}", , , , , , , [7, 9]], [, , "(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-24589]|5[0-68]|6\\d|8[0-36-8])|5(?:05|[156]\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|872)\\d{4}", , , , "4101234", , , [7]], [
7844        ,
7845        ,
7846        "(?:38[589]\\d\\d|6(?:1[1-8]|2[0-6]|3[026-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\d)|7(?:5[057]|[6-9]\\d)|8(?:2[0-59]|[3-69]\\d|8[238]))\\d{4}",
7847        ,
7848        ,
7849        ,
7850        "6111234"
7851      ], [, , "80[0-8]\\d{4}", , , , "8001234", , , [7]], [, , "90(?:0\\d|1[5-79]|2[015-79]|3[135-79]|4[125-7]|5[25-79]|7[1-37]|8[0-35-7])\\d{3}", , , , "9001234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "49[0-24-79]\\d{4}", , , , "4921234", , , [7]], "IS", 354, "00|1(?:0(?:01|[12]0)|100)", , , , , , "00", , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "809\\d{4}", , , , "8091234", , , [7]], , , [, , "(?:689|8(?:7[18]|80)|95[48])\\d{4}", , , , "6891234", , , [7]]],
7852      IT: [, [, , "0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?", , , , , , , [6, 7, 8, 9, 10, 11, 12]], [
7853        ,
7854        ,
7855        "0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}",
7856        ,
7857        ,
7858        ,
7859        "0212345678"
7860      ], [, , "3[2-9]\\d{7,8}|(?:31|43)\\d{8}", , , , "3123456789", , , [9, 10]], [, , "80(?:0\\d{3}|3)\\d{3}", , , , "800123456", , , [6, 9]], [, , "(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", , , , "899123456", , , [6, 8, 9, 10]], [, , "84(?:[08]\\d{3}|[17])\\d{3}", , , , "848123456", , , [6, 9]], [, , "1(?:78\\d|99)\\d{6}", , , , "1781234567", , , [9, 10]], [, , "55\\d{8}", , , , "5512345678", , , [10]], "IT", 39, "00", , , , , , , , [
7861        [, "(\\d{4,5})", "$1", ["1(?:0|9[246])", "1(?:0|9(?:2[2-9]|[46]))"]],
7862        [, "(\\d{6})", "$1", ["1(?:1|92)"]],
7863        [, "(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]],
7864        [, "(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]],
7865        [, "(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]],
7866        [, "(\\d{4})(\\d{4})", "$1 $2", ["894"]],
7867        [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]],
7868        [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]],
7869        [, "(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]],
7870        [, "(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]],
7871        [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]],
7872        [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[03]"]]
7873      ], [[, "(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]], [, "(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]], [, "(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["894"]], [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]], [
7874        ,
7875        "(\\d{3})(\\d{3})(\\d{3,4})",
7876        "$1 $2 $3",
7877        ["1(?:44|[679])|[378]|43"]
7878      ], [, "(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]], [, "(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]], [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[03]"]]], [, , , , , , , , , [-1]], 1, , [, , "848\\d{6}", , , , , , , [9]], [, , , , , , , , , [-1]], , , [, , "3[2-8]\\d{9,10}", , , , "33101234501", , , [11, 12]]],
7879      JE: [, [, , "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", , , , , , , [10], [6]], [, , "1534[0-24-8]\\d{5}", , , , "1534456789", , , , [6]], [
7880        ,
7881        ,
7882        "7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}",
7883        ,
7884        ,
7885        ,
7886        "7797712345"
7887      ], [, , "80(?:07(?:35|81)|8901)\\d{4}", , , , "8007354567"], [, , "(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}", , , , "9018105678"], [, , , , , , , , , [-1]], [, , "701511\\d{4}", , , , "7015115678"], [, , "56\\d{8}", , , , "5612345678"], "JE", 44, "00", "0", , , "([0-24-8]\\d{5})$|0|180020", "1534$1", , , , , [, , "76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", , , , "7640123456"], , , [, , , , , , , , , [-1]], [
7888        ,
7889        ,
7890        "(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}",
7891        ,
7892        ,
7893        ,
7894        "5512345678"
7895      ], , , [, , , , , , , , , [-1]]],
7896      JM: [, [, , "(?:[58]\\d\\d|658|900)\\d{7}", , , , , , , [10], [7]], [, , "8766060\\d{3}|(?:658(?:2(?:[5-8]\\d|9[0-46-9])|[3-9]\\d\\d)|876(?:52[35]|6(?:0[1-3579]|1[0235-9]|[23]\\d|40|5[06]|6[2-589]|7[0-25-9]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468])))\\d{4}", , , , "8765230123", , , , [7]], [
7897        ,
7898        ,
7899        "(?:6582(?:[0-4]\\d|95)|876(?:2(?:0[1-9]|[13-9]\\d|2[013-9])|[348]\\d\\d|5(?:0[1-9]|[1-9]\\d)|6(?:4[89]|6[
789967])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\d{4}",
7900        ,
7901        ,
7902        ,
7903        "8762101234",
7904        ,
7905        ,
7906        ,
7907        [7]
7908      ], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "JM", 1, "011", "1", , , "1", , , , , , [, , , , , , , , , [-1]], , "658|876", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [
7909        ,
7910        ,
7911        ,
7912        ,
7913        ,
7914        ,
7915        ,
7916        ,
7917        ,
7918        [-1]
7919      ]],
7920      JO: [, [, , "(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}", , , , , , , [8, 9]], [
7921        ,
7922        ,
7923        "87(?:000|90[01])\\d{3}|(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|4[0-3]|[5-7][023])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2(?:[05]0|22)|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:20|7[078]|99))\\d{4}",
7924        ,
7925        ,
7926        ,
7927        "62001234",
7928        ,
7929        ,
7930        [8]
7931      ], [, , "(?:427|7(?:[78][0-25-9]|9\\d
vendor: 22,305 bytes, lines 7931-8247
7931))\\d{6}", , , , "790123456", , , [9]], [, , "80\\d{6}", , , , "80012345", , , [8]], [, , "9\\d{7}", , , , "90012345", , , [8]], [, , "85\\d{6}", , , , "85012345", , , [8]], [, , "70\\d{7}", , , , "700123456", , , [9]], [, , , , , , , , , [-1]], "JO", 962, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"], [, "(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[47]"], "0$1"]], , [
7932        ,
7933        ,
7934        "74(?:66|77)\\d{5}",
7935        ,
7936        ,
7937        ,
7938        "746612345",
7939        ,
7940        ,
7941        [9]
7942      ], , , [, , , , , , , , , [-1]], [, , "8(?:10|8\\d)\\d{5}", , , , "88101234", , , [8]], , , [, , , , , , , , , [-1]]],
7943      JP: [
7944        ,
7945        [, , "00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", , , , , , , [8, 9, 10, 11, 12, 13, 14, 15, 16, 17]],
7946        [, , "(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\d|4(?:[2-578]\\d|6[02-8]|9[2-59])|5(?:[2-589]\\d|6[1-9]|7[2-8])|7(?:[25-9]\\d|3[4-9]|4[02-9])|8(?:[2679]\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\d|[679][1-9]))\\d{6}", , , , "312345678", , , [9]],
7947        [
7948          ,
7949          ,
7950          "[6-9]0[1-9]\\d{7}",
7951          ,
7952          ,
7953          ,
7954          "9012345678",
7955          ,
7956          ,
7957          [10]
7958        ],
7959        [, , "00777(?:[01]|5\\d)\\d\\d|(?:00(?:7778|882[1245])|(?:120|800\\d)\\d\\d)\\d{4}|00(?:37|66|78)\\d{6,13}", , , , "120123456"],
7960        [, , "990\\d{6}", , , , "990123456", , , [9]],
7961        [, , , , , , , , , [-1]],
7962        [, , "60\\d{7}", , , , "601234567", , , [9]],
7963        [, , "50[1-9]\\d{7}", , , , "5012345678", , , [10]],
7964        "JP",
7965        81,
7966        "010",
7967        "0",
7968        ,
7969        ,
7970        "(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0",
7971        "$1",
7972        ,
7973        ,
7974        [[, "(\\d{4})(\\d{4})", "$1-$2", ["007", "0077", "00777", "00777[01]"]], [, "(\\d{8,10})", "$1", ["000"]], [
7975          ,
7976          "(\\d{3})(\\d{3})(\\d{3})",
7977          "$1-$2-$3",
7978          ["(?:12|57|99)0"],
7979          "0$1"
7980        ], [, "(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"], "0$1"], [
7981          ,
7982          "(\\d{2})(\\d{3})(\\d{4})",
7983          "$1-$2-$3",
7984          ["60"],
7985          "0$1"
7986        ], [, "(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["3|4(?:2[09]|7[01])|6[1-9]", "3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"], "0$1"], [
7987          ,
7988          "(\\d{2})(\\d{3})(\\d{4})",
7989          "$1-$2-$3",
7990          [
7991            "1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])",
7992            "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]",
7993            "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"
7994          ],
7995          "0$1"
7996        ], [, "(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], [, "(\\d{4})(\\d{2})(\\d{3,4})", "$1-$2-$3", ["007", "0077"]], [, "(\\d{4})(\\d{2})(\\d{4})", "$1-$2-$3", ["008"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[25-9]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3,4})", "$1-$2-$3", ["0"]], [, "(\\d{4})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["0"]], [, "(\\d{4})(\\d{5})(\\d{5,6})", "$1-$2-$3", ["0"]], [, "(\\d{4})(\\d{6})(\\d{6,7})", "$1-$2-$3", ["0"]]],
7997        [[, "(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], [
7998          ,
7999          "(\\d{4})(\\d)(\\d{4})",
8000          "$1-$2-$3",
8001          ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"],
8002          "0$1"
8003        ], [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["3|4(?:2[09]|7[01])|6[1-9]", "3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"], "0$1"], [
8004          ,
8005          "(\\d{2})(\\d{3})(\\d{4})",
8006          "$1-$2-$3",
8007          [
8008            "1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])",
8009            "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]",
8010            "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"
8011          ],
8012          "0$1"
8013        ], [, "(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[25-9]"], "0$1"]],
8014        [, , "20\\d{8}", , , , "2012345678", , , [10]],
8015        ,
8016        ,
8017        [, , "00(?:777(?:[01]|(?:5|8\\d)\\d)|882[1245]\\d\\d)\\d\\d|00(?:37|66|78)\\d{6,13}"],
8018        [, , "570\\d{6}", , , , "570123456", , , [9]],
8019        ,
8020        ,
8021        [, , , , , , , , , [-1]]
8022      ],
8023      KE: [, [, , "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}", , , , , , , [7, 8, 9, 10]], [
8024        ,
8025        ,
8026        "(?:4[245]|5[1-79]|6[01457-9])\\d{5,7}|(?:4[136]|5[08]|62)\\d{7}|(?:[24]0|66)\\d{6,7}",
8027        ,
8028        ,
8029        ,
8030        "202012345",
8031        ,
8032        ,
8033        [7, 8, 9]
8034      ], [, , "(?:1(?:0[0-8]|[18]\\d|2[014]|30|4[0-5])|7\\d\\d)\\d{6}", , , , "712123456", , , [9]], [, , "800[02-8]\\d{5,6}", , , , "800223456", , , [9, 10]], [, , "900[02-9]\\d{5}", , , , "900223456", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "KE", 254, "000", "0", , , "0", , , , [[, "(\\d{2})(\\d{5,7})", "$1 $2", ["[24-6]"], "0$1"], [, "(\\d{3})(\\d{6})", "$1 $2", ["[17]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8035      KG: [
8036        ,
8037        [, , "8\\d{9}|[235-9]\\d{8}", , , , , , , [9, 10], [5, 6]],
8038        [, , "312(?:5[0-79]\\d|9(?:[0-689]\\d|7[0-24-9]))\\d{3}|(?:3(?:1(?:2[0-46-8]|3[1-9]|47|[56]\\d)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\d)|5(?:22|3[4-7]|59|6\\d)|6(?:22|5[35-7]|6\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\d)|9(?:22|4[1-8]|6\\d))|6(?:09|12|2[2-4])\\d)\\d{5}", , , , "312123456", , , [9], [5, 6]],
8039        [, , "312(?:58\\d|973)\\d{3}|(?:2(?:0[0-35]|2\\d)|5[0-24-7]\\d|600|7(?:[07]\\d|55)|88[08]|9(?:12|9[05-9]))\\d{6}", , , , "700123456", , , [9]],
8040        [, , "800\\d{6,7}", , , , "800123456"],
8041        [, , , , , , , , , [-1]],
8042        [, , , , , , , , , [-1]],
8043        [, , , , , , , , , [-1]],
8044        [, , , , , , , , , [-1]],
8045        "KG",
8046        996,
8047        "00",
8048        "0",
8049        ,
8050        ,
8051        "0",
8052        ,
8053        ,
8054        ,
8055        [[, "(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"], [, "(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"]],
8056        ,
8057        [, , , , , , , , , [-1]],
8058        ,
8059        ,
8060        [, , , , , , , , , [-1]],
8061        [, , , , , , , , , [-1]],
8062        ,
8063        ,
8064        [, , , , , , , , , [-1]]
8065      ],
8066      KH: [
8067        ,
8068        [, , "1\\d{9}|[1-9]\\d{7,8}", , , , , , , [8, 9, 10], [6, 7]],
8069        [
8070          ,
8071          ,
8072          "23(?:4(?:[2-4]|[56]\\d)|[568]\\d\\d)\\d{4}|23[236-9]\\d{5}|(?:2[4-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:(?:[237-9]|4[56]|5\\d)\\d{5}|6\\d{5,6})",
8073          ,
8074          ,
8075          ,
8076          "23756789",
8077          ,
8078          ,
8079          [8, 9],
8080          [6, 7]
8081        ],
8082        [, , "(?:(?:1[28]|3[18]|9[67])\\d|6[016-9]|7(?:[07-9]|[16]\\d)|8(?:[013-79]|8\\d))\\d{6}|(?:1\\d|9[0-57-9])\\d{6}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])48\\d{5}", , , , "91234567", , , [8, 9]],
8083        [, , "1800(?:1\\d|2[019])\\d{4}", , , , "1800123456", , , [10]],
8084        [, , "1900(?:1\\d|2[09])\\d{4}", , , , "1900123456", , , [10]],
8085        [, , , , , , , , , [-1]],
8086        [, , , , , , , , , [-1]],
8087        [, , , , , , , , , [-1]],
8088        "KH",
8089        855,
8090        "00[14-9]",
8091        "0",
8092        ,
8093        ,
8094        "0",
8095        ,
8096        ,
8097        ,
8098        [[, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]],
8099        ,
8100        [, , , , , , , , , [-1]],
8101        ,
8102        ,
8103        [, , , , , , , , , [-1]],
8104        [, , , , , , , , , [-1]],
8105        ,
8106        ,
8107        [, , , , , , , , , [-1]]
8108      ],
8109      KI: [, [, , "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}", , , , , , , [5, 8]], [, , "(?:[24]\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\d\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\d{3}", , , , "31234"], [
8110        ,
8111        ,
8112        "(?:6200[01]|7(?:310[1-9]|5(?:02[03-9]|12[0-47-9]|22[0-7]|[34](?:0[1-9]|8[02-9])|50[1-9])))\\d{3}|(?:63\\d\\d|7(?:(?:[0146-9]\\d|2[0-689])\\d|3(?:[02-9]\\d|1[1-9])|5(?:[0-2][013-9]|[34][1-79]|5[1-9]|[6-9]\\d)))\\d{4}",
8113        ,
8114        ,
8115        ,
8116        "72001234",
8117        ,
8118        ,
8119        [8]
8120      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "30(?:0[01]\\d\\d|12(?:11|20))\\d\\d", , , , "30010000", , , [8]], "KI", 686, "00", "0", , , "0", , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8121      KM: [, [, , "[3478]\\d{6}", , , , , , , [7], [4]], [, , "7[4-7]\\d{5}", , , , "7712345", , , , [4]], [, , "[34]\\d{6}", , , , "3212345"], [, , , , , , , , , [-1]], [, , "8\\d{6}", , , , "8001234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "KM", 269, "00", , , , , , , , [[
8122        ,
8123        "(\\d{3})(\\d{2})(\\d{2})",
8124        "$1 $2 $3",
8125        ["[3478]"]
8126      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8127      KN: [, [, , "(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "869(?:2(?:29|36)|302|4(?:6[015-9]|70)|56[5-7])\\d{4}", , , , "8692361234", , , , [7]], [, , "869(?:48[89]|55[6-8]|66\\d|76[02-7])\\d{4}", , , , "8697652917", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [
8128        ,
8129        ,
8130        "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}",
8131        ,
8132        ,
8133        ,
8134        "5002345678"
8135      ], [, , , , , , , , , [-1]], "KN", 1, "011", "1", , , "([2-7]\\d{6})$|1", "869$1", , , , , [, , , , , , , , , [-1]], , "869", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8136      KP: [, [, , "85\\d{6}|(?:19\\d|[2-7])\\d{7}", , , , , , , [8, 10], [6, 7]], [, , "(?:(?:195|2)\\d|3[19]|4[159]|5[37]|6[17]|7[39]|85)\\d{6}", , , , "21234567", , , , [6, 7]], [, , "19[1-3]\\d{7}", , , , "1921234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "KP", 850, "00|99", "0", , , "0", , , , [[
8137        ,
8138        "(\\d{2})(\\d{3})(\\d{3})",
8139        "$1 $2 $3",
8140        ["8"],
8141        "0$1"
8142      ], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , "238[02-9]\\d{4}|2(?:[0-24-9]\\d|3[0-79])\\d{5}", , , , , , , [8]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8143      KR: [, [, , "00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}", , , , , , , [5, 6, 8, 9, 10, 11, 12, 13, 14], [3, 4, 7]], [
8144        ,
8145        ,
8146        "(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\d{2,3}",
8147        ,
8148        ,
8149        ,
8150        "22123456",
8151        ,
8152        ,
8153        [5, 6, 8, 9, 10],
8154        [3, 4, 7]
8155      ], [, , "1(?:05(?:[0-8]\\d|9[0-6])|22[13]\\d)\\d{4,5}|1(?:0[0-46-9]|[16-9]\\d|2[013-9])\\d{6,7}", , , , "1020000000", , , [9, 10]], [, , "00(?:308\\d{6,7}|798\\d{7,9})|(?:00368|[38]0)\\d{7}", , , , "801234567", , , [9, 11, 12, 13, 14]], [, , "60[2-9]\\d{6}", , , , "602345678", , , [9]], [, , , , , , , , , [-1]], [, , "50\\d{8,9}", , , , "5012345678", , , [10, 11]], [, , "70\\d{8}", , , , "7012345678", , , [10]], "KR", 82, "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))", "0", , , "0(8(?:[1-46-8]|5\\d\\d))?", , , , [[
8156        ,
8157        "(\\d{5})",
8158        "$1",
8159        ["1[016-9]1", "1[016-9]11", "1[016-9]114"],
8160        "0$1"
8161      ], [, "(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1", "0$CC-$1"], [, "(\\d{4})(\\d{4})", "$1-$2", ["1"]], [, "(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1", "0$CC-$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[36]0|8"], "0$1", "0$CC-$1"], [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1", "0$CC-$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1", "0$CC-$1"], [, "(\\d{5})(\\d{3})(\\d{3})", "$1 $2 $3", ["003", "0030"]], [
8162        ,
8163        "(\\d{2})(\\d{5})(\\d{4})",
8164        "$1-$2-$3",
8165        ["5"],
8166        "0$1",
8167        "0$CC-$1"
8168      ], [, "(\\d{5})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0"]], [, "(\\d{5})(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["0"]]], [
8169        [, "(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1", "0$CC-$1"],
8170        [, "(\\d{4})(\\d{4})", "$1-$2", ["1"]],
8171        [, "(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1", "0$CC-$1"],
8172        [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[36]0|8"], "0$1", "0$CC-$1"],
8173        [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1", "0$CC-$1"],
8174        [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1", "0$CC-$1"],
8175        [, "(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1", "0$CC-$1"]
8176      ], [, , "15\\d{7,8}", , , , "1523456789", , , [9, 10]], , , [, , "00(?:3(?:08\\d{6,7}|68\\d{7})|798\\d{7,9})", , , , , , , [11, 12, 13, 14]], [, , "1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[0168]|88)|8(?:00|33|55|77|99))\\d{4}", , , , "15441234", , , [8]], , , [, , , , , , , , , [-1]]],
8177      KW: [, [, , "18\\d{5}|(?:[2569]\\d|41)\\d{6}", , , , , , , [7, 8]], [, , "2(?:[23]\\d\\d|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7]))\\d{4}", , , , "22345678", , , [8]], [
8178        ,
8179        ,
8180        "(?:41\\d\\d|5(?:(?:[05]\\d|1[0-7]|6[56])\\d|2(?:22|5[25])|7(?:55|77)|88[58])|6(?:(?:0[034679]|5[015-9]|6\\d)\\d|1(?:00|11|6[16])|2[26]2|3[36]3|4[46]4|7(?:0[013-9]|[67]\\d)|8[68]8|9(?:[069]\\d|3[039]))|9(?:(?:[04679]\\d|8[057-9])\\d|1(?:00|1[01]|99)|2(?:00|2\\d)|3(?:00|3[03])|5(?:00|5\\d)))\\d{4}",
8181        ,
8182        ,
8183        ,
8184        "50012345",
8185        ,
8186        ,
8187        [8]
8188      ], [, , "18\\d{5}", , , , "1801234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "KW", 965, "00", , , , , , , , [[, "(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], [, "(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8189      KY: [, [, , "(?:345|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [
8190        ,
8191        ,
8192        "345(?:2(?:22|3[23]|44|66)|333|444|6(?:23|38|40)|7(?:30|4[35-79]|6[6-9]|77)|8(?:00|1[45]|4[89]|88)|9(?:14|4[035-9]))\\d{4}",
8193        ,
8194        ,
8195        ,
8196        "3452221234",
8197        ,
8198        ,
8199        ,
8200        [7]
8201      ], [, , "345(?:32[1-9]|4(?:1[2-6]|2[0-4])|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|82[56]|9(?:1[679]|2[2-9]|3[06-9]|90))\\d{4}", , , , "3453231234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"], [, , "(?:345976|900[2-9]\\d\\d)\\d{4}", , , , "9002345678"], [, , , , , , , , , [-1]], [
8202        ,
8203        ,
8204        "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}",
8205        ,
8206        ,
8207        ,
8208        "5002345678"
8209      ], [, , , , , , , , , [-1]], "KY", 1, "011", "1", , , "([2-9]\\d{6})$|1", "345$1", , , , , [, , , , , , , , , [-1]], , "345", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8210      KZ: [, [, , "8\\d{13}|[78]\\d{9}", , , , , , , [10, 14], [5, 6, 7]], [
8211        ,
8212        ,
8213        "7(?:1(?:0(?:[23]\\d|4[0-3]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\d|3[013-9]|5[1-9]|97)|5(?:2\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]|59))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[2-4]\\d|5[139])|4(?:2\\d|3[1-35-9]|59)|5(?:[23]\\d|4[0-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59)))\\d{5}",
8214        ,
8215        ,
8216        ,
8217        "7123456789",
8218        ,
8219        ,
8220        [10],
8221        [5, 6, 7]
8222      ], [, , "7(?:0[0-25-8]|47|6[0-4]|7[15-8]|85)\\d{7}", , , , "7710009998", , , [10]], [, , "8(?:00|108\\d{3})\\d{7}", , , , "8001234567"], [, , "809\\d{7}", , , , "8091234567", , , [10]], [, , , , , , , , , [-1]], [, , "808\\d{7}", , , , "8081234567", , , [10]], [, , "751\\d{7}", , , , "7511234567", , , [10]], "KZ", 7, "810", "8", , , "8", , "8~10", , , , [, , , , , , , , , [-1]], , "7", [, , "751\\d{7}", , , , , , , [10]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8223      LA: [, [, , "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", , , , , , , [8, 9, 10], [6]], [
8224        ,
8225        ,
8226        "(?:2[13]|[35-7][14]|41|8[1468])\\d{6}",
8227        ,
8228        ,
8229        ,
8230        "21212862",
8231        ,
8232        ,
8233        [8],
8234        [6]
8235      ], [, , "(?:20(?:[23579]\\d|8[78])|30[24]\\d)\\d{6}|30\\d{7}", , , , "2023123456", , , [9, 10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LA", 856, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2[13]|3[14]|[4-8]"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["3"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[23]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8236      LB: [, [
8237        ,
8238        ,
8239        "[27-9]\\d{7}|[13-9]\\d{6}",
8240        ,
8241        ,
8242        ,
8243        ,
8244        ,
8245        ,
8246        [7, 8]
8247      ], [, , "7(?:62|8[0-6]|9[04-9])\\d{4}|(?:[14-69]\\d|2(?:[14-69]\\d|[78][1-9])|7[2-57]|8[02-9])\\d{5}
vendor: 11,851 bytes, lines 8247-8452
8247", , , , "1123456"], [, , "(?:(?:3|81)\\d|7(?:[01]\\d|6[013-9]|8[7-9]|9[0-4]))\\d{5}", , , , "71123456"], [, , , , , , , , , [-1]], [, , "9[01]\\d{6}", , , , "90123456", , , [8]], [, , "80\\d{6}", , , , "80123456", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LB", 961, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]]], , [
8248        ,
8249        ,
8250        ,
8251        ,
8252        ,
8253        ,
8254        ,
8255        ,
8256        ,
8257        [-1]
8258      ], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8259      LC: [, [, , "(?:[58]\\d\\d|758|900)\\d{7}", , , , , , , [10], [7]], [, , "758(?:234|4(?:30|5\\d|6[2-9]|8[0-2])|57[0-2]|(?:63|75)8)\\d{4}", , , , "7584305678", , , , [7]], [, , "758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\d|3[0-3])|812)\\d{4}", , , , "7582845678", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [
8260        ,
8261        ,
8262        "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}",
8263        ,
8264        ,
8265        ,
8266        "5002345678"
8267      ], [, , , , , , , , , [-1]], "LC", 1, "011", "1", , , "([2-8]\\d{6})$|1", "758$1", , , , , [, , , , , , , , , [-1]], , "758", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8268      LI: [, [, , "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", , , , , , , [7, 9]], [, , "(?:2(?:01|1[27]|2[024]|3\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\d{4}", , , , "2345678", , , [7]], [, , "(?:6(?:(?:4[5-9]|5\\d)\\d|6(?:[024-68]\\d|1[01]|3[7-9]|7[02]))\\d|7(?:[37-9]\\d|42|56))\\d{4}", , , , "660234567"], [, , "8002[28]\\d\\d|80(?:05\\d|9)\\d{4}", , , , "8002222"], [
8269        ,
8270        ,
8271        "90(?:02[258]|1(?:23|3[14])|66[136])\\d\\d",
8272        ,
8273        ,
8274        ,
8275        "9002222",
8276        ,
8277        ,
8278        [7]
8279      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LI", 423, "00", "0", , , "(1001)|0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"], , "$CC $1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"], , "$CC $1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"], , "$CC $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "870(?:28|87)\\d\\d", , , , "8702812", , , [7]], , , [, , "697(?:42|56|[78]\\d)\\d{4}", , , , "697861234", , , [9]]],
8280      LK: [
8281        ,
8282        [, , "[1-9]\\d{8}", , , , , , , [9], [7]],
8283        [, , "(?:12[2-9]|602|8[12]\\d|9(?:1\\d|22|9[245]))\\d{6}|(?:11|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}", , , , "112345678", , , , [7]],
8284        [, , "7(?:[0-25-8]\\d|4[0-4])\\d{6}", , , , "712345678"],
8285        [, , , , , , , , , [-1]],
8286        [, , , , , , , , , [-1]],
8287        [, , , , , , , , , [-1]],
8288        [, , , , , , , , , [-1]],
8289        [, , , , , , , , , [-1]],
8290        "LK",
8291        94,
8292        "00",
8293        "0",
8294        ,
8295        ,
8296        "0",
8297        ,
8298        ,
8299        ,
8300        [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[1-689]"], "0$1"]],
8301        ,
8302        [, , , , , , , , , [-1]],
8303        ,
8304        ,
8305        [, , , , , , , , , [-1]],
8306        [, , "1973\\d{5}", , , , "197312345"],
8307        ,
8308        ,
8309        [, , , , , , , , , [-1]]
8310      ],
8311      LR: [, [, , "(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", , , , , , , [7, 8, 9]], [, , "2\\d{7}", , , , "21234567", , , [8]], [, , "(?:(?:(?:22|33)0|555|7(?:6[01]|7\\d)|88\\d)\\d|4(?:240|[67]))\\d{5}|[56]\\d{6}", , , , "770123456", , , [7, 9]], [, , , , , , , , , [-1]], [, , "332(?:02|[34]\\d)\\d{4}", , , , "332021234", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LR", 231, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["4[67]|[56]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], [
8312        ,
8313        "(\\d{2})(\\d{3})(\\d{4})",
8314        "$1 $2 $3",
8315        ["[2-578]"],
8316        "0$1"
8317      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8318      LS: [, [, , "(?:[256]\\d\\d|800)\\d{5}", , , , , , , [8]], [, , "2\\d{7}", , , , "22123456"], [, , "[56]\\d{7}", , , , "50123456"], [, , "800[1256]\\d{4}", , , , "80021234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LS", 266, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8319      LT: [
8320        ,
8321        [, , "(?:[3469]\\d|52|[78]0)\\d{6}", , , , , , , [8]],
8322        [
8323          ,
8324          ,
8325          "(?:3[1478]|4[124-6]|52)\\d{6}",
8326          ,
8327          ,
8328          ,
8329          "31234567"
8330        ],
8331        [, , "6\\d{7}", , , , "61234567"],
8332        [, , "80[02]\\d{5}", , , , "80012345"],
8333        [, , "9(?:0[0239]|10)\\d{5}", , , , "90012345"],
8334        [, , "808\\d{5}", , , , "80812345"],
8335        [, , "70[05]\\d{5}", , , , "70012345"],
8336        [, , "[89]01\\d{5}", , , , "80123456"],
8337        "LT",
8338        370,
8339        "00",
8340        "0",
8341        ,
8342        ,
8343        "[08]",
8344        ,
8345        ,
8346        ,
8347        [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["52[0-7]"], "(0-$1)", , 1], [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0 $1", , 1], [, "(\\d{2})(\\d{6})", "$1 $2", ["37|4(?:[15]|6[1-8])"], "(0-$1)", , 1], [, "(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(0-$1)", , 1]],
8348        ,
8349        [, , , , , , , , , [-1]],
8350        ,
8351        ,
8352        [, , , , , , , , , [-1]],
8353        [, , "70[67]\\d{5}", , , , "70712345"],
8354        ,
8355        ,
8356        [, , , , , , , , , [-1]]
8357      ],
8358      LU: [, [, , "35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}", , , , , , , [4, 5, 6, 7, 8, 9, 10, 11]], [, , "(?:35[013-9]|80[2-9]|90[89])\\d{1,8}|(?:2[2-9]|3[0-46-9]|[457]\\d|8[13-9]|9[2-579])\\d{2,9}", , , , "27123456"], [, , "6(?:[26][18]|5[1568]|7[189]|81|9[128])\\d{6}", , , , "628123456", , , [9]], [, , "800\\d{5}", , , , "80012345", , , [8]], [, , "90[015]\\d{5}", , , , "90012345", , , [8]], [, , "801\\d{5}", , , , "80112345", , , [8]], [, , , , , , , , , [-1]], [
8359        ,
8360        ,
8361        "20(?:1\\d{5}|[2-689]\\d{1,7})",
8362        ,
8363        ,
8364        ,
8365        "20201234",
8366        ,
8367        ,
8368        [4, 5, 6, 7, 8, 9, 10]
8369      ], "LU", 352, "00", , , , "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)", , , , [[, "(\\d{2})(\\d{3})", "$1 $2", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"], , "$CC $1"], [, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"], , "$CC $1"], [, "(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"], , "$CC $1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4", ["20"], , "$CC $1"], [
8370        ,
8371        "(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})",
8372        "$1 $2 $3 $4",
8373        ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"],
8374        ,
8375        "$CC $1"
8376      ], [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["80[01]|90[015]"], , "$CC $1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["20"], , "$CC $1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"], , "$CC $1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4 $5", ["20"], , "$CC $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8377      LV: [, [, , "(?:[268]\\d|78|90)\\d{6}", , , , , , , [8]], [, , "6\\d{7}", , , , "63123456"], [
8378        ,
8379        ,
8380        "2333[0-8]\\d{3}|2(?:[0-24-9]\\d\\d|3(?:0[07]|[14-9]\\d|2[02-9]|3[0-24-9]))\\d{4}",
8381        ,
8382        ,
8383        ,
8384        "21234567"
8385      ], [, , "80\\d{6}", , , , "80123456"], [, , "90\\d{6}", , , , "90123456"], [, , "81\\d{6}", , , , "81123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LV", 371, "00", , , , , , , , [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2679]|8[01]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8386      LY: [, [, , "[2-9]\\d{8}", , , , , , , [9], [7]], [
8387        ,
8388        ,
8389        "(?:2(?:0[56]|[1-6]\\d|7[124579]|8[124])|3(?:1\\d|2[2356])|4(?:[17]\\d|2[1-357]|5[2-4]|8[124])|5(?:[1347]\\d|2[1-469]|5[13-5]|8[1-4])|6(?:[1-479]\\d|5[2-57]|8[1-5])|7(?:[13]\\d|2[13-79])|8(?:[124]\\d|5[124]|84))\\d{6}",
8390        ,
8391        ,
8392        ,
8393        "212345678",
8394        ,
8395        ,
8396        ,
8397        [7]
8398      ], [, , "9[1-6]\\d{7}", , , , "912345678"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "LY", 218, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8399      MA: [, [, , "[5-8]\\d{8}", , , , , , , [9]], [, , "5(?:(?:18|4[0679]|5[03])\\d|2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-9])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9]))\\d{5}", , , , "520123456"], [
8400        ,
8401        ,
8402        "(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|3[01]|5[0-5]))\\d{6}",
8403        ,
8404        ,
8405        ,
8406        "650123456"
8407      ], [, , "80[0-7]\\d{6}", , , , "801234567"], [, , "89\\d{7}", , , , "891234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}", , , , "592401234"], "MA", 212, "00", "0", , , "0", , , , [[, "(\\d{4})(\\d{5})", "$1-$2", ["892"], "0$1"], [, "(\\d{2})(\\d{7})", "$1-$2", ["8(?:0[0-7]|9)"], "0$1"], [, "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[5-8]"], "0$1"]], , [, , , , , , , , , [-1]], 1, "[5-8]", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8408      MC: [
8409        ,
8410        [, , "(?:[3489]|[67]\\d)\\d{7}", , , , , , , [8, 9]],
8411        [, , "(?:870|9[2-47-9]\\d)\\d{5}", , , , "99123456", , , [8]],
8412        [, , "4(?:[46]\\d|5[1-9])\\d{5}|(?:3|[67]\\d)\\d{7}", , , , "612345678"],
8413        [, , "(?:800|90\\d)\\d{5}", , , , "90123456", , , [8]],
8414        [, , , , , , , , , [-1]],
8415        [, , , , , , , , , [-1]],
8416        [, , , , , , , , , [-1]],
8417        [, , , , , , , , , [-1]],
8418        "MC",
8419        377,
8420        "00",
8421        "0",
8422        ,
8423        ,
8424        "0",
8425        ,
8426        ,
8427        ,
8428        [[, "(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["87"]], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], [, "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[67]"], "0$1"]],
8429        [[
8430          ,
8431          "(\\d{2})(\\d{3})(\\d{3})",
8432          "$1 $2 $3",
8433          ["4"],
8434          "0$1"
8435        ], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], [, "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[67]"], "0$1"]],
8436        [, , , , , , , , , [-1]],
8437        ,
8438        ,
8439        [, , "8[07]0\\d{5}", , , , , , , [8]],
8440        [, , , , , , , , , [-1]],
8441        ,
8442        ,
8443        [, , , , , , , , , [-1]]
8444      ],
8445      MD: [
8446        ,
8447        [, , "(?:[235-7]\\d|[89]0)\\d{6}", , , , , , , [8]],
8448        [, , "(?:(?:2[1-9]|3[1-79])\\d|5(?:33|5[257]))\\d{5}", , , , "22212345"],
8449        [, , "562\\d{5}|(?:6\\d|7[16-9])\\d{6}", , , , "62112345"],
8450        [, , "800\\d{5}", , , , "80012345"],
8451        [, , "90[056]\\d{5}", , , , "90012345"],
8452        [, , "808\\d{5}
vendor: 21,479 bytes, lines 8452-8837
8452", , , , "80812345"],
8453        [, , , , , , , , , [-1]],
8454        [, , "3[08]\\d{6}", , , , "30123456"],
8455        "MD",
8456        373,
8457        "00",
8458        "0",
8459        ,
8460        ,
8461        "0",
8462        ,
8463        ,
8464        ,
8465        [[, "(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"]],
8466        ,
8467        [, , , , , , , , , [-1]],
8468        ,
8469        ,
8470        [, , , , , , , , , [-1]],
8471        [, , "803\\d{5}", , , , "80312345"],
8472        ,
8473        ,
8474        [, , , , , , , , , [-1]]
8475      ],
8476      ME: [
8477        ,
8478        [, , "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", , , , , , , [8, 9], [6]],
8479        [, , "(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\d{5}", , , , "30234567", , , [8], [6]],
8480        [, , "6(?:[07-9]\\d|3[024]|6[0-25])\\d{5}", , , , "60123456", , , [8]],
8481        [, , "80(?:[0-2578]|9\\d)\\d{5}", , , , "80080002"],
8482        [, , "9(?:4[1568]|5[178])\\d{5}", , , , "94515151", , , [8]],
8483        [, , , , , , , , , [-1]],
8484        [, , , , , , , , , [-1]],
8485        [, , "78[1-49]\\d{5}", , , , "78108780", , , [8]],
8486        "ME",
8487        382,
8488        "00",
8489        "0",
8490        ,
8491        ,
8492        "0",
8493        ,
8494        ,
8495        ,
8496        [[, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]],
8497        ,
8498        [, , , , , , , , , [-1]],
8499        ,
8500        ,
8501        [, , , , , , , , , [-1]],
8502        [, , "77[1-9]\\d{5}", , , , "77273012", , , [8]],
8503        ,
8504        ,
8505        [, , , , , , , , , [-1]]
8506      ],
8507      MF: [, [, , "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", , , , , , , [9]], [
8508        ,
8509        ,
8510        "(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}",
8511        ,
8512        ,
8513        ,
8514        "590271234"
8515      ], [, , "(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}", , , , "690001234"], [, , "80[0-5]\\d{6}", , , , "800012345"], [, , "8[129]\\d{7}", , , , "810123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}", , , , "976012345"], "MF", 590, "00", "0", , , "0", , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8516      MG: [, [, , "[23]\\d{8}", , , , , , , [9], [7]], [, , "2072[29]\\d{4}|20(?:2\\d|4[47]|5[3467]|6[279]|7[356]|8[268]|9[2457])\\d{5}", , , , "202123456", , , , [7]], [
8517        ,
8518        ,
8519        "3[2-9]\\d{7}",
8520        ,
8521        ,
8522        ,
8523        "321234567"
8524      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "22\\d{7}", , , , "221234567"], "MG", 261, "00", "0", , , "([24-9]\\d{6})$|0", "20$1", , , [[, "(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8525      MH: [, [, , "329\\d{4}|(?:[256]\\d|45)\\d{5}", , , , , , , [7]], [, , "(?:247|528|625)\\d{4}", , , , "2471234"], [, , "(?:(?:23|54)5|329|45[35-8])\\d{4}", , , , "2351234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [
8526        ,
8527        ,
8528        ,
8529        ,
8530        ,
8531        ,
8532        ,
8533        ,
8534        ,
8535        [-1]
8536      ], [, , "635\\d{4}", , , , "6351234"], "MH", 692, "011", "1", , , "1", , , , [[, "(\\d{3})(\\d{4})", "$1-$2", ["[2-6]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8537      MK: [, [, , "[2-578]\\d{7}", , , , , , , [8], [6, 7]], [, , "(?:(?:2(?:62|77)0|3444)\\d|4[56]440)\\d{3}|(?:34|4[357])700\\d{3}|(?:2(?:[0-3]\\d|5[0-578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\d{5}", , , , "22012345", , , , [6, 7]], [
8538        ,
8539        ,
8540        "7(?:3555|(?:474|9[019]7)7)\\d{3}|7(?:[0-25-8]\\d\\d|3(?:[1-478]\\d|6[01])|4(?:2\\d|60|7[01578])|9(?:[2-4]\\d|5[01]|7[015]))\\d{4}",
8541        ,
8542        ,
8543        ,
8544        "72345678"
8545      ], [, , "800\\d{5}", , , , "80012345"], [, , "5\\d{7}", , , , "50012345"], [, , "8(?:0[1-9]|[1-9]\\d)\\d{5}", , , , "80123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "MK", 389, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2|34[47]|4(?:[37]7|5[47]|64)"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"], [, "(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8546      ML: [, [, , "[24-9]\\d{7}", , , , , , , [8]], [
8547        ,
8548        ,
8549        "2(?:07[0-8]|12[67])\\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-69]))\\d{5}",
8550        ,
8551        ,
8552        ,
8553        "20212345"
8554      ], [, , "2(?:0(?:01|79)|17\\d)\\d{4}|(?:5[0-3]|[679]\\d|8[2-59])\\d{6}", , , , "65012345"], [, , "80\\d{6}", , , , "80012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "ML", 223, "00", , , , , , , , [[, "(\\d{4})", "$1", ["67[057-9]|74[045]", "67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]], [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]], [, , , , , , , , , [-1]], , , [, , "80\\d{6}"], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8555      MM: [
8556        ,
8557        [, , "1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}", , , , , , , [6, 7, 8, 9, 10], [5]],
8558        [
8559          ,
8560          ,
8561          "(?:1(?:(?:12|[28]\\d|3[56]|7[3-6]|9[0-6])\\d|4(?:2[29]|7[0-2]|83)|6)|2(?:2(?:00|8[34])|4(?:0\\d|22|7[0-2]|83)|51\\d\\d)|4(?:2(?:2\\d\\d|48[013])|3(?:20\\d|4(?:70|83)|56)|420\\d|5(?:2\\d|470))|6(?:0(?:[23]|88\\d)|(?:124|[56]2\\d)\\d|2472|3(?:20\\d|470)|4(?:2[04]\\d|472)|7(?:3\\d\\d|4[67]0|8(?:[01459]\\d|8))))\\d{4}|5(?:2(?:2\\d{5,6}|47[02]\\d{4})|(?:3472|4(?:2(?:1|86)|470)|522\\d|6(?:20\\d|483)|7(?:20\\d|48[01])|8(?:20\\d|47[02])|9(?:20\\d|470))\\d{4})|7(?:(?:0470|4(?:25\\d|470)|5(?:202|470|96\\d))\\d{4}|1(?:20\\d{4,5}|4(?:70|83)\\d{4}))|8(?:1(?:2\\d{5,6}|4(?:10|7[01]\\d)\\d{3})|2(?:2\\d{5,6}|(?:320|490\\d)\\d{3})|(?:3(?:2\\d\\d|470)|4[24-7]|5(?:(?:2\\d|51)\\d|4(?:[1-35-9]\\d|4[0-57-9]))|6[23])\\d{4})|(?:1[2-6]\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4])|8(?:1[2-689]|2[2-8]|(?:[35]2|64)\\d))\\d{4}|25\\d{5,6}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:3[24]|5[245]))\\d{4}",
8562          ,
8563          ,
8564          ,
8565          "1234567",
8566          ,
8567          ,
8568          [6, 7, 8, 9],
8569          [5]
8570        ],
8571        [, , "(?:17[01]|9(?:2(?:[0-4]|[56]\\d\\d)|(?:3(?:[0-36]|4\\d)|(?:6\\d|8[89]|9[4-8])\\d|7(?:3|40|[5-9]\\d))\\d|4(?:(?:[0245]\\d|[1379])\\d|88)|5[0-6])\\d)\\d{4}|9[69]1\\d{6}|9(?:[68]\\d|9[089])\\d{5}", , , , "92123456", , , [7, 8, 9, 10]],
8572        [, , "80080(?:0[1-9]|2\\d)\\d{3}", , , , "8008001234", , , [10]],
8573        [, , , , , , , , , [-1]],
8574        [, , , , , , , , , [-1]],
8575        [, , , , , , , , , [-1]],
8576        [, , "1333\\d{4}", , , , "13331234", , , [8]],
8577        "MM",
8578        95,
8579        "00",
8580        "0",
8581        ,
8582        ,
8583        "0",
8584        ,
8585        ,
8586        ,
8587        [[, "(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"], [
8588          ,
8589          "(\\d{2})(\\d{2})(\\d{3})",
8590          "$1 $2 $3",
8591          ["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"],
8592          "0$1"
8593        ], [, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]|452|678|86", "[12]|452|6788|86"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[4-7]|8[1-35]"], "0$1"], [, "(\\d)(\\d{3})(\\d{4,6})", "$1 $2 $3", ["9(?:2[0-4]|[35-9]|4[137-9])"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"], [, "(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["92"], "0$1"], [
8594          ,
8595          "(\\d)(\\d{5})(\\d{4})",
8596          "$1 $2 $3",
8597          ["9"],
8598          "0$1"
8599        ]],
8600        ,
8601        [, , , , , , , , , [-1]],
8602        ,
8603        ,
8604        [, , , , , , , , , [-1]],
8605        [, , , , , , , , , [-1]],
8606        ,
8607        ,
8608        [, , , , , , , , , [-1]]
8609      ],
8610      MN: [, [, , "[12]\\d{7,9}|[5-9]\\d{7}", , , , , , , [8, 9, 10], [4, 5, 6]], [, , "[12](?:2[1-3]|(?:3[2-8]|4[2-68]|5[1-4689])\\d)\\d{5,6}|7(?:0(?:[0-5]\\d|7[078]|80)|128)\\d{4}|[12]27\\d{6}|(?:11|2[16]|5[368])\\d{6}", , , , "53123456", , , , [4, 5, 6]], [, , "(?:87[01]|92[0139])\\d{5}|(?:5[05]|6[069]|7[28]|8[0135689]|9[013-9])\\d{6}", , , , "88123456", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [
8611        ,
8612        ,
8613        ,
8614        ,
8615        ,
8616        ,
8617        ,
8618        ,
8619        ,
8620        [-1]
8621      ], [, , "712[0-79]\\d{4}|7(?:1[013-9]|[5-79]\\d)\\d{5}", , , , "75123456", , , [8]], "MN", 976, "001", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["11|2[16]"], "0$1"], [, "(\\d{4})(\\d{4})", "$1 $2", ["[5-9]"]], [, "(\\d{3})(\\d{5,6})", "$1 $2", ["[12]2[1-3]"], "0$1"], [, "(\\d{4})(\\d{5,6})", "$1 $2", ["[12](?:27|3[2-8]|4[2-68]|5[1-4689])", "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"], "0$1"], [, "(\\d{5})(\\d{4,5})", "$1 $2", ["[12]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8622      MO: [
8623        ,
8624        [, , "0800\\d{3}|(?:28|[68]\\d)\\d{6}", , , , , , , [7, 8]],
8625        [, , "(?:28[2-9]|8(?:11|[2-57-9]\\d))\\d{5}", , , , "28212345", , , [8]],
8626        [, , "6800[0-79]\\d{3}|6(?:[235]\\d\\d|6(?:0[0-5]|[1-9]\\d)|8(?:0[1-9]|[14-8]\\d|2[5-9]|[39][0-4]))\\d{4}", , , , "66123456", , , [8]],
8627        [, , "0800\\d{3}", , , , "0800501", , , [7]],
8628        [, , , , , , , , , [-1]],
8629        [, , , , , , , , , [-1]],
8630        [, , , , , , , , , [-1]],
8631        [, , , , , , , , , [-1]],
8632        "MO",
8633        853,
8634        "00",
8635        ,
8636        ,
8637        ,
8638        ,
8639        ,
8640        ,
8641        ,
8642        [[, "(\\d{4})(\\d{3})", "$1 $2", ["0"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]],
8643        ,
8644        [, , , , , , , , , [-1]],
8645        ,
8646        ,
8647        [, , , , , , , , , [-1]],
8648        [, , , , , , , , , [-1]],
8649        ,
8650        ,
8651        [
8652          ,
8653          ,
8654          ,
8655          ,
8656          ,
8657          ,
8658          ,
8659          ,
8660          ,
8661          [-1]
8662        ]
8663      ],
8664      MP: [, [, , "[58]\\d{9}|(?:67|90)0\\d{7}", , , , , , , [10], [7]], [, , "670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}", , , , "6702345678", , , , [7]], [, , "670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}", , , , "6702345678", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [
8665        ,
8666        ,
8667        "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}",
8668        ,
8669        ,
8670        ,
8671        "5002345678"
8672      ], [, , , , , , , , , [-1]], "MP", 1, "011", "1", , , "([2-9]\\d{6})$|1", "670$1", , 1, , , [, , , , , , , , , [-1]], , "670", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8673      MQ: [, [, , "7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}", , , , , , , [9]], [, , "(?:59(?:6(?:[03-7]\\d|1[05]|2[7-9]|8[0-39]|9[04-9])|89\\d)|80[6-9]\\d\\d|9(?:477[6-9]|767[4589]))\\d{4}", , , , "596301234"], [, , "(?:69[67]\\d\\d|7091[0-3])\\d{4}", , , , "696201234"], [, , "80[0-5]\\d{6}", , , , "800012345"], [, , "8[129]\\d{7}", , , , "810123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [
8674        ,
8675        ,
8676        "9(?:397[0-3]|477[0-5]|76(?:6\\d|7[0-367]))\\d{4}",
8677        ,
8678        ,
8679        ,
8680        "976612345"
8681      ], "MQ", 596, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|8(?:0[6-9]|[36])"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8682      MR: [
8683        ,
8684        [, , "(?:[2-4]\\d\\d|800)\\d{5}", , , , , , , [8]],
8685        [, , "(?:25[08]|35\\d|45[1-7])\\d{5}", , , , "35123456"],
8686        [, , "[2-4][0-46-9]\\d{6}", , , , "22123456"],
8687        [, , "800\\d{5}", , , , "80012345"],
8688        [, , , , , , , , , [-1]],
8689        [, , , , , , , , , [-1]],
8690        [, , , , , , , , , [-1]],
8691        [, , , , , , , , , [-1]],
8692        "MR",
8693        222,
8694        "00",
8695        ,
8696        ,
8697        ,
8698        ,
8699        ,
8700        ,
8701        ,
8702        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-48]"]]],
8703        ,
8704        [, , , , , , , , , [-1]],
8705        ,
8706        ,
8707        [, , , , , , , , , [-1]],
8708        [, , , , , , , , , [-1]],
8709        ,
8710        ,
8711        [, , , , , , , , , [-1]]
8712      ],
8713      MS: [, [, , "(?:[58]\\d\\d|664|900)\\d{7}", , , , , , , [10], [7]], [, , "6644(?:1[0-3]|91)\\d{4}", , , , "6644912345", , , , [7]], [, , "664(?:3(?:49|9[1-6])|49[2-6])\\d{4}", , , , "6644923456", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"], [, , "900[2-9]\\d{6}", , , , "9002123456"], [, , , , , , , , , [-1]], [
8714        ,
8715        ,
8716        "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}",
8717        ,
8718        ,
8719        ,
8720        "5002345678"
8721      ], [, , , , , , , , , [-1]], "MS", 1, "011", "1", , , "([34]\\d{6})$|1", "664$1", , , , , [, , , , , , , , , [-1]], , "664", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8722      MT: [, [, , "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", , , , , , , [8]], [, , "20(?:3[1-4]|6[059])\\d{4}|2(?:0[19]|[1-357]\\d|60)\\d{5}", , , , "21001234"], [, , "(?:7(?:210|[79]\\d\\d)|9(?:[29]\\d\\d|69[67]|8(?:1[1-3]|89|97)))\\d{4}", , , , "96961234"], [, , "800(?:02|[3467]\\d)\\d{3}", , , , "80071234"], [
8723        ,
8724        ,
8725        "5(?:0(?:0(?:37|43)|(?:6\\d|70|9[0168])\\d)|[12]\\d0[1-5])\\d{3}",
8726        ,
8727        ,
8728        ,
8729        "50037123"
8730      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "3550\\d{4}", , , , "35501234"], "MT", 356, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]], , [, , "7117\\d{4}", , , , "71171234"], , , [, , , , , , , , , [-1]], [, , "501\\d{5}", , , , "50112345"], , , [, , , , , , , , , [-1]]],
8731      MU: [, [, , "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", , , , , , , [7, 8, 10]], [, , "(?:2(?:[0346-8]\\d|1[0-8])|4(?:[013568]\\d|2[0-24-8]|71|90)|54(?:[3-5]\\d|71)|6\\d\\d|8(?:14|3[129]))\\d{4}", , , , "54480123", , , [7, 8]], [
8732        ,
8733        ,
8734        "5(?:4(?:2[1-389]|7[1-9])|87[15-8])\\d{4}|(?:5(?:2[5-9]|4[3-689]|[57]\\d|8[0-689]|9[0-8])|7(?:0[0-7]|3[013]))\\d{5}",
8735        ,
8736        ,
8737        ,
8738        "52512345",
8739        ,
8740        ,
8741        [8]
8742      ], [, , "802\\d{7}|80[0-2]\\d{4}", , , , "8001234", , , [7, 10]], [, , "30\\d{5}", , , , "3012345", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "3(?:20|9\\d)\\d{4}", , , , "3201234", , , [7]], "MU", 230, "0(?:0|[24-7]0|3[03])", , , , , , "020", , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], [, "(\\d{5})(\\d{5})", "$1 $2", ["8"]]], , [, , "219\\d{4}", , , , "2190123", , , [7]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8743      MV: [, [, , "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", , , , , , , [
8744        7,
8745        10
8746      ]], [, , "(?:3(?:0[0-4]|3[0-59])|6(?:[58][024689]|6[024-68]|7[02468]))\\d{4}", , , , "6701234", , , [7]], [, , "(?:46[46]|[79]\\d\\d)\\d{4}", , , , "7712345", , , [7]], [, , "800\\d{7}", , , , "8001234567", , , [10]], [, , "900\\d{7}", , , , "9001234567", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "MV", 960, "0(?:0|19)", , , , , , "00", , [[, "(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "4(?:0[01]|50)\\d{4}", , , , "4001234", , , [7]], , , [, , , , , , , , , [-1]]],
8747      MW: [, [, , "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", , , , , , , [7, 9]], [, , "1[2-9]\\d{5}", , , , "1234567", , , [7]], [, , "111\\d{6}|(?:2[12]|31|77|[89][89])\\d{7}", , , , "991234567", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "MW", 265, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-37-9]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8748      MX: [
8749        ,
8750        [
8751          ,
8752          ,
8753          "[2-9]\\d{9}",
8754          ,
8755          ,
8756          ,
8757          ,
8758          ,
8759          ,
8760          [10],
8761          [7, 8]
8762        ],
8763        [, , "(?:2(?:0[01]|2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[267][1-9]|3[1-8]|[45]\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-36-9]|6[0-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\d|7[12]|8[1-8]))\\d{7}", , , , "2001234567", , , , [7, 8]],
8764        [
8765          ,
8766          ,
8767          "(?:2(?:2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[267][1-9]|3[1-8]|[45]\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-36-9]|6[0-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\d|7[12]|8[1-8]))\\d{7}",
8768          ,
8769          ,
8770          ,
8771          "2221234567",
8772          ,
8773          ,
8774          ,
8775          [7, 8]
8776        ],
8777        [, , "8(?:00|88)\\d{7}", , , , "8001234567"],
8778        [, , "900\\d{7}", , , , "9001234567"],
8779        [, , "300\\d{7}", , , , "3001234567"],
8780        [, , "500\\d{7}", , , , "5001234567"],
8781        [, , , , , , , , , [-1]],
8782        "MX",
8783        52,
8784        "0[09]",
8785        ,
8786        ,
8787        ,
8788        ,
8789        ,
8790        "00",
8791        ,
8792        [[, "(\\d{5})", "$1", ["53"]], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]],
8793        [[, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]],
8794        [, , , , , , , , , [-1]],
8795        ,
8796        ,
8797        [, , , , , , , , , [-1]],
8798        [, , , , , , , , , [-1]],
8799        ,
8800        ,
8801        [, , , , , , , , , [-1]]
8802      ],
8803      MY: [, [, , "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", , , , , , , [8, 9, 10], [6, 7]], [, , "427[01]\\d{4}|(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\d|9[0-57])\\d|4(?:2[0-689]|[3-79]\\d|8[1-35689])|5(?:2[0-589]|[3468]\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\d|[3489][0-8]))\\d{5}", , , , "323856789", , , [8, 9], [6, 7]], [
8804        ,
8805        ,
8806        "1(?:(?:1888[689]|4400|8(?:47|8[27])[0-4])\\d{4}|9\\d{7,8})|1(?:0(?:[23568]\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\d\\d|6(?:0[5-9]|[1-9]\\d)|7(?:[0-4]\\d|5[0-79]|6[02-4]|8[02-5]))|(?:[26]\\d|[37][1-9]|4[235-9])\\d|5(?:31|9\\d\\d)|8(?:1[23]|[236]\\d|4[06]|5(?:46|[7-9])|7[016-9]|8[01]|9[0-8]))\\d{5}",
8807        ,
8808        ,
8809        ,
8810        "123456789",
8811        ,
8812        ,
8813        [9, 10]
8814      ], [, , "1[378]00\\d{6}", , , , "1300123456", , , [10]], [, , "1600\\d{6}", , , , "1600123456", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [
8815        ,
8816        ,
8817        "15(?:4(?:6[0-4]\\d|8(?:0[125]|[17]\\d|21|3[01]|4[01589]|5[014]|6[02]))|6(?:32[0-6]|78\\d))\\d{4}",
8818        ,
8819        ,
8820        ,
8821        "1546012345",
8822        ,
8823        ,
8824        [10]
8825      ], "MY", 60, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1-$2 $3", ["[4-79]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1-$2 $3", ["1(?:[02469]|[378][1-9]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"], "0$1"], [, "(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"], [, "(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [
8826        ,
8827        ,
8828        ,
8829        ,
8830        ,
8831        ,
8832        ,
8833        ,
8834        ,
8835        [-1]
8836      ], , , [, , , , , , , , , [-1]]],
8837      MZ: [, [, , "(?:2|8\\d)\\d{7}", , , , , , , [8, 9]], [, , "2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}", , , , "21123456", , , [8]], [, , "8
8837(?:[2-79]\\d|80)\\d{6}", , , , "821234567", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "MZ", 258, "00", , , , , , , , [[, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-9]"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8838      NA: [, [
8839        ,
8840        ,
8841        "[68]\\d{7,8}",
8842        ,
8843        ,
8844        ,
8845        ,
8846        ,
8847        ,
8848        [8, 9]
8849      ], [, , "64426\\d{3}|6(?:1(?:2[2-7]|3[01378]|4[0-4])|254|32[0237]|4(?:27|41|5[25])|52[236-8]|626|7(?:2[2-4]|30))\\d{4,5}|6(?:1(?:(?:0\\d|2[0189]|3[24-69]|4[5-9])\\d|17|69|7[014])|2(?:17|5[0-36-8]|69|70)|3(?:17|2[14-689]|34|6[289]|7[01]|81)|4(?:17|2[0-2]|4[06]|5[0137]|69|7[01])|5(?:17|2[0459]|69|7[01])|6(?:17|25|38|42|69|7[01])|7(?:17|2[569]|3[13]|6[89]|7[01]))\\d{4}", , , , "61221234"], [, , "(?:60|8[1245])\\d{7}", , , , "811234567", , , [9]], [, , "80\\d{7}", , , , "800123456", , , [9]], [
8850        ,
8851        ,
8852        "8701\\d{5}",
8853        ,
8854        ,
8855        ,
8856        "870123456",
8857        ,
8858        ,
8859        [9]
8860      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "8(?:3\\d\\d|86)\\d{5}", , , , "88612345"], "NA", 264, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["87"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8861      NC: [, [, , "(?:050|[2-57-9]\\d\\d)\\d{3}", , , , , , , [6]], [, , "(?:2[03-9]|3[0-5]|4[1-7]|88)\\d{4}", , , , "201234"], [
8862        ,
8863        ,
8864        "(?:[579]\\d|8[0-79])\\d{4}",
8865        ,
8866        ,
8867        ,
8868        "751234"
8869      ], [, , "050\\d{3}", , , , "050012"], [, , "36\\d{4}", , , , "366711"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NC", 687, "00", , , , , , , , [[, "(\\d{3})", "$1", ["5[6-8]"]], [, "(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]], [[, "(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8870      NE: [, [, , "[027-9]\\d{7}", , , , , , , [8]], [
8871        ,
8872        ,
8873        "2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}",
8874        ,
8875        ,
8876        ,
8877        "20201234"
8878      ], [, , "(?:23|7[0467]|[89]\\d)\\d{6}", , , , "93123456"], [, , "08\\d{6}", , , , "08123456"], [, , "09\\d{6}", , , , "09123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NE", 227, "00", , , , , , , , [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["08"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[089]|2[013]|7[0467]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8879      NF: [, [, , "[13]\\d{5}", , , , , , , [6], [5]], [, , "(?:1(?:06|17|28|39)|3[0-2]\\d)\\d{3}", , , , "106609", , , , [5]], [
8880        ,
8881        ,
8882        "(?:14|3[58])\\d{4}",
8883        ,
8884        ,
8885        ,
8886        "381234",
8887        ,
8888        ,
8889        ,
8890        [5]
8891      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NF", 672, "00", , , , "([0-258]\\d{4})$", "3$1", , , [[, "(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]], [, "(\\d)(\\d{5})", "$1 $2", ["[13]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8892      NG: [
8893        ,
8894        [, , "(?:20|9\\d)\\d{8}|[78]\\d{9,13}", , , , , , , [10, 11, 12, 13, 14], [6, 7]],
8895        [, , "20(?:[1259]\\d|3[013-9]|4[1-8]|6[024-689]|7[1-79]|8[2-9])\\d{6}", , , , "2033123456", , , [10], [6, 7]],
8896        [
8897          ,
8898          ,
8899          "(?:702[0-24-9]|819[01])\\d{6}|(?:7(?:0[13-9]|[12]\\d)|8(?:0[1-9]|1[0-8])|9(?:0[1-9]|1[1-6]))\\d{7}",
8900          ,
8901          ,
8902          ,
8903          "8021234567",
8904          ,
8905          ,
8906          [10]
8907        ],
8908        [, , "800\\d{7,11}", , , , "80017591759"],
8909        [, , , , , , , , , [-1]],
8910        [, , , , , , , , , [-1]],
8911        [, , , , , , , , , [-1]],
8912        [, , , , , , , , , [-1]],
8913        "NG",
8914        234,
8915        "009",
8916        "0",
8917        ,
8918        ,
8919        "0",
8920        ,
8921        ,
8922        ,
8923        [[, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["20[129]"], "0$1"], [, "(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"], [, "(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]],
8924        ,
8925        [, , , , , , , , , [-1]],
8926        ,
8927        ,
8928        [, , , , , , , , , [-1]],
8929        [, , "700\\d{7,11}", , , , "7001234567"],
8930        ,
8931        ,
8932        [, , , , , , , , , [-1]]
8933      ],
8934      NI: [, [, , "(?:1800|[25-8]\\d{3})\\d{4}", , , , , , , [8]], [, , "2\\d{7}", , , , "21234567"], [, , "(?:5(?:5[0-7]|[78]\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\d)\\d)\\d{5}", , , , "81234567"], [, , "1800\\d{4}", , , , "18001234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NI", 505, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
8935      NL: [, [
8936        ,
8937        ,
8938        "(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}",
8939        ,
8940        ,
8941        ,
8942        ,
8943        ,
8944        ,
8945        [5, 6, 7, 8, 9, 10, 11]
8946      ], [, , "(?:1(?:[035]\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[
89460358]\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\d\\d)\\d{6}", , , , "101234567", , , [9]], [, , "(?:6[1-58]|970\\d)\\d{7}", , , , "612345678", , , [9, 11]], [, , "800\\d{4,7}", , , , "8001234", , , [7, 8, 9, 10]], [, , "90[069]\\d{4,7}", , , , "9061234", , , [7, 8, 9, 10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [
8947        ,
8948        ,
8949        "(?:85|91)\\d{7}",
8950        ,
8951        ,
8952        ,
8953        "851234567",
8954        ,
8955        ,
8956        [9]
8957      ], "NL", 31, "00", "0", , , "0", , , , [[, "(\\d{4})", "$1", ["1[238]|[34]"]], [, "(\\d{2})(\\d{3,4})", "$1 $2", ["14"]], [, "(\\d{6})", "$1", ["1"]], [, "(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], [, "(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], [[
8958        ,
8959        "(\\d{3})(\\d{4,7})",
8960        "$1 $2",
8961        ["[89]0"],
8962        "0$1"
8963      ], [, "(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], [, "(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], [, , "66\\d{7}", , , , "662345678", , , [9]], , , [, , "140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)\\d", , , , , , , [5, 6]], [
8964        ,
8965        ,
8966        "140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|(?:140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)|8[478]\\d{6})\\d",
8967        ,
8968        ,
8969        ,
8970        "14020",
8971        ,
8972        ,
8973        [5, 6, 9]
8974      ], , , [, , , , , , , , , [-1]]],
8975      NO: [, [, , "(?:0|[2-9]\\d{3})\\d{4}", , , , , , , [5, 8]], [, , "(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-46-9]|7[0-8])\\d{6}", , , , "21234567", , , [8]], [, , "(?:4[015-9]|9\\d)\\d{6}", , , , "40612345", , , [8]], [, , "80[01]\\d{5}", , , , "80012345", , , [8]], [, , "82[09]\\d{5}", , , , "82012345", , , [8]], [, , "810(?:0[0-6]|[2-8]\\d)\\d{3}", , , , "81021234", , , [8]], [, , "880\\d{5}", , , , "88012345", , , [8]], [, , "85[0-5]\\d{5}", , , , "85012345", , , [8]], "NO", 47, "00", , , , , , , , [[, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], [
8976        ,
8977        "(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
8978        "$1 $2 $3 $4",
8979        ["[2-79]"]
8980      ]], , [, , , , , , , , , [-1]], 1, "[02-689]|7[0-8]", [, , , , , , , , , [-1]], [, , "(?:0[235-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}", , , , "02000"], , , [, , "81[23]\\d{5}", , , , "81212345", , , [8]]],
8981      NP: [, [, , "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", , , , , , , [8, 10, 11], [6, 7]], [, , "(?:1[0-6]\\d|99[02-6])\\d{5}|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-7])[2-6]\\d{5}", , , , "14567890", , , [8], [6, 7]], [, , "9(?:00|6[0-3]|7[0-24-6]|8[0-24-68])\\d{7}", , , , "9841234567", , , [10]], [
8982        ,
8983        ,
8984        "1(?:66001|800\\d\\d)\\d{5}",
8985        ,
8986        ,
8987        ,
8988        "16600101234",
8989        ,
8990        ,
8991        [11]
8992      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NP", 977, "00", "0", , , "0", , , , [[, "(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], [, "(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], [, "(\\d{3})(\\d{7})", "$1-$2", ["9"]], [, "(\\d{4})(\\d{2})(\\d{5})", "$1-$2-$3", ["1"]]], [[, "(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], [, "(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], [, "(\\d{3})(\\d{7})", "$1-$2", ["9"]]], [, , , , , , , , , [-1]], , , [
8993        ,
8994        ,
8995        ,
8996        ,
8997        ,
8998        ,
8999        ,
9000        ,
9001        ,
9002        [-1]
9003      ], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9004      NR: [, [, , "(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}", , , , , , , [7]], [, , "444\\d{4}", , , , "4441234"], [, , "(?:222|55[3-9]|666|777|8\\d\\d|999)\\d{4}", , , , "5551234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NR", 674, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[24-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9005      NU: [, [, , "(?:[4-7]|888\\d)\\d{3}", , , , , , , [4, 7]], [, , "[47]\\d{3}", , , , "7012", , , [4]], [
9006        ,
9007        ,
9008        "(?:[56]|888[1-9])\\d{3}",
9009        ,
9010        ,
9011        ,
9012        "8884012"
9013      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "NU", 683, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9014      NZ: [, [, , "[1289]\\d{9}|50\\d{5}
9014(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", , , , , , , [5, 6, 7, 8, 9, 10]], [, , "240\\d{5}|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\d{6}", , , , "32345678", , , [8], [7]], [, , "2(?:[0-27-9]\\d|6)\\d{6,7}|2(?:1\\d|75)\\d{5}", , , , "211234567", , , [
9015        8,
9016        9,
9017        10
9018      ]], [, , "508\\d{6,7}|80\\d{6,8}", , , , "800123456", , , [8, 9, 10]], [, , "(?:1[13-57-9]\\d{5}|50(?:0[08]|30|66|77|88))\\d{3}|90\\d{6,8}", , , , "900123456", , , [7, 8, 9, 10]], [, , , , , , , , , [-1]], [, , "70\\d{7}", , , , "701234567", , , [9]], [, , , , , , , , , [-1]], "NZ", 64, "0(?:0|161)", "0", , , "0", , "00", , [[, "(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"], [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"], [
9019        ,
9020        "(\\d{3})(\\d{3})(\\d{3,4})",
9021        "$1 $2 $3",
9022        ["2(?:10|74)|[589]"],
9023        "0$1"
9024      ], [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "8(?:1[16-9]|22|3\\d|4[045]|5[459]|6[235-9]|7[0-3579]|90)\\d{2,7}", , , , "83012378"], , , [, , , , , , , , , [-1]]],
9025      OM: [
9026        ,
9027        [, , "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", , , , , , , [7, 8, 9]],
9028        [, , "2[1-6]\\d{6}", , , , "23123456", , , [8]],
9029        [, , "(?:1505|90[1-9]\\d)\\d{4}|(?:7[124-9]|9[1-9])\\d{6}", , , , "92123456", , , [8]],
9030        [, , "8007\\d{4,5}|(?:500|800[05])\\d{4}", , , , "80071234"],
9031        [, , "900\\d{5}", , , , "90012345", , , [8]],
9032        [, , , , , , , , , [-1]],
9033        [, , , , , , , , , [-1]],
9034        [, , , , , , , , , [-1]],
9035        "OM",
9036        968,
9037        "00",
9038        ,
9039        ,
9040        ,
9041        ,
9042        ,
9043        ,
9044        ,
9045        [[, "(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]], [, "(\\d{2})(\\d{6})", "$1 $2", ["2"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]],
9046        ,
9047        [, , , , , , , , , [-1]],
9048        ,
9049        ,
9050        [, , , , , , , , , [-1]],
9051        [, , , , , , , , , [-1]],
9052        ,
9053        ,
9054        [, , , , , , , , , [-1]]
9055      ],
9056      PA: [, [, , "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", , , , , , , [7, 8, 10, 11]], [
9057        ,
9058        ,
9059        "(?:1(?:0\\d|1[0479]|2[37]|3[0137]|4[147]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[0147-9]\\d|[25][0-5]|33|6[068])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[4-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}",
9060        ,
9061        ,
9062        ,
9063        "2001234",
9064        ,
9065        ,
9066        [7]
9067      ], [, , "(?:1[16]1|21[89]|6\\d{3}|8(?:1[01]|7[23]))\\d{4}", , , , "61234567", , , [7, 8]], [, , "800\\d{4,5}|(?:00800|800\\d)\\d{6}", , , , "8001234"], [, , "(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\d{4}", , , , "8601234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "PA", 507, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]], [, "(\\d{4})(\\d{4})", "$1-$2", ["[68]"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9068      PE: [, [
9069        ,
9070        ,
9071        "(?:[14-8]|9\\d)\\d{7}",
9072        ,
9073        ,
9074        ,
9075        ,
9076        ,
9077        ,
9078        [8, 9],
9079        [6, 7]
9080      ], [, , "(?:(?:(?:4[34]|5[14])[0-8]|687)\\d|7(?:173|(?:3[0-8]|55)\\d)|8(?:10[05689]|6(?:0[06-9]|1[6-9]|29)|7(?:0[0569]|[56]0)))\\d{4}|(?:1[0-8]|4[12]|5[236]|6[1-7]|7[246]|8[2-4])\\d{6}", , , , "11234567", , , [8], [6, 7]], [, , "9\\d{8}", , , , "912345678", , , [9]], [, , "800\\d{5}", , , , "80012345", , , [8]], [, , "805\\d{5}", , , , "80512345", , , [8]], [, , "801\\d{5}", , , , "80112345", , , [8]], [, , "80[24]\\d{5}", , , , "80212345", , , [8]], [, , , , , , , , , [-1]], "PE", 51, "00|19(?:1[124]|77|90)00", "0", " Anexo ", , "0", , "00", , [[
9081        ,
9082        "(\\d{3})(\\d{5})",
9083        "$1 $2",
9084        ["80"],
9085        "(0$1)"
9086      ], [, "(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"], [, "(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9087      PF: [
9088        ,
9089        [, , "4\\d{5}(?:\\d{2})?|8\\d{7,8}", , , , , , , [6, 8, 9]],
9090        [, , "4(?:0[4-689]|9[4-68])\\d{5}", , , , "40412345", , , [8]],
9091        [, , "8[7-9]\\d{6}", , , , "87123456", , , [8]],
9092        [, , "80[0-5]\\d{6}", , , , "800012345", , , [9]],
9093        [, , , , , , , , , [-1]],
9094        [, , , , , , , , , [-1]],
9095        [, , , , , , , , , [-1]],
9096        [, , "499\\d{5}", , , , "49901234", , , [8]],
9097        "PF",
9098        689,
9099        "00",
9100        ,
9101        ,
9102        ,
9103        ,
9104        ,
9105        ,
9106        ,
9107        [[, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]],
9108        ,
9109        [, , , , , , , , , [-1]],
9110        ,
9111        ,
9112        [, , "44\\d{4}", , , , , , , [6]],
9113        [, , "44\\d{4}", , , , "440123", , , [6]],
9114        ,
9115        ,
9116        [, , , , , , , , , [-1]]
9117      ],
9118      PG: [, [, , "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", , , , , , , [7, 8]], [, , "(?:(?:3[0-2]|4[257]|5[34]|9[78])\\d|64[1-9]|85[02-46-9])\\d{4}", , , , "3123456", , , [7]], [, , "(?:7\\d|8[1-48])\\d{6}", , , , "70123456", , , [8]], [
9119        ,
9120        ,
9121        "180\\d{4}",
9122        ,
9123        ,
9124        ,
9125        "1801234",
9126        ,
9127        ,
9128        [7]
9129      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "2(?:0[0-57]|7[568])\\d{4}", , , , "2751234", , , [7]], "PG", 675, "00|140[1-3]", , , , , , "00", , [[, "(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85
vendor: 8,682 bytes, lines 9129-9253
9129"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], , [, , "27[01]\\d{4}", , , , "2700123", , , [7]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9130      PH: [, [, , "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", , , , , , , [6, 8, 9, 10, 11, 12, 13], [4, 5, 7]], [
9131        ,
9132        ,
9133        "(?:(?:2[3-8]|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\d{3}|88(?:22\\d\\d|42))\\d{4}|(?:2|8[2-8]\\d\\d)\\d{5}",
9134        ,
9135        ,
9136        ,
9137        "232345678",
9138        ,
9139        ,
9140        [6, 8, 9, 10],
9141        [4, 5, 7]
9142      ], [, , "(?:8(?:1[37]|9[5-8])|9(?:0[5-9]|1[0-24-9]|[235-7]\\d|4[2-9]|8[135-9]|9[1-9]))\\d{7}", , , , "9051234567", , , [10]], [, , "1800\\d{7,9}", , , , "180012345678", , , [11, 12, 13]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "PH", 63, "00", "0", , , "0", , , , [[, "(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], [
9143        ,
9144        "(\\d{4})(\\d{4,6})",
9145        "$1 $2",
9146        ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],
9147        "(0$1)"
9148      ], [, "(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"], [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], [, "(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9149      PK: [, [
9150        ,
9151        ,
9152        "122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",
9153        ,
9154        ,
9155        ,
9156        ,
9157        ,
9158        ,
9159        [8, 9, 10, 11, 12],
9160        [5, 6, 7]
9161      ], [, , "(?:(?:21|42)[2-9]|58[126])\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6,7}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}", , , , "2123456789", , , [9, 10], [5, 6, 7, 8]], [, , "3(?:[0-247]\\d|3[0-79]|55|64)\\d{7}", , , , "3012345678", , , [10]], [, , "800\\d{5}(?:\\d{3})?", , , , "80012345", , , [8, 11]], [, , "900\\d{5}", , , , "90012345", , , [8]], [, , , , , , , , , [-1]], [
9162        ,
9163        ,
9164        "122\\d{6}",
9165        ,
9166        ,
9167        ,
9168        "122044444",
9169        ,
9170        ,
9171        [9]
9172      ], [, , , , , , , , , [-1]], "PK", 92, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"], [, "(\\d{4})(\\d{5})", "$1 $2", ["1"]], [
9173        ,
9174        "(\\d{3})(\\d{6,7})",
9175        "$1 $2",
9176        ["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])", "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],
9177        "(0$1)"
9178      ], [, "(\\d{2})(\\d{7,8})", "$1 $2", ["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"], "(0$1)"], [, "(\\d{5})(\\d{5})", "$1 $2", ["58"], "(0$1)"], [, "(\\d{3})(\\d{7})", "$1 $2", ["3"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"], "(0$1)"], [, "(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[24-9]"], "(0$1)"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [
9179        ,
9180        ,
9181        "(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}",
9182        ,
9183        ,
9184        ,
9185        "21111825888",
9186        ,
9187        ,
9188        [11, 12]
9189      ], , , [, , , , , , , , , [-1]]],
9190      PL: [, [, , "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", , , , , , , [6, 7, 8, 9, 10]], [, , "(?:30|47\\d\\d)\\d{5}|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])(?:[02-9]\\d{6}|1(?:[0-8]\\d{5}|9\\d{3}(?:\\d{2})?))", , , , "123456789", , , [7, 9]], [, , "21(?:1[013-5]|2\\d|3[1-9])\\d{5}|(?:45|5[0137]|6[069]|7[2389]|88)\\d{7}", , , , "512345678", , , [9]], [, , "800\\d{6,7}", , , , "800123456", , , [9, 10]], [, , "70[01346-8]\\d{6}", , , , "701234567", , , [9]], [
9191        ,
9192        ,
9193        "801\\d{6}",
9194        ,
9195        ,
9196        ,
9197        "801234567",
9198        ,
9199        ,
9200        [9]
9201      ], [, , , , , , , , , [-1]], [, , "39\\d{7}", , , , "391234567", , , [9]], "PL", 48, "00", , , , , , , , [
9202        [, "(\\d{5})", "$1", ["19"]],
9203        [, "(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]],
9204        [, "(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],
9205        [, "(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]],
9206        [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]],
9207        [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]],
9208        [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]
9209      ], , [, , "64\\d{4,7}", , , , "641234567", , , [6, 7, 8, 9]], , , [, , , , , , , , , [-1]], [, , "804\\d{6}", , , , "804123456", , , [9]], , , [, , , , , , , , , [-1]]],
9210      PM: [, [, , "[78]\\d{8}|[2-9]\\d{5}", , , , , , , [6, 9]], [, , "80[6-9]\\d{6}|(?:[236-9]\\d|4[1-35-9]|5[0-47-9])\\d{4}", , , , "430123"], [, , "708(?:4[0-5]|5[0-6])\\d{4}|(?:[236-9]\\d|4[02-489]|5[02-9])\\d{4}", , , , "551234"], [, , "80[0-5]\\d{6}", , , , "800012345", , , [9]], [
9211        ,
9212        ,
9213        "8[129]\\d{7}",
9214        ,
9215        ,
9216        ,
9217        "810123456",
9218        ,
9219        ,
9220        [9]
9221      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "PM", 508, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9222      PR: [, [, , "(?:[589]\\d\\d|787)\\d{7}", , , , , , , [10], [7]], [, , "(?:787|939)[2-9]\\d{6}", , , , "7872345678", , , , [7]], [, , "(?:787|939)[2-9]\\d{6}", , , , "7872345678", , , , [7]], [
9223        ,
9224        ,
9225        "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",
9226        ,
9227        ,
9228        ,
9229        "8002345678"
9230      ], [, , "900[2-9]\\d{6}", , , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "PR", 1, "011", "1", , , "1", , , 1, , , [, , , , , , , , , [-1]], , "787|939", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9231      PS: [, [, , "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", , , , , , , [
9232        8,
9233        9,
9234        10
9235      ], [7]], [, , "(?:22[2-47-9]|42[45]|82[014-68]|92[3569])\\d{5}", , , , "22234567", , , [8], [7]], [, , "5[69]\\d{7}", , , , "599123456", , , [9]], [, , "1800\\d{6}", , , , "1800123456", , , [10]], [, , , , , , , , , [-1]], [, , "1700\\d{6}", , , , "1700123456", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "PS", 970, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2489]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["5"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [
9236        ,
9237        ,
9238        ,
9239        ,
9240        ,
9241        ,
9242        ,
9243        ,
9244        ,
9245        [-1]
9246      ]],
9247      PT: [
9248        ,
9249        [, , "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", , , , , , , [9]],
9250        [, , "2(?:[12]\\d|3[1-689]|4[1-59]|[57][1-9]|6[1-35689]|8[1-69]|9[1256])\\d{6}", , , , "212345678"],
9251        [, , "6(?:[06]92(?:30|9\\d)|[35]92(?:[049]\\d|3[034]))\\d{3}|(?:(?:16|6[0356])93|9(?:[1-36]\\d\\d|480))\\d{5}", , , , "912345678"],
9252        [, , "80[02]\\d{6}", , , , "800123456"],
9253        [, , "(?:6(?:0[178]|4[68])\\d|76(?:0[1-57]|1[2-47]|2[
92532
vendor: 20,315 bytes, lines 9253-9539
925337]))\\d{5}", , , , "760123456"],
9254        [, , "80(?:8\\d|9[1579])\\d{5}", , , , "808123456"],
9255        [, , "884[0-4689]\\d{5}", , , , "884123456"],
9256        [, , "30\\d{7}", , , , "301234567"],
9257        "PT",
9258        351,
9259        "00",
9260        ,
9261        ,
9262        ,
9263        ,
9264        ,
9265        ,
9266        ,
9267        [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]],
9268        ,
9269        [, , "6(?:222\\d|89(?:00|88|99))\\d{4}", , , , "622212345"],
9270        ,
9271        ,
9272        [, , , , , , , , , [-1]],
9273        [, , "70(?:38[01]|596|(?:7\\d|8[17])\\d)\\d{4}", , , , "707123456"],
9274        ,
9275        ,
9276        [, , "600\\d{6}|6[06]92(?:0\\d|3[349]|49)\\d{3}", , , , "600110000"]
9277      ],
9278      PW: [, [, , "(?:[24-8]\\d\\d|345|900)\\d{4}", , , , , , , [7]], [, , "(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\d{4}", , , , "2771234"], [
9279        ,
9280        ,
9281        "(?:(?:46|83)[0-5]|(?:6[2-4689]|78)0)\\d{4}|(?:45|77|88)\\d{5}",
9282        ,
9283        ,
9284        ,
9285        "6201234"
9286      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "PW", 680, "01[12]", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9287      PY: [, [, , "[36-8]\\d{5,8}|4\\d{6,8}|59\\d{6}|9\\d{5,10}|(?:2\\d|5[0-8])\\d{6,7}", , , , , , , [6, 7, 8, 9, 10, 11], [5]], [
9288        ,
9289        ,
9290        "(?:3[289]|4[246-8]|61|7[1-3]|8[1-36])\\d{5,7}|(?:2(?:[14-68]\\d|2[4-68]|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51|[67]\\d)|4(?:1\\d|3[12]|5[13]|9[1-47])|5(?:[1-4]\\d|5[02-4])|6(?:3[1-3]|44|7[1-8])|7(?:4[0-4]|5\\d|6[1-578]|75|8[0-8])|858)\\d{5,6}",
9291        ,
9292        ,
9293        ,
9294        "212345678",
9295        ,
9296        ,
9297        [7, 8, 9],
9298        [5, 6]
9299      ], [, , "9(?:51|6[129]|7[1-6]|8[1-7]|9[1-5])\\d{6}", , , , "961456789", , , [9]], [, , "9800\\d{5,7}", , , , "98000123456", , , [9, 10, 11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "8700[0-4]\\d{4}", , , , "870012345", , , [9]], "PY", 595, "00", "0", , , "0", , , , [[, "(\\d{6,7})", "$1", ["[125]|4[01]"]], [, "(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"], [, "(\\d{2})(\\d{5})", "$1 $2", ["3[289]|4[246-8]|61|7[1-3]|8[1-36]"], "(0$1)"], [
9300        ,
9301        "(\\d{3})(\\d{4,5})",
9302        "$1 $2",
9303        ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"],
9304        "(0$1)"
9305      ], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]], [, "(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-7])"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], [[, "(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"], [, "(\\d{2})(\\d{5})", "$1 $2", ["3[289]|4[246-8]|61|7[1-3]|8[1-36]"], "(0$1)"], [
9306        ,
9307        "(\\d{3})(\\d{4,5})",
9308        "$1 $2",
9309        ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"],
9310        "(0$1)"
9311      ], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]], [, "(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-7])"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "[245]0\\d{6,7}|[36-9]0\\d{4,7}", , , , "201234567", , , [6, 7, 8, 9]], , , [, , , , , , , , , [-1]]],
9312      QA: [, [
9313        ,
9314        ,
9315        "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}",
9316        ,
9317        ,
9318        ,
9319        ,
9320        ,
9321        ,
9322        [7, 8, 9, 11]
9323      ], [, , "4(?:(?:[014]\\d\\d|999)\\d|2022)\\d{3}", , , , "44123456", , , [8]], [, , "[35-7]\\d{7}", , , , "33123456", , , [8]], [, , "800\\d{4}|(?:0080[01]|800)\\d{6}", , , , "8001234", , , [7, 9, 11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "QA", 974, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["2[136]|8"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]], , [, , "2[136]\\d{5}", , , , "2123456", , , [7]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9324      RE: [, [, , "709\\d{6}|(?:26|[689]\\d)\\d{7}", , , , , , , [9]], [
9325        ,
9326        ,
9327        "2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}",
9328        ,
9329        ,
9330        ,
9331        "262161234"
9332      ], [, , "(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}", , , , "692123456"], [, , "80\\d{7}", , , , "801234567"], [, , "89[1-37-9]\\d{6}", , , , "891123456"], [, , "8(?:1[019]|2[0156]|84|90)\\d{6}", , , , "810123456"], [, , , , , , , , , [-1]], [, , "9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}", , , , "939901234"], "RE", 262, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"], "0$1"]], , [
9333        ,
9334        ,
9335        ,
9336        ,
9337        ,
9338        ,
9339        ,
9340        ,
9341        ,
9342        [-1]
9343      ], 1, , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9344      RO: [, [, , "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", , , , , , , [6, 9]], [, , "[23][13-6]\\d{7}|(?:2(?:19\\d|[3-6]\\d9)|31\\d\\d)\\d\\d", , , , "211234567"], [, , "(?:630|702)0\\d{5}|(?:6(?:00|2\\d)|7(?:0[013-9]|1[0-3]|[2-7]\\d|8[03-8]|9[0-39]))\\d{6}", , , , "712034567", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , "90[0136]\\d{6}", , , , "900123456", , , [9]], [, , "801\\d{6}", , , , "801123456", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "RO", 40, "00", "0", " int ", , "0", , , , [[
9345        ,
9346        "(\\d{3})(\\d{3})",
9347        "$1 $2",
9348        ["2[3-6]", "2[3-6]\\d9"],
9349        "0$1"
9350      ], [, "(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[236-9]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "(?:37\\d|80[578])\\d{6}", , , , "372123456", , , [9]], , , [, , , , , , , , , [-1]]],
9351      RS: [, [, , "38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}", , , , , , , [6, 7, 8, 9, 10, 11, 12], [4, 5]], [
9352        ,
9353        ,
9354        "(?:11[1-9]\\d|(?:2[389]|39)(?:0[2-9]|[2-9]\\d))\\d{3,8}|(?:1[02-9]|2[0-24-7]|3[0-8])[2-9]\\d{4,9}",
9355        ,
9356        ,
9357        ,
9358        "10234567",
9359        ,
9360        ,
9361        [7, 8, 9, 10, 11, 12],
9362        [4, 5, 6]
9363      ], [, , "6(?:[0-689]|7\\d)\\d{6,7}", , , , "601234567", , , [8, 9, 10]], [, , "800\\d{3,9}", , , , "80012345"], [, , "(?:78\\d|90[0169])\\d{3,7}", , , , "90012345", , , [6, 7, 8, 9, 10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "RS", 381, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3,9})", "$1 $2", ["(?:2[389]|39)0|[7-9]"], "0$1"], [, "(\\d{2})(\\d{5,10})", "$1 $2", ["[1-36]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "7[06]\\d{4,10}", , , , "700123456"], , , [, , , , , , , , , [-1]]],
9364      RU: [, [
9365        ,
9366        ,
9367        "8\\d{13}|[347-9]\\d{9}",
9368        ,
9369        ,
9370        ,
9371        ,
9372        ,
9373        ,
9374        [10, 14],
9375        [7]
9376      ], [, , "(?:3(?:0[12]|36|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15-7]|6[0-35-79]|7[1-37-9]))\\d{7}", , , , "3011234567", , , [10], [7]], [, , "9\\d{9}", , , , "9123456789", , , [10]], [, , "8(?:0[04]|108\\d{3})\\d{7}", , , , "8001234567"], [, , "80[39]\\d{7}", , , , "8091234567", , , [10]], [, , , , , , , , , [-1]], [, , "808\\d{7}", , , , "8081234567", , , [10]], [, , , , , , , , , [-1]], "RU", 7, "810", "8", , , "8", , "8~10", , [
9377        [, "(\\d{3})(\\d{2})(\\d{2})", "$1-$2-$3", ["[0-79]"]],
9378        [, "(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", , 1],
9379        [
9380          ,
9381          "(\\d{5})(\\d)(\\d{2})(\\d{2})",
9382          "$1 $2 $3 $4",
9383          ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],
9384          "8 ($1)",
9385          ,
9386          1
9387        ],
9388        [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", , 1],
9389        [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", , 1],
9390        [, "(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]
9391      ], [[, "(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", , 1], [, "(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", [
9392        "7(?:1[0-68]|2[1-9])",
9393        "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))",
9394        "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"
9395      ], "8 ($1)", , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", , 1], [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", , 1], [, "(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]], [
9396        ,
9397        ,
9398        ,
9399        ,
9400        ,
9401        ,
9402        ,
9403        ,
9404        ,
9405        [-1]
9406      ], 1, "[3489]", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9407      RW: [, [, , "(?:06|[27]\\d\\d|[89]00)\\d{6}", , , , , , , [8, 9]], [, , "(?:06|2[23568]\\d)\\d{6}", , , , "250123456"], [, , "7[237-9]\\d{7}", , , , "720123456", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , "900\\d{6}", , , , "900123456", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "RW", 250, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], [
9408        ,
9409        "(\\d{3})(\\d{3})(\\d{3})",
9410        "$1 $2 $3",
9411        ["[7-9]"],
9412        "0$1"
9413      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9414      SA: [, [, , "(?:[15]\\d|800|92)\\d{7}", , , , , , , [9, 10], [7]], [, , "1(?:1\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\d{6}", , , , "112345678", , , [9], [7]], [, , "579[0-8]\\d{5}|5(?:[013-689]\\d|7[0-8])\\d{6}", , , , "512345678", , , [9]], [, , "800\\d{7}", , , , "8001234567", , , [10]], [, , "925\\d{6}", , , , "925012345", , , [9]], [, , "920\\d{6}", , , , "920012345", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SA", 966, "00", "0", , , "0", , , , [[
9415        ,
9416        "(\\d{4})(\\d{5})",
9417        "$1 $2",
9418        ["9"]
9419      ], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9420      SB: [, [, , "[6-9]\\d{6}|[1-6]\\d{4}", , , , , , , [5, 7]], [, , "(?:1[4-79]|[23]\\d|4[0-2]|5[03]|6[0-37])\\d{3}", , , , "40123", , , [5]], [, , "48\\d{3}|(?:(?:6[89]|7[1-9]|8[4-9])\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\d{4}", , , , "7421234"], [
9421        ,
9422        ,
9423        "1[38]\\d{3}",
9424        ,
9425        ,
9426        ,
9427        "18123",
9428        ,
9429        ,
9430        [5]
9431      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "5[12]\\d{3}", , , , "51123", , , [5]], "SB", 677, "0[01]", , , , , , , , [[, "(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9432      SC: [, [, , "(?:[2489]\\d|64)\\d{5}", , , , , , , [7]], [, , "4[2-46]\\d{5}", , , , "4217123"], [, , "2[125-8]\\d{5}", , , , "2510123"], [, , "800[08]\\d{3}", , , , "8000000"], [, , "85\\d{5}", , , , "8512345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [
9433        ,
9434        ,
9435        "971\\d{4}|(?:64|95)\\d{5}",
9436        ,
9437        ,
9438        ,
9439        "6412345"
9440      ], "SC", 248, "010|0[0-2]", , , , , , "00", , [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9441      SD: [, [, , "[19]\\d{8}", , , , , , , [9]], [, , "1(?:5\\d|8[35-7])\\d{6}", , , , "153123456"], [, , "(?:1[0-2]|9[0-3569])\\d{7}", , , , "911231234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SD", 249, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [
9442        ,
9443        ,
9444        ,
9445        ,
9446        ,
9447        ,
9448        ,
9449        ,
9450        ,
9451        [-1]
9452      ], , , [, , , , , , , , , [-1]]],
9453      SE: [, [, , "(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}", , , , , , , [6, 7, 8, 9, 10, 12]], [
9454        ,
9455        ,
9456        "(?:(?:[12][136]|3[356]|4[0246]|6[03]|8\\d)\\d|90[1-9])\\d{4,6}|(?:1(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)|2(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|4(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\d|6[03-5]|7[013]|8[0-79]|9[01])|6(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])|9(?:1[0-68]|2\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8]))\\d{5,6}",
9457        ,
9458        ,
9459        ,
9460        "8123456",
9461        ,
9462        ,
9463        [7, 8, 9]
9464      ], [, , "7[023689]\\d{7}", , , , "701234567", , , [9]], [, , "20\\d{4,7}", , , , "20123456", , , [6, 7, 8, 9]], [, , "649\\d{6}|99[1-59]\\d{4}(?:\\d{3})?|9(?:00|39|44)[1-8]\\d{3,6}", , , , "9001234567", , , [7, 8, 9, 10]], [, , "77[0-7]\\d{6}", , , , "771234567", , , [9]], [, , "75[1-8]\\d{6}", , , , "751234567", , , [9]], [, , , , , , , , , [-1]], "SE", 46, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1"], [, "(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1"], [
9465        ,
9466        "(\\d{2})(\\d{3})(\\d{2})",
9467        "$1-$2 $3",
9468        ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],
9469        "0$1"
9470      ], [, "(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1"], [, "(\\d{3})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1"], [, "(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1"], [, "(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1"], [
9471        ,
9472        "(\\d)(\\d{3})(\\d{3})(\\d{2})",
9473        "$1-$2 $3 $4",
9474        ["8"],
9475        "0$1"
9476      ], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1"], [, "(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1"]], [[, "(\\d{2})(\\d{2,3})(\\d{2})", "$1 $2 $3", ["20"]], [, "(\\d{3})(\\d{4})", "$1 $2", ["9(?:00|39|44|9)"]], [, "(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"]], [
9477        ,
9478        "(\\d)(\\d{2,3})(\\d{2})(\\d{2})",
9479        "$1 $2 $3 $4",
9480        ["8"]
9481      ], [, "(\\d{3})(\\d{2,3})(\\d{2})", "$1 $2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"]], [, "(\\d{3})(\\d{2,3})(\\d{3})", "$1 $2 $3", ["9(?:00|39|44)"]], [, "(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"]], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["10|7"]], [, "(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["8"]], [
9482        ,
9483        "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
9484        "$1 $2 $3 $4",
9485        ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"]
9486      ], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["9"]], [, "(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]"]]], [, , "74[02-9]\\d{6}", , , , "740123456", , , [9]], , , [, , , , , , , , , [-1]], [, , "10[1-8]\\d{6}", , , , "102345678", , , [9]], , , [, , "(?:25[245]|67[3-68])\\d{9}", , , , "254123456789", , , [12]]],
9487      SG: [, [, , "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", , , , , , , [8, 10, 11]], [
9488        ,
9489        ,
9490        "662[0-24-9]\\d{4}|6(?:[0-578]\\d|6[013-57-9]|9[0-35-9])\\d{5}",
9491        ,
9492        ,
9493        ,
9494        "61234567",
9495        ,
9496        ,
9497        [8]
9498      ], [, , "80[1-9]\\d{5}|(?:8[1-9]|9[0-8])\\d{6}", , , , "81234567", , , [8]], [, , "(?:18|8)00\\d{7}", , , , "18001234567", , , [10, 11]], [, , "1900\\d{7}", , , , "19001234567", , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:3[12]\\d|666)\\d{5}", , , , "31234567", , , [8]], "SG", 65, "0[0-3]\\d", , , , , , , , [[, "(\\d{4,5})", "$1", ["1[013-9]|77", "1(?:[013-8]|9(?:0[1-9]|[1-9]))|77"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-9]|[1-9])"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], [
9499        ,
9500        "(\\d{4})(\\d{4})(\\d{3})",
9501        "$1 $2 $3",
9502        ["7"]
9503      ], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]], [[, "(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-9]|[1-9])"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], [, "(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]], [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "7000\\d{7}", , , , "70001234567", , , [11]], , , [, , , , , , , , , [-1]]],
9504      SH: [, [, , "(?:[256]\\d|8)\\d{3}", , , , , , , [4, 5]], [, , "2(?:[0-57-9]\\d|6[4-9])\\d\\d", , , , "22158"], [, , "[56]\\d{4}", , , , "51234", , , [5]], [, , , , , , , , , [-1]], [
9505        ,
9506        ,
9507        ,
9508        ,
9509        ,
9510        ,
9511        ,
9512        ,
9513        ,
9514        [-1]
9515      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "262\\d\\d", , , , "26212", , , [5]], "SH", 290, "00", , , , , , , , , , [, , , , , , , , , [-1]], 1, "[256]", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9516      SI: [, [, , "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", , , , , , , [5, 6, 7, 8]], [, , "(?:[1-357][2-8]|4[24-8])\\d{6}", , , , "12345678", , , [8], [7]], [, , "65(?:[178]\\d|5[56]|6[01])\\d{4}|(?:[37][01]|4[013]|51|6[489])\\d{6}", , , , "31234567", , , [8]], [, , "80\\d{4,6}", , , , "80123456", , , [6, 7, 8]], [, , "89[1-3]\\d{2,5}|90\\d{4,6}", , , , "90123456"], [, , , , , , , , , [-1]], [
9517        ,
9518        ,
9519        ,
9520        ,
9521        ,
9522        ,
9523        ,
9524        ,
9525        ,
9526        [-1]
9527      ], [, , "(?:59\\d\\d|8(?:1(?:[67]\\d|8[0-589])|2(?:0\\d|2[0-37-9]|8[0-2489])|3[389]\\d))\\d{4}", , , , "59012345", , , [8]], "SI", 386, "00|10(?:22|66|88|99)", "0", , , "0", , "00", , [[, "(\\d{2})(\\d{3,6})", "$1 $2", ["8[09]|9"], "0$1"], [, "(\\d{3})(\\d{5})", "$1 $2", ["59|8"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37][01]|4[013]|51|6"], "0$1"], [, "(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-57]"], "(0$1)"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9528      SJ: [, [
9529        ,
9530        ,
9531        "0\\d{4}|(?:[489]\\d|79)\\d{6}",
9532        ,
9533        ,
9534        ,
9535        ,
9536        ,
9537        ,
9538        [5, 8]
9539      ], [, , "79\\d{6}", , , , "79123456", , , [8]], [, , "
9539(?:4[015-9]|9\\d)\\d{6}", , , , "41234567", , , [8]], [, , "80[01]\\d{5}", , , , "80012345", , , [8]], [, , "82[09]\\d{5}", , , , "82012345", , , [8]], [, , "810(?:0[0-6]|[2-8]\\d)\\d{3}", , , , "81021234", , , [8]], [, , "880\\d{5}", , , , "88012345", , , [8]], [, , "85[0-5]\\d{5}", , , , "85012345", , , [8]], "SJ", 47, "00", , , , , , , , , , [, , , , , , , , , [-1]], , "79", [, , , , , , , , , [-1]], [, , "(?:0[235-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}", , , , "02000"], , , [, , "81[23]\\d{5}", , , , "81212345", , , [8]]],
9540      SK: [, [
9541        ,
9542        ,
9543        "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",
9544        ,
9545        ,
9546        ,
9547        ,
9548        ,
9549        ,
9550        [6, 7, 9]
9551      ], [, , "(?:2(?:16|[2-9]\\d{3})|(?:(?:[3-5][1-8]\\d|819)\\d|601[1-5])\\d)\\d{4}|(?:2|[3-5][1-8])1[67]\\d{3}|[3-5][1-8]16\\d\\d", , , , "221234567"], [, , "909[1-9]\\d{5}|9(?:0[1-8]|1[0-24-9]|4[03-57-9]|5\\d)\\d{6}", , , , "912123456", , , [9]], [, , "800\\d{6}", , , , "800123456", , , [9]], [, , "9(?:00|[78]\\d)\\d{6}", , , , "900123456", , , [9]], [, , "8[5-9]\\d{7}", , , , "850123456", , , [9]], [, , , , , , , , , [-1]], [, , "6(?:02|5[0-4]|9[0-6])\\d{6}", , , , "690123456", , , [9]], "SK", 421, "00", "0", , , "0", , , , [[
9552        ,
9553        "(\\d)(\\d{2})(\\d{3,4})",
9554        "$1 $2 $3",
9555        ["21"],
9556        "0$1"
9557      ], [, "(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["[3-5][1-8]1", "[3-5][1-8]1[67]"], "0$1"], [, "(\\d{4})(\\d{3})", "$1 $2", ["909", "9090"], "0$1"], [, "(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[3-5]"], "0$1"]], [[, "(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"], [, "(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["[3-5][1-8]1", "[3-5][1-8]1[67]"], "0$1"], [
9558        ,
9559        "(\\d)(\\d{3})(\\d{3})(\\d{2})",
9560        "$1 $2 $3 $4",
9561        ["2"],
9562        "0$1"
9563      ], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[3-5]"], "0$1"]], [, , "9090\\d{3}", , , , "9090123", , , [7]], , , [, , "9090\\d{3}|(?:602|8(?:00|[5-9]\\d)|9(?:00|[78]\\d))\\d{6}", , , , , , , [7, 9]], [, , "96\\d{7}", , , , "961234567", , , [9]], , , [, , , , , , , , , [-1]]],
9564      SL: [, [, , "(?:[237-9]\\d|66)\\d{6}", , , , , , , [8], [6]], [, , "22[2-4][2-9]\\d{4}", , , , "22221234", , , , [6]], [, , "(?:25|3[0-5]|66|7\\d|8[08]|9[09])\\d{6}", , , , "25123456"], [, , , , , , , , , [-1]], [
9565        ,
9566        ,
9567        ,
9568        ,
9569        ,
9570        ,
9571        ,
9572        ,
9573        ,
9574        [-1]
9575      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SL", 232, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{6}
vendor: 20,811 bytes, lines 9575-9910
9575)", "$1 $2", ["[236-9]"], "(0$1)"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9576      SM: [
9577        ,
9578        [, , "(?:0549|[5-7]\\d)\\d{6}", , , , , , , [8, 10], [6]],
9579        [, , "0549(?:8[0157-9]|9\\d)\\d{4}", , , , "0549886377", , , [10], [6]],
9580        [, , "6[16]\\d{6}", , , , "66661212", , , [8]],
9581        [, , , , , , , , , [-1]],
9582        [, , "7[178]\\d{6}", , , , "71123456", , , [8]],
9583        [, , , , , , , , , [-1]],
9584        [, , , , , , , , , [-1]],
9585        [, , "5[158]\\d{6}", , , , "58001110", , , [8]],
9586        "SM",
9587        378,
9588        "00",
9589        ,
9590        ,
9591        ,
9592        "([89]\\d{5})$",
9593        "0549$1",
9594        ,
9595        ,
9596        [[, "(\\d{6})", "$1", ["[89]"]], [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], [, "(\\d{4})(\\d{6})", "$1 $2", ["0"]]],
9597        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], [, "(\\d{4})(\\d{6})", "$1 $2", ["0"]]],
9598        [, , , , , , , , , [-1]],
9599        ,
9600        ,
9601        [, , , , , , , , , [-1]],
9602        [, , , , , , , , , [-1]],
9603        ,
9604        ,
9605        [, , , , , , , , , [-1]]
9606      ],
9607      SN: [
9608        ,
9609        [, , "(?:[378]\\d|93)\\d{7}", , , , , , , [9]],
9610        [, , "3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\d{5}", , , , "301012345"],
9611        [, , "7(?:[015-8]\\d|21|90)\\d{6}", , , , "701234567"],
9612        [, , "800\\d{6}", , , , "800123456"],
9613        [, , "88[4689]\\d{6}", , , , "884123456"],
9614        [, , "81[02468]\\d{6}", , , , "810123456"],
9615        [, , , , , , , , , [-1]],
9616        [, , "(?:3(?:392|9[01]\\d)\\d|93(?:3[13]0|929))\\d{4}", , , , "933301234"],
9617        "SN",
9618        221,
9619        "00",
9620        ,
9621        ,
9622        ,
9623        ,
9624        ,
9625        ,
9626        ,
9627        [[, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]]],
9628        ,
9629        [, , , , , , , , , [-1]],
9630        ,
9631        ,
9632        [, , , , , , , , , [-1]],
9633        [, , , , , , , , , [-1]],
9634        ,
9635        ,
9636        [, , , , , , , , , [-1]]
9637      ],
9638      SO: [, [, , "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", , , , , , , [6, 7, 8, 9]], [
9639        ,
9640        ,
9641        "(?:1\\d|2[0-79]|3[0-46-8]|4[0-7]|5[57-9])\\d{5}|(?:[134]\\d|8[125])\\d{4}",
9642        ,
9643        ,
9644        ,
9645        "4012345",
9646        ,
9647        ,
9648        [6, 7]
9649      ], [, , "(?:(?:15|(?:3[59]|4[89]|6\\d|7[0-35-9]|8[08])\\d|9(?:0\\d|[2-9]))\\d|2(?:4\\d|8))\\d{5}|(?:[67]\\d\\d|904)\\d{5}", , , , "71123456", , , [7, 8, 9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SO", 252, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{4})", "$1 $2", ["8[125]"]], [, "(\\d{6})", "$1", ["[134]"]], [, "(\\d)(\\d{6})", "$1 $2", ["[15]|2[0-79]|3[0-46-8]|4[0-7]"]], [, "(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|9[2-9]"]], [, "(\\d)(\\d{7})", "$1 $2", ["[267]|904"]], [
9650        ,
9651        "(\\d{2})(\\d{3})(\\d{4})",
9652        "$1 $2 $3",
9653        ["[346-9]"]
9654      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9655      SR: [, [, , "(?:[2-5]|[6-9]\\d)\\d{5}", , , , , , , [6, 7]], [, , "(?:2[1-3]|3[0-7]|4\\d|5[2-578])\\d{4}", , , , "211234", , , [6]], [, , "(?:6[08]|7[1-7]|8[1-9])\\d{5}", , , , "7412345", , , [7]], [, , "80\\d{5}", , , , "8012345", , , [7]], [, , "90\\d{5}", , , , "9012345", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "(?:56|91\\d)\\d{4}", , , , "561234"], "SR", 597, "00", , , , , , , , [
9656        [, "(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]],
9657        [, "(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]],
9658        [, "(\\d{3})(\\d{4})", "$1-$2", ["[6-9]"]]
9659      ], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9660      SS: [, [, , "[19]\\d{8}", , , , , , , [9]], [, , "1[89]\\d{7}", , , , "181234567"], [, , "(?:12|9[1257-9])\\d{7}", , , , "977123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SS", 211, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9661      ST: [, [, , "(?:22|9\\d)\\d{5}", , , , , , , [7]], [
9662        ,
9663        ,
9664        "22\\d{5}",
9665        ,
9666        ,
9667        ,
9668        "2221234"
9669      ], [, , "900[5-9]\\d{3}|9(?:0[1-9]|[89]\\d)\\d{4}", , , , "9812345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "ST", 239, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9670      SV: [, [, , "[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", , , , , , , [7, 8, 11]], [, , "2(?:79(?:0[0347-9]|[1-9]\\d)|89(?:0[024589]|[1-9]\\d))\\d{3}|2(?:[1-69]\\d|[78][0-8])\\d{5}", , , , "21234567", , , [8]], [
9671        ,
9672        ,
9673        "[5-7]\\d{7}",
9674        ,
9675        ,
9676        ,
9677        "70123456",
9678        ,
9679        ,
9680        [8]
9681      ], [, , "800\\d{8}|80[01]\\d{4}", , , , "8001234", , , [7, 11]], [, , "900\\d{4}(?:\\d{4})?", , , , "9001234", , , [7, 11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SV", 503, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["[25-7]"]], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9682      SX: [
9683        ,
9684        [, , "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
9685        [, , "7215(?:4[2-8]|8[39]|9[056])\\d{4}", , , , "7215425678", , , , [7]],
9686        [, , "7215(?:1[02]|2\\d|5[034679]|8[0-24-8])\\d{4}", , , , "7215205678", , , , [7]],
9687        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
9688        [, , "900[2-9]\\d{6}", , , , "9002123456"],
9689        [, , , , , , , , , [-1]],
9690        [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"],
9691        [, , , , , , , , , [-1]],
9692        "SX",
9693        1,
9694        "011",
9695        "1",
9696        ,
9697        ,
9698        "(5\\d{6})$|1",
9699        "721$1",
9700        ,
9701        ,
9702        ,
9703        ,
9704        [, , , , , , , , , [-1]],
9705        ,
9706        "721",
9707        [, , , , , , , , , [-1]],
9708        [, , , , , , , , , [-1]],
9709        ,
9710        ,
9711        [, , , , , , , , , [-1]]
9712      ],
9713      SY: [, [, , "[1-359]\\d{8}|[1-5]\\d{7}", , , , , , , [8, 9], [6, 7]], [, , "21\\d{6,7}|(?:1(?:[14]\\d|[2356])|2[235]|3(?:[13]\\d|4)|4[134]|5[1-3])\\d{6}", , , , "112345678", , , , [6, 7]], [, , "(?:50|9[1-9])\\d{7}", , , , "944567890", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "SY", 963, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-4]|5[1-3]"], "0$1", , 1], [
9714        ,
9715        "(\\d{3})(\\d{3})(\\d{3})",
9716        "$1 $2 $3",
9717        ["[59]"],
9718        "0$1",
9719        ,
9720        1
9721      ]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9722      SZ: [, [, , "0800\\d{4}|(?:[237]\\d|900)\\d{6}", , , , , , , [8, 9]], [, , "[23][2-5]\\d{6}", , , , "22171234", , , [8]], [, , "7[5-9]\\d{6}", , , , "76123456", , , [8]], [, , "0800\\d{4}", , , , "08001234", , , [8]], [, , "900\\d{6}", , , , "900012345", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "70\\d{6}", , , , "70012345", , , [8]], "SZ", 268, "00", , , , , , , , [[, "(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]], [, "(\\d{5})(\\d{4})", "$1 $2", ["9"]]], , [, , , , , , , , , [-1]], , , [
9723        ,
9724        ,
9725        "0800\\d{4}",
9726        ,
9727        ,
9728        ,
9729        ,
9730        ,
9731        ,
9732        [8]
9733      ], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9734      TA: [, [, , "8\\d{3}", , , , , , , [4]], [, , "8\\d{3}", , , , "8999"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TA", 290, "00", , , , , , , , , , [, , , , , , , , , [-1]], , "8", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9735      TC: [, [, , "(?:[58]\\d\\d|649|900)\\d{7}", , , , , , , [10], [7]], [, , "649(?:266|712|9(?:4\\d|50))\\d{4}", , , , "6497121234", , , , [7]], [, , "649(?:2(?:3[129]|4[1-79])|3\\d\\d|4[34][1-3])\\d{4}", , , , "6492311234", , , , [7]], [
9736        ,
9737        ,
9738        "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",
9739        ,
9740        ,
9741        ,
9742        "8002345678"
9743      ], [, , "900[2-9]\\d{6}", , , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , "649(?:71[01]|966)\\d{4}", , , , "6497101234", , , , [7]], "TC", 1, "011", "1", , , "([2-479]\\d{6})$|1", "649$1", , , , , [, , , , , , , , , [-1]], , "649", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9744      TD: [, [, , "(?:22|[3689]\\d|77)\\d{6}", , , , , , , [8]], [, , "22(?:[37-9]0|5[0-5]|6[89])\\d{4}", , , , "22501234"], [, , "(?:3[01]|[69]\\d|77|8[5-7])\\d{6}", , , , "63012345"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TD", 235, "00|16", , , , , , "00", , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[236-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9745      TG: [, [, , "[279]\\d{7}", , , , , , , [8]], [, , "2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\d{5}", , , , "22212345"], [
9746        ,
9747        ,
9748        "(?:7[0-289]|9[0-36-9])\\d{6}",
9749        ,
9750        ,
9751        ,
9752        "90112345"
9753      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TG", 228, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9754      TH: [, [, , "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", , , , , , , [8, 9, 10, 13]], [, , "(?:1[0689]|2\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\d{6}", , , , "21234567", , , [8]], [, , "(?:(?:14|[89]\\d)\\d\\d|6(?:[1-6]\\d\\d|7(?:1[0-8]|2[4-7]|3[1-6])))\\d{5}", , , , "812345678", , , [9]], [
9755        ,
9756        ,
9757        "(?:001800\\d|1800)\\d{6}",
9758        ,
9759        ,
9760        ,
9761        "1800123456",
9762        ,
9763        ,
9764        [10, 13]
9765      ], [, , "1900\\d{6}", , , , "1900123456", , , [10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "6[08]\\d{7}", , , , "601234567", , , [9]], "TH", 66, "00[1-9]", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"], [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9766      TJ: [
9767        ,
9768        [, , "(?:[0-57-9]\\d|66)\\d{7}", , , , , , , [9], [3, 5, 6, 7]],
9769        [
9770          ,
9771          ,
9772          "(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}",
9773          ,
9774          ,
9775          ,
9776          "372123456",
9777          ,
9778          ,
9779          ,
9780          [3, 5, 6, 7]
9781        ],
9782        [, , "(?:33[03-9]|4(?:1[18]|4[02-479])|81[1-9])\\d{6}|(?:[09]\\d|1[0-27-9]|2[0-27]|3[08]|40|5[05]|66|7[0157-9]|8[07-9])\\d{7}", , , , "917123456"],
9783        [, , , , , , , , , [-1]],
9784        [, , , , , , , , , [-1]],
9785        [, , , , , , , , , [-1]],
9786        [, , , , , , , , , [-1]],
9787        [, , , , , , , , , [-1]],
9788        "TJ",
9789        992,
9790        "810",
9791        ,
9792        ,
9793        ,
9794        ,
9795        ,
9796        "8~10",
9797        ,
9798        [[, "(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]], [, "(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["44[02-479]|[34]7"]], [, "(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3(?:[1245]|3[12])"]], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["\\d"]]],
9799        ,
9800        [, , , , , , , , , [-1]],
9801        ,
9802        ,
9803        [, , , , , , , , , [-1]],
9804        [, , , , , , , , , [-1]],
9805        ,
9806        ,
9807        [, , , , , , , , , [-1]]
9808      ],
9809      TK: [, [, , "[2-47]\\d{3,6}", , , , , , , [4, 5, 6, 7]], [, , "(?:2[2-4]|[34]\\d)\\d{2,5}", , , , "3101"], [, , "7[2-4]\\d{2,5}", , , , "7290"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TK", 690, "00", , , , , , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9810      TL: [, [, , "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", , , , , , , [7, 8]], [, , "(?:2[1-5]|3[1-9]|4[1-4])\\d{5}", , , , "2112345", , , [7]], [
9811        ,
9812        ,
9813        "7[2-8]\\d{6}",
9814        ,
9815        ,
9816        ,
9817        "77212345",
9818        ,
9819        ,
9820        [8]
9821      ], [, , "80\\d{5}", , , , "8012345", , , [7]], [, , "90\\d{5}", , , , "9012345", , , [7]], [, , , , , , , , , [-1]], [, , "70\\d{5}", , , , "7012345", , , [7]], [, , , , , , , , , [-1]], "TL", 670, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]], [, "(\\d{4})(\\d{4})", "$1 $2", ["7"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9822      TM: [, [, , "[1-7]\\d{7}", , , , , , , [8]], [, , "(?:1(?:2\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\d{5}", , , , "12345678"], [
9823        ,
9824        ,
9825        "(?:6\\d|7[12])\\d{6}",
9826        ,
9827        ,
9828        ,
9829        "66123456"
9830      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TM", 993, "810", "8", , , "8", , "8~10", , [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["12"], "(8 $1)"], [, "(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-5]"], "(8 $1)"], [, "(\\d{2})(\\d{6})", "$1 $2", ["[67]"], "8 $1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9831      TN: [, [, , "[2-57-9]\\d{7}", , , , , , , [8]], [, , "81200\\d{3}|(?:3[0-2]|7\\d)\\d{6}", , , , "30010123"], [
9832        ,
9833        ,
9834        "3(?:001|[12]40)\\d{4}|(?:(?:[259]\\d|4[0-8])\\d|3(?:1[1-35]|6[0-4]|91))\\d{5}",
9835        ,
9836        ,
9837        ,
9838        "20123456"
9839      ], [, , "8010\\d{4}", , , , "80101234"], [, , "88\\d{6}", , , , "88123456"], [, , "8[12]10\\d{4}", , , , "81101234"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TN", 216, "00", , , , , , , , [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9840      TO: [, [, , "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}", , , , , , , [5, 7]], [, , "(?:2\\d|3[0-8]|4[0-4]|50|6[09]|7[0-24-69]|8[05])\\d{3}", , , , "20123", , , [5]], [
9841        ,
9842        ,
9843        "(?:5(?:4[0-5]|5[4-6])|6(?:[09]\\d|3[02]|8[15-9])|(?:7\\d|8[46-9])\\d|999)\\d{4}",
9844        ,
9845        ,
9846        ,
9847        "7715123",
9848        ,
9849        ,
9850        [7]
9851      ], [, , "0800\\d{3}", , , , "0800222", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "55[0-37-9]\\d{4}", , , , "5510123", , , [7]], "TO", 676, "00", , , , , , , , [[, "(\\d{2})(\\d{3})", "$1-$2", ["[2-4]|50|6[09]|7[0-24-69]|8[05]"]], [, "(\\d{4})(\\d{3})", "$1 $2", ["0"]], [, "(\\d{3})(\\d{4})", "$1 $2", ["[5-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9852      TR: [, [, , "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}", , , , , , , [7, 10, 12, 13]], [
9853        ,
9854        ,
9855        "(?:2(?:1[26]|[28][2468]|[3-5][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\d{7}",
9856        ,
9857        ,
9858        ,
9859        "2123456789",
9860        ,
9861        ,
9862        [10]
9863      ], [, , "561(?:011|61\\d)\\d{4}|5(?:[03-5]\\d|1[06]|24|6[24]|7[245]|9[46])\\d{7}", , , , "5012345678", , , [10]], [, , "8(?:00\\d{7}(?:\\d{2,3})?|11\\d{7})", , , , "8001234567", , , [10, 12, 13]], [, , "(?:8[89]8|900)\\d{7}", , , , "9001234567", , , [10]], [, , , , , , , , , [-1]], [, , "592(?:21[12]|461)\\d{4}", , , , "5922121234", , , [10]], [, , "850\\d{7}", , , , "8500123456", , , [10]], "TR", 90, "00", "0", , , "0", , , , [
9864        [, "(\\d{3})(\\d)(\\d{3})", "$1 $2 $3", ["444"], , , 1],
9865        [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["512|8[01589]|90"], "0$1", , 1],
9866        [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[0-79]"], "0$1", , 1],
9867        [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24][1-8]|3[1-9]"], "(0$1)", , 1],
9868        [, "(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", , 1]
9869      ], [[, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["512|8[01589]|90"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[0-79]"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24][1-8]|3[1-9]"], "(0$1)", , 1], [
9870        ,
9871        "(\\d{3})(\\d{3})(\\d{6,7})",
9872        "$1 $2 $3",
9873        ["80"],
9874        "0$1",
9875        ,
9876        1
9877      ]], [, , "512\\d{7}", , , , "5123456789", , , [10]], , , [, , "(?:444|811\\d{3})\\d{4}", , , , , , , [7, 10]], [, , "444\\d{4}", , , , "4441444", , , [7]], , , [, , , , , , , , , [-1]]],
9878      TT: [, [, , "(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "868(?:2(?:01|1[5-9]|[23]\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}", , , , "8682211234", , , , [7]], [, , "868(?:(?:2[5-9]|3\\d)\\d|4(?:3[0-6]|[6-9]\\d)|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}", , , , "8682911234", , , , [7]], [
9879        ,
9880        ,
9881        "868800\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",
9882        ,
9883        ,
9884        ,
9885        "8002345678"
9886      ], [, , "900[2-9]\\d{6}", , , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "TT", 1, "011", "1", , , "([2-46-8]\\d{6})$|1", "868$1", , , , , [, , , , , , , , , [-1]], , "868", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , "868619\\d{4}", , , , "8686191234", , , , [7]]],
9887      TV: [, [
9888        ,
9889        ,
9890        "(?:2|7\\d\\d|90)\\d{4}",
9891        ,
9892        ,
9893        ,
9894        ,
9895        ,
9896        ,
9897        [5, 6, 7]
9898      ], [, , "2[02-9]\\d{3}", , , , "20123", , , [5]], [, , "(?:7[01]\\d|90)\\d{4}", , , , "901234", , , [6, 7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "TV", 688, "00", , , , , , , , [[, "(\\d{2})(\\d{3})", "$1 $2", ["2"]], [, "(\\d{2})(\\d{4})", "$1 $2", ["90"]], [, "(\\d{2})(\\d{5})", "$1 $2", ["7"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9899      TW: [, [, , "[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}", , , , , , , [7, 8, 9, 10, 11]], [
9900        ,
9901        ,
9902        "(?:2[2-8]\\d|370|55[01]|7[1-9])\\d{6}|4(?:(?:0(?:0[1-9]|[2-48]\\d)|1[023]\\d)\\d{4,5}|(?:[239]\\d\\d|4(?:0[56]|12|49))\\d{5})|6(?:[01]\\d{7}|4(?:0[56]|12|24|4[09])\\d{4,5})|8(?:(?:2(?:3\\d|4[0-269]|[578]0|66)|36[24-9]|90\\d\\d)\\d{4}|4(?:0[56]|12|24|4[09])\\d{4,5})|(?:2(?:2(?:0\\d\\d|4(?:0[68]|[249]0|3[0-467]|5[0-25-9]|6[0235689]))|(?:3(?:[09]\\d|1[0-4])|(?:4\\d|5[0-49]|6[0-29]|7[0-5])\\d)\\d)|(?:(?:3[2-9]|5[2-8]|6[0-35-79]|8[7-9])\\d\\d|4(?:2(?:[089]\\d|7[1-9])|(?:3[0-4]|[78]\\d|9[01])\\d))\\d)\\d{3}",
9903        ,
9904        ,
9905        ,
9906        "221234567",
9907        ,
9908        ,
9909        [8, 9]
9910      ], [, , "(?:40001[0-2]|9[0-8]\\d{4})\\d{3}", , , , "912345678", , , [9]], [, , "80[0-79]\\d{6}|800\\d{5}", , , , "800123456", , , [8, 9]], [, , "20(?:[013-9]\\d\\d|2)\\d{4}", , , , "203123456", , , [7, 9]], [, , , , , , , , , [-1]], [, , "99\\d{7}
9910", , , , "990123456", , , [9]], [, , "7010(?:[0-2679]\\d|3[0-7]|8[0-5])\\d{5}|70\\d{8}", , , , "7012345678", , , [10, 11]], "TW", 886, "0(?:0[25-79]|19)", "0", "#", , "0", , , , [[, "(\\d{2})(\\d)(\\d{4})", "$1 $2 $3", ["202"], "0$1"], [, "(\\d{3})(\\d{5})", "$1 $2", ["826"], "0$1"], [
9911        ,
9912        "(\\d{3})(\\d{2})(\\d{3})",
9913        "$1 $2 $3",
9914        ["83"],
9915        "0$1"
9916      ], [, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["82"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[25]0|37|49|8[09]"], "0$1"], [, "(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-478])|7[1-9]", "[23568]|4(?:0[2-48]|[1-478])|(?:400|7)[1-9]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"], "0$1"], [, "(\\d{2})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["7"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "50[0-46-9]\\d{6}", , , , "500123456", , , [9]], , , [, , , , , , , , , [-1]]],
9917      TZ: [, [
9918        ,
9919        ,
9920        "(?:[25-8]\\d|41|90)\\d{7}",
9921        ,
9922        ,
9923        ,
9924        ,
9925        ,
9926        ,
9927        [9]
9928      ], [, , "2[2-8]\\d{7}", , , , "222345678"], [, , "(?:6[1-35-9]|7\\d)\\d{7}", , , , "621234567"], [, , "80[08]\\d{6}", , , , "800123456"], [, , "90\\d{7}", , , , "900123456"], [, , "8(?:40|6[01])\\d{6}", , , , "840123456"], [, , , , , , , , , [-1]], [, , "41\\d{7}", , , , "412345678"], "TZ", 255, "00[056]", "0", , , "0", , , , [[, "(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[24]"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["5"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[67]"], "0$1"]], , [, , , , , , , , , [-1]], , , [
9929        ,
9930        ,
9931        "(?:8(?:[04]0|6[01])|90\\d)\\d{6}"
9932      ], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
9933      UA: [
9934        ,
9935        [, , "[89]\\d{9}|[3-9]\\d{8}", , , , , , , [9, 10], [5, 6, 7]],
9936        [, , "(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}", , , , "311234567", , , [9], [5, 6, 7]],
9937        [, , "790\\d{6}|(?:39|50|6[36-8]|7[1-357]|9[1-9])\\d{7}", , , , "501234567", , , [9]],
9938        [, , "800[1-8]\\d{5,6}", , , , "800123456"],
9939        [, , "900[239]\\d{5,6}", , , , "900212345"],
9940        [, , , , , , , , , [-1]],
9941        [, , , , , , , , , [-1]],
9942        [, , "89[1-579]\\d{6}", , , , "891234567", , , [9]],
9943        "UA",
9944        380,
9945        "00",
9946        "0",
9947        ,
9948        ,
9949        "0",
9950        ,
9951        "0~0",
9952        ,
9953        [[
9954          ,
9955          "(\\d{3})(\\d{3})(\\d{3})",
9956          "$1 $2 $3",
9957          ["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]", "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],
9958          "0$1"
9959        ], [, "(\\d{4})(\\d{5})", "$1 $2", ["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])", "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|89|9[1-9]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]],
9960        ,
9961        [, , , , , , , , , [-1]],
9962        ,
9963        ,
9964        [, , , , , , , , , [-1]],
9965        [, , , , , , , , , [-1]],
9966        ,
9967        ,
9968        [, , , , , , , , , [-1]]
9969      ],
9970      UG: [
9971        ,
9972        [, , "800\\d{6}|(?:[29]0|[347]\\d)\\d{7}", , , , , , , [9], [5, 6, 7]],
9973        [, , "20(?:(?:240|30[67])\\d|6(?:00[0-2]|30[0-4]))\\d{3}|(?:20(?:[017]\\d|2[5-9]|3[1-4]|5[0-4]|6[15-9])|[34]\\d{3})\\d{5}", , , , "312345678", , , , [5, 6, 7]],
9974        [, , "7280\\d{5}|7(?:[014-8]\\d|2[01467]|3[0167]|9[0-589])\\d{6}", , , , "712345678"],
9975        [, , "800[1-3]\\d{5}", , , , "800123456"],
9976        [, , "90[1-3]\\d{6}", , , , "901123456"],
9977        [, , , , , , , , , [-1]],
9978        [, , , , , , , , , [-1]],
9979        [, , , , , , , , , [-1]],
9980        "UG",
9981        256,
9982        "00[057]",
9983        "0",
9984        ,
9985        ,
9986        "0",
9987        ,
9988        ,
9989        ,
9990        [[, "(\\d{4})(\\d{5})", "$1 $2", ["202", "2024"], "0$1"], [, "(\\d{3})(\\d{6})", "$1 $2", ["[27-9]|4(?:6[45]|[7-9])"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["[3
vendor: 19,505 bytes, lines 9990-10276
99904]"], "0$1"]],
9991        ,
9992        [, , , , , , , , , [-1]],
9993        ,
9994        ,
9995        [, , , , , , , , , [-1]],
9996        [, , , , , , , , , [-1]],
9997        ,
9998        ,
9999        [, , , , , , , , , [-1]]
10000      ],
10001      US: [, [, , "[2-9]\\d{9}|3\\d{6}", , , , , , , [10], [7]], [
10002        ,
10003        ,
10004        "(?:472[2-47-9]|983[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[02469]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}",
10005        ,
10006        ,
10007        ,
10008        "2015550123",
10009        ,
10010        ,
10011        ,
10012        [7]
10013      ], [
10014        ,
10015        ,
10016        "(?:472[2-47-9]|983[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[02469]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}",
10017        ,
10018        ,
10019        ,
10020        "2015550123",
10021        ,
10022        ,
10023        ,
10024        [7]
10025      ], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"], [, , "900[2-9]\\d{6}", , , , "9002345678"], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "US", 1, "011", "1", , , "1", , , 1, [[, "(\\d{3})(\\d{4})", "$1-$2", ["310"], , , 1], [
10026        ,
10027        "(\\d{3})(\\d{4})",
10028        "$1-$2",
10029        ["[24-9]|3(?:[02-9]|1[1-9])"]
10030      ], [, "(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], , , 1]], [[, "(\\d{3})(\\d{4})", "$1-$2", ["310"], , , 1], [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-9]"]]], [, , , , , , , , , [-1]], 1, , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10031      UY: [, [, , "0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}", , , , , , , [4, 5, 6, 7, 8, 9, 10, 11, 12, 13]], [, , "(?:1(?:770|9(?:20|[89]7))|(?:2\\d|4[2-7])\\d\\d)\\d{4}", , , , "21231234", , , [8], [7]], [, , "9[1-9]\\d{6}", , , , "94231234", , , [8]], [
10032        ,
10033        ,
10034        "0004\\d{2,9}|(?:405|80[05])\\d{4}",
10035        ,
10036        ,
10037        ,
10038        "8001234",
10039        ,
10040        ,
10041        [6, 7, 8, 9, 10, 11, 12, 13]
10042      ], [, , "90[0-8]\\d{4}", , , , "9001234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "UY", 598, "0(?:0|1[3-9]\\d)", "0", " int. ", , "0", , "00", , [[, "(\\d{4,5})", "$1", ["21"]], [, "(\\d{3})(\\d{3,4})", "$1 $2", ["0"]], [, "(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"], [, "(\\d{4})(\\d{4})", "$1 $2", ["[124]"]], [, "(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]], [, "(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]], , [
10043        ,
10044        ,
10045        ,
10046        ,
10047        ,
10048        ,
10049        ,
10050        ,
10051        ,
10052        [-1]
10053      ], , , [, , , , , , , , , [-1]], [, , "21\\d{2,3}", , , , "21123", , , [4, 5]], , , [, , , , , , , , , [-1]]],
10054      UZ: [, [, , "(?:20|33|[5-9]\\d)\\d{7}", , , , , , , [9]], [, , "(?:55\\d\\d|6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|[69]\\d\\d|7(?:[23]\\d|7[69]))|7(?:[168]\\d\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|9(?:22|5[1-9])))\\d{5}", , , , "669050123"], [
10055        ,
10056        ,
10057        "(?:(?:[25]0|33|8[078]|9[0-57-9])\\d{3}|6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:(?:11|7\\d)\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\d)\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079])))|7(?:[07]\\d{3}|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07]))))\\d{4}",
10058        ,
10059        ,
10060        ,
10061        "912345678"
10062      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "UZ", 998, "00", , , , , , , , [[, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10063      VA: [, [, , "0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}", , , , , , , [6, 7, 8, 9, 10, 11, 12]], [, , "06698\\d{1,6}", , , , "0669812345", , , [6, 7, 8, 9, 10, 11]], [, , "3[1-9]\\d{8}|3[2-9]\\d{7}", , , , "3123456789", , , [9, 10]], [
10064        ,
10065        ,
10066        "80(?:0\\d{3}|3)\\d{3}",
10067        ,
10068        ,
10069        ,
10070        "800123456",
10071        ,
10072        ,
10073        [6, 9]
10074      ], [, , "(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", , , , "899123456", , , [6, 8, 9, 10]], [, , "84(?:[08]\\d{3}|[17])\\d{3}", , , , "848123456", , , [6, 9]], [, , "1(?:78\\d|99)\\d{6}", , , , "1781234567", , , [9, 10]], [, , "55\\d{8}", , , , "5512345678", , , [10]], "VA", 39, "00", , , , , , , , , , [, , , , , , , , , [-1]], , "06698", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , "3[2-8]\\d{9,10}", , , , "33101234501", , , [11, 12]]],
10075      VC: [
10076        ,
10077        [, , "(?:[58]\\d\\d|784|900)\\d{7}", , , , , , , [10], [7]],
10078        [, , "784(?:266|3(?:6[6-9]|7\\d|8[0-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\d{4}", , , , "7842661234", , , , [7]],
10079        [, , "784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4])|720)\\d{4}", , , , "7844301234", , , , [7]],
10080        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"],
10081        [, , "900[2-9]\\d{6}", , , , "9002345678"],
10082        [, , , , , , , , , [-1]],
10083        [
10084          ,
10085          ,
10086          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}",
10087          ,
10088          ,
10089          ,
10090          "5002345678"
10091        ],
10092        [, , "78451[0-2]\\d{4}", , , , "7845101234", , , , [7]],
10093        "VC",
10094        1,
10095        "011",
10096        "1",
10097        ,
10098        ,
10099        "([2-7]\\d{6})$|1",
10100        "784$1",
10101        ,
10102        ,
10103        ,
10104        ,
10105        [, , , , , , , , , [-1]],
10106        ,
10107        "784",
10108        [, , , , , , , , , [-1]],
10109        [, , , , , , , , , [-1]],
10110        ,
10111        ,
10112        [, , , , , , , , , [-1]]
10113      ],
10114      VE: [
10115        ,
10116        [, , "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", , , , , , , [10], [7]],
10117        [, , "(?:2(?:12|3[457-9]|[467]\\d|[58][1-9]|9[1-6])|[4-6]00)\\d{7}", , , , "2121234567", , , , [7]],
10118        [, , "4(?:1[24-8]|2[246])\\d{7}", , , , "4121234567"],
10119        [, , "800\\d{7}", , , , "8001234567"],
10120        [, , "90[01]\\d{7}", , , , "9001234567"],
10121        [, , , , , , , , , [-1]],
10122        [, , , , , , , , , [-1]],
10123        [, , , , , , , , , [-1]],
10124        "VE",
10125        58,
10126        "00",
10127        "0",
10128        ,
10129        ,
10130        "0",
10131        ,
10132        ,
10133        ,
10134        [[, "(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1", "$CC $1"]],
10135        ,
10136        [, , , , , , , , , [-1]],
10137        ,
10138        ,
10139        [, , , , , , , , , [-1]],
10140        [, , "501\\d{7}", , , , "5010123456", , , , [7]],
10141        ,
10142        ,
10143        [, , , , , , , , , [-1]]
10144      ],
10145      VG: [, [, , "(?:284|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]], [, , "284(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\d{4}", , , , "2842291234", , , , [7]], [, , "284(?:245|3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|9[69])|5(?:4[0-7]|68|9[69]))\\d{4}", , , , "2843001234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"], [
10146        ,
10147        ,
10148        "900[2-9]\\d{6}",
10149        ,
10150        ,
10151        ,
10152        "9002345678"
10153      ], [, , , , , , , , , [-1]], [, , "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}", , , , "5002345678"], [, , , , , , , , , [-1]], "VG", 1, "011", "1", , , "([2-578]\\d{6})$|1", "284$1", , , , , [, , , , , , , , , [-1]], , "284", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10154      VI: [, [, , "[58]\\d{9}|(?:34|90)0\\d{7}", , , , , , , [10], [7]], [
10155        ,
10156        ,
10157        "340(?:2(?:0\\d|10|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}",
10158        ,
10159        ,
10160        ,
10161        "3406421234",
10162        ,
10163        ,
10164        ,
10165        [7]
10166      ], [, , "340(?:2(?:0\\d|10|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}", , , , "3406421234", , , , [7]], [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"], [, , "900[2-9]\\d{6}", , , , "9002345678"], [, , , , , , , , , [-1]], [
10167        ,
10168        ,
10169        "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}",
10170        ,
10171        ,
10172        ,
10173        "5002345678"
10174      ], [, , , , , , , , , [-1]], "VI", 1, "011", "1", , , "([2-9]\\d{6})$|1", "340$1", , 1, , , [, , , , , , , , , [-1]], , "340", [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10175      VN: [, [, , "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{6,7}|7\\d{6}", , , , , , , [7, 8, 9, 10]], [, , "2(?:0[3-9]|1[0-689]|2[0-25-9]|[38][2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|9[0-4679])\\d{7}", , , , "2101234567", , , [10]], [, , "121[0-3]\\d{5}|(?:160|(?:3\\d|7[06-9])\\d|5(?:[1689]\\d|2[238]|59)|8(?:[1-8]\\d|9[6-9])|9(?:[0-8]\\d|9[013-9]))\\d{6}", , , , "912345678", , , [9]], [
10176        ,
10177        ,
10178        "1800\\d{4,6}|12(?:0[13]|28)\\d{4}",
10179        ,
10180        ,
10181        ,
10182        "1800123456",
10183        ,
10184        ,
10185        [8, 9, 10]
10186      ], [, , "1900\\d{4,6}", , , , "1900123456", , , [8, 9, 10]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "672\\d{6}", , , , "672012345", , , [9]], "VN", 84, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[17]99"], "0$1", , 1], [, "(\\d{3})(\\d{4,5})", "$1 $2", ["69"], "0$1", , 1], [, "(\\d{4})(\\d{4,6})", "$1 $2", ["1(?:2[02]|[89])"], , , 1], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[26]|6"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", , 1], [
10187        ,
10188        "(\\d{2})(\\d{4})(\\d{4})",
10189        "$1 $2 $3",
10190        ["2[48]"],
10191        "0$1",
10192        ,
10193        1
10194      ], [, "(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", , 1]], [[, "(\\d{4})(\\d{4,6})", "$1 $2", ["1(?:2[02]|[89])"], , , 1], [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[26]|6"], "0$1", , 1], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", , 1], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", , 1], [, "(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", , 1]], [, , , , , , , , , [-1]], , , [, , "[17]99\\d{4}|69\\d{5,6}", , , , , , , [7, 8]], [, , "[17]99\\d{4}|69\\d{5,6}", , , , "1992000", , , [7, 8]], , , [, , , , , , , , , [-1]]],
10195      VU: [, [, , "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", , , , , , , [5, 7]], [, , "(?:38[0-8]|48[4-9])\\d\\d|(?:2[02-9]|3[4-7]|88)\\d{3}", , , , "22123", , , [5]], [, , "(?:[58]\\d|7[0-7])\\d{5}", , , , "5912345", , , [7]], [, , "81[18]\\d\\d", , , , "81123", , , [5]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:0[1-9]|1[01])\\d{4}", , , , "9010123", , , [7]], "VU", 678, "00", , , , , , , , [[, "(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "(?:3[03]|900\\d)\\d{3}", , , , "30123"], , , [, , , , , , , , , [-1]]],
10196      WF: [, [
10197        ,
10198        ,
10199        "(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}",
10200        ,
10201        ,
10202        ,
10203        ,
10204        ,
10205        ,
10206        [6, 9]
10207      ], [, , "72\\d{4}", , , , "721234", , , [6]], [, , "(?:72|8[23])\\d{4}", , , , "821234", , , [6]], [, , "80[0-5]\\d{6}", , , , "800012345", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9[23]\\d{4}", , , , "921234", , , [6]], "WF", 681, "00", , , , , , , , [[, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[47-9]"]], [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , "[48]0\\d{4}", , , , "401234", , , [6]]],
10208      WS: [, [, , "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}", , , , , , , [
10209        5,
10210        6,
10211        7,
10212        10
10213      ]], [, , "6[1-9]\\d{3}|(?:[2-5]|60)\\d{4}", , , , "22123", , , [5, 6]], [, , "(?:7[1-35-8]|8(?:[3-7]|9\\d{3}))\\d{5}", , , , "7212345", , , [7, 10]], [, , "800\\d{3}", , , , "800123", , , [6]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "WS", 685, "0", , , , , , , , [[, "(\\d{5})", "$1", ["[2-5]|6[1-9]"]], [, "(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]], [, "(\\d{2})(\\d{5})", "$1 $2", ["7"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10214      XK: [, [, , "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", , , , , , , [
10215        8,
10216        9,
10217        10,
10218        11,
10219        12
10220      ]], [, , "38\\d{6,10}|(?:2[89]|39)(?:0\\d{5,6}|[1-9]\\d{5})", , , , "28012345"], [, , "4[3-9]\\d{6}", , , , "43201234", , , [8]], [, , "800\\d{5}", , , , "80001234", , , [8]], [, , "900\\d{5}", , , , "90001234", , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "XK", 383, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2|39"], "0$1"], [, "(\\d{2})(\\d{7,10})", "$1 $2", ["3"], "0$1"]], , [, , , , , , , , , [-1]], , , [
10221        ,
10222        ,
10223        ,
10224        ,
10225        ,
10226        ,
10227        ,
10228        ,
10229        ,
10230        [-1]
10231      ], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10232      YE: [, [, , "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", , , , , , , [7, 8, 9], [6]], [, , "78[0-7]\\d{4}|17\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-6])\\d{5}", , , , "1234567", , , [7, 8], [6]], [, , "7[01378]\\d{7}", , , , "712345678", , , [9]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "YE", 967, "00", "0", , , "0", , , , [[, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-6]|7(?:[24-6]|8[0-7])"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"]], , [
10233        ,
10234        ,
10235        ,
10236        ,
10237        ,
10238        ,
10239        ,
10240        ,
10241        ,
10242        [-1]
10243      ], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10244      YT: [, [, , "(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}", , , , , , , [9]], [, , "26(?:89\\d|9(?:0[0-467]|15|5[0-4]|6\\d|[78]0))\\d{4}", , , , "269601234"], [, , "(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}", , , , "639012345"], [, , "80\\d{7}", , , , "801234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "9(?:(?:39|47)8[01]|769\\d)\\d{4}", , , , "939801234"], "YT", 262, "00", "0", , , "0", , , , , , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [
10245        ,
10246        ,
10247        ,
10248        ,
10249        ,
10250        ,
10251        ,
10252        ,
10253        ,
10254        [-1]
10255      ], , , [, , , , , , , , , [-1]]],
10256      ZA: [, [, , "[1-79]\\d{8}|8\\d{4,9}", , , , , , , [5, 6, 7, 8, 9, 10]], [, , "(?:2(?:0330|4302)|52087)0\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\d|5[1346-8])\\d{7}", , , , "101234567", , , [9]], [, , "(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\d{3}|8[1-4]\\d{3,7}|(?:2[27]|47|54)4950\\d{3}|(?:1(?:049[2-4]|9[12]\\d\\d)|(?:50[0-2]|[67]\\d\\d)\\d\\d|8(?:5\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\d{3}|(?:12|[2-5]1)492\\d{4}", , , , "711234567", , , [
10257        5,
10258        6,
10259        7,
10260        8,
10261        9
10262      ]], [, , "80\\d{7}", , , , "801234567", , , [9]], [, , "(?:86[2-9]|9[0-2]\\d)\\d{6}", , , , "862345678", , , [9]], [, , "860\\d{6}", , , , "860123456", , , [9]], [, , , , , , , , , [-1]], [, , "87(?:08[0-589]|15[0-79]|28[0-4]|31[1-9])\\d{4}|87(?:[02][0-79]|1[0-46-9]|3[02-9]|[4-9]\\d)\\d{5}", , , , "871234567", , , [9]], "ZA", 27, "00", "0", , , "0", , , , [[, "(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"], [, "(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"], [
10263        ,
10264        "(\\d{2})(\\d{3})(\\d{4})",
10265        "$1 $2 $3",
10266        ["[1-9]"],
10267        "0$1"
10268      ], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "861\\d{6,7}", , , , "861123456", , , [9, 10]], , , [, , , , , , , , , [-1]]],
10269      ZM: [, [, , "800\\d{6}|(?:21|[579]\\d|63)\\d{7}", , , , , , , [9], [6]], [, , "21[1-8]\\d{6}", , , , "211234567", , , , [6]], [, , "(?:[59][5-8]|7[5-9])\\d{7}", , , , "955123456"], [, , "800\\d{6}", , , , "800123456"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "63\\d{7}", , , , "630123456"], "ZM", 260, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3})", "$1 $2", ["[1-9]"]], [
10270        ,
10271        "(\\d{3})(\\d{3})(\\d{3})",
10272        "$1 $2 $3",
10273        ["[28]"],
10274        "0$1"
10275      ], [, "(\\d{2})(\\d{7})", "$1 $2", ["[579]"], "0$1"]], [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], [, "(\\d{2})(\\d{7})", "$1 $2", ["[579]"], "0$1"]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10276      ZW: [, [, , "
102762(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}", , , , , , , [5, 6, 7, 8, 9, 10], [3, 4]], [
10277        ,
10278        ,
vendor: 5,704 bytes, lines 10279-10369
10279        "(?:1(?:(?:3\\d|9)\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\d\\d|[56](?:[14]\\d\\d|20)|7(?:[089]|2[03]|[35]\\d\\d))\\d|4(?:2\\d\\d|8))\\d|1(?:2|[39]\\d{4}))|3(?:(?:123|(?:29\\d|92)\\d)\\d\\d|7(?:[19]|[56]\\d))|5(?:0|1[2-478]|26|[37]2|4(?:2\\d{3}|83)|5(?:25\\d\\d|[78])|[689]\\d)|6(?:(?:[16-8]21|28|52[013])\\d\\d|[39])|8(?:[1349]28|523)\\d\\d)\\d{3}|(?:4\\d\\d|9[2-9])\\d{4,5}|(?:(?:2(?:(?:(?:0|8[146])\\d|7[1-7])\\d|2(?:[278]\\d|92)|58(?:2\\d|3))|3(?:[26]|9\\d{3})|5(?:4\\d|5)\\d\\d)\\d|6(?:(?:(?:[0-246]|[78]\\d)\\d|37)\\d|5[2-8]))\\d\\d|(?:2(?:[569]\\d|8[2-57-9])|3(?:[013-59]\\d|8[37])|6[89]8)\\d{3}",
10280        ,
10281        ,
10282        ,
10283        "1312345",
10284        ,
10285        ,
10286        ,
10287        [3, 4]
10288      ], [, , "7(?:[1278]\\d|3[1-9]|9[01])\\d{6}", , , , "712345678", , , [9]], [, , "80(?:[01]\\d|20|8[0-8])\\d{3}", , , , "8001234", , , [7]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "86(?:1[12]|22|30|44|55|77|8[368])\\d{6}", , , , "8686123456", , , [10]], "ZW", 263, "00", "0", , , "0", , , , [[, "(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"], "0$1"], [, "(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"], [
10289        ,
10290        "(\\d{3})(\\d{4})",
10291        "$1 $2",
10292        ["80"],
10293        "0$1"
10294      ], [, "(\\d{2})(\\d{7})", "$1 $2", ["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"], "(0$1)"], [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"], "0$1"], [, "(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"], [
10295        ,
10296        "(\\d{2})(\\d{3,5})",
10297        "$1 $2",
10298        ["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],
10299        "0$1"
10300      ], [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]|39|54"], "0$1"], [, "(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10301      800: [
10302        ,
10303        [, , "(?:00|[1-9]\\d)\\d{6}", , , , , , , [8]],
10304        [, , , , , , , , , [-1]],
10305        [, , , , , , , , , [-1]],
10306        [, , "(?:00|[1-9]\\d)\\d{6}", , , , "12345678"],
10307        [, , , , , , , , , [-1]],
10308        [, , , , , , , , , [-1]],
10309        [, , , , , , , , , [-1]],
10310        [, , , , , , , , , [-1]],
10311        "001",
10312        800,
10313        ,
10314        ,
10315        ,
10316        ,
10317        ,
10318        ,
10319        ,
10320        1,
10321        [[, "(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]],
10322        ,
10323        [, , , , , , , , , [-1]],
10324        ,
10325        ,
10326        [, , , , , , , , , [-1]],
10327        [, , , , , , , , , [-1]],
10328        ,
10329        ,
10330        [, , , , , , , , , [-1]]
10331      ],
10332      808: [, [, , "[1-9]\\d{7}", , , , , , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "[1-9]\\d{7}", , , , "12345678"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "001", 808, , , , , , , , 1, [[, "(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10333      870: [, [, , "7\\d{11}|[235-7]\\d{8}", , , , , , , [9, 12]], [, , , , , , , , , [-1]], [, , "(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}", , , , "301234567"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [
10334        ,
10335        ,
10336        "2\\d{8}",
10337        ,
10338        ,
10339        ,
10340        "201234567",
10341        ,
10342        ,
10343        [9]
10344      ], "001", 870, , , , , , , , , [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-7]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10345      878: [, [, , "10\\d{10}", , , , , , , [12]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "10\\d{10}", , , , "101234567890"], "001", 878, , , , , , , , 1, [[, "(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10346      881: [, [
10347        ,
10348        ,
10349        "6\\d{9}|[0-36-9]\\d{8}",
10350        ,
10351        ,
10352        ,
10353        ,
10354        ,
10355        ,
10356        [9, 10]
10357      ], [, , , , , , , , , [-1]], [, , "6\\d{9}|[0-36-9]\\d{8}", , , , "612345678"], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "001", 881, , , , , , , , , [[, "(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], [, "(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10358      882: [, [, , "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", , , , , , , [7, 8, 9, 10, 11, 12]], [, , , , , , , , , [-1]], [
10359        ,
10360        ,
10361        "342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}",
10362        ,
10363        ,
10364        ,
10365        "3421234",
10366        ,
10367        ,
10368        [7, 8, 9, 10, 12]
10369      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}
10369", , , , "390123456789"], "001", 882, , , , , , , , , [[, "(\\d{2})(\\d{5})", "$1 $2", ["16|342"]], [, "(\\d{2})(\\d{6})", "$1 $2", ["49"]], [, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]], [, "(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]], [
10370        ,
10371        "(\\d{2})(\\d{3,4})(\\d{4})",
10372        "$1 $2 $3",
10373        ["16"]
10374      ], [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|23|3(?:[15]|4[57])|4|5[12]"]], [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]], [, "(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , "348[57]\\d{7}", , , , "34851234567", , , [11]]],
10375      883: [, [, , "(?:[1-4]\\d|51)\\d{6,10}", , , , , , , [8, 9, 10, 11, 12]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [
10376        ,
10377        ,
10378        "(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}",
10379        ,
10380        ,
10381        ,
10382        "510012345"
10383      ], "001", 883, , , , , , , , 1, [[, "(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3", ["[14]|2[24-689]|3[02-689]|51[24-9]"]], [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]], [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]], [, "(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]], [, "(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]],
10384      888: [, [, , "\\d{11}", , , , , , , [11]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [
10385        ,
10386        ,
10387        ,
10388        ,
10389        ,
10390        ,
10391        ,
10392        ,
10393        ,
10394        [-1]
10395      ], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "001", 888, , , , , , , , 1, [[, "(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , "\\d{11}", , , , "12345678901"], , , [, , , , , , , , , [-1]]
vendor: 25,926 bytes, lines 10395-11115
10395],
10396      979: [, [, , "[1359]\\d{8}", , , , , , , [9], [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , "[1359]\\d{8}", , , , "123456789", , , , [8]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], "001", 979, , , , , , , , 1, [[, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], , [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]], [, , , , , , , , , [-1]], , , [, , , , , , , , , [-1]]]
10397    };
10398    function J() {
10399      this.g = {};
10400    }
10401    J.h = void 0;
10402    J.g = function() {
10403      return J.h ? J.h : J.h = new J();
10404    };
10405    var Fa = { 0: "0", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", "\uFF10": "0", "\uFF11": "1", "\uFF12": "2", "\uFF13": "3", "\uFF14": "4", "\uFF15": "5", "\uFF16": "6", "\uFF17": "7", "\uFF18": "8", "\uFF19": "9", "\u0660": "0", "\u0661": "1", "\u0662": "2", "\u0663": "3", "\u0664": "4", "\u0665": "5", "\u0666": "6", "\u0667": "7", "\u0668": "8", "\u0669": "9", "\u06F0": "0", "\u06F1": "1", "\u06F2": "2", "\u06F3": "3", "\u06F4": "4", "\u06F5": "5", "\u06F6": "6", "\u06F7": "7", "\u06F8": "8", "\u06F9": "9" }, Ga = {
10406      0: "0",
10407      1: "1",
10408      2: "2",
10409      3: "3",
10410      4: "4",
10411      5: "5",
10412      6: "6",
10413      7: "7",
10414      8: "8",
10415      9: "9",
10416      "+": "+",
10417      "*": "*",
10418      "#": "#"
10419    }, Ha = {
10420      0: "0",
10421      1: "1",
10422      2: "2",
10423      3: "3",
10424      4: "4",
10425      5: "5",
10426      6: "6",
10427      7: "7",
10428      8: "8",
10429      9: "9",
10430      "\uFF10": "0",
10431      "\uFF11": "1",
10432      "\uFF12": "2",
10433      "\uFF13": "3",
10434      "\uFF14": "4",
10435      "\uFF15": "5",
10436      "\uFF16": "6",
10437      "\uFF17": "7",
10438      "\uFF18": "8",
10439      "\uFF19": "9",
10440      "\u0660": "0",
10441      "\u0661": "1",
10442      "\u0662": "2",
10443      "\u0663": "3",
10444      "\u0664": "4",
10445      "\u0665": "5",
10446      "\u0666": "6",
10447      "\u0667": "7",
10448      "\u0668": "8",
10449      "\u0669": "9",
10450      "\u06F0": "0",
10451      "\u06F1": "1",
10452      "\u06F2": "2",
10453      "\u06F3": "3",
10454      "\u06F4": "4",
10455      "\u06F5": "5",
10456      "\u06F6": "6",
10457      "\u06F7": "7",
10458      "\u06F8": "8",
10459      "\u06F9": "9",
10460      A: "2",
10461      B: "2",
10462      C: "2",
10463      D: "3",
10464      E: "3",
10465      F: "3",
10466      G: "4",
10467      H: "4",
10468      I: "4",
10469      J: "5",
10470      K: "5",
10471      L: "5",
10472      M: "6",
10473      N: "6",
10474      O: "6",
10475      P: "7",
10476      Q: "7",
10477      R: "7",
10478      S: "7",
10479      T: "8",
10480      U: "8",
10481      V: "8",
10482      W: "9",
10483      X: "9",
10484      Y: "9",
10485      Z: "9"
10486    }, Ia = RegExp("[+\uFF0B]+"), K = RegExp("^[+\uFF0B]+"), Ja = RegExp("([0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9])"), Ka = RegExp("[+\uFF0B0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9]"), La = /[\\\/] *x/, Ma = RegExp("[^0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9A-Za-z#]+$"), Na = /(?:.*?[A-Za-z]){3}.*/, Oa = RegExp("^\\+([0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9]|[\\-\\.\\(\\)]?)*[0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9]([0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9]|[\\-\\.\\(\\)]?)*$"), Pa = RegExp("^([A-Za-z0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9]+((\\-)*[A-Za-z0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9])*\\.)*[A-Za-z]+((\\-)*[A-Za-z0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9])*\\.?$");
10487    function L(a) {
10488      return "([0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9]{1," + a + "})";
10489    }
10490    function Qa() {
10491      return ";ext=" + L("20") + "|[ \xA0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\xF3))?n?|\uFF45?\uFF58\uFF54\uFF4E?|\u0434\u043E\u0431|anexo)[:\\.\uFF0E]?[ \xA0\\t,-]*" + (L("20") + "#?|[ \xA0\\t,]*(?:[x\uFF58#\uFF03~\uFF5E]|int|\uFF49\uFF4E\uFF54)[:\\.\uFF0E]?[ \xA0\\t,-]*") + (L("9") + "#?|[- ]+") + (L("6") + "#|[ \xA0\\t]*(?:,{2}|;)[:\\.\uFF0E]?[ \xA0\\t,-]*") + (L("15") + "#?|[ \xA0\\t]*(?:,)+[:\\.\uFF0E]?[ \xA0\\t,-]*") + (L("9") + "#?");
10492    }
10493    var Ra = new RegExp("(?:" + Qa() + ")$", "i"), Sa = new RegExp("^[0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9]{2}$|^[+\uFF0B]*(?:[-x\u2010-\u2015\u2212\u30FC\uFF0D-\uFF0F \xA0\xAD\u200B\u2060\u3000()\uFF08\uFF09\uFF3B\uFF3D.\\[\\]/~\u2053\u223C\uFF5E*]*[0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9]){3,}[-x\u2010-\u2015\u2212\u30FC\uFF0D-\uFF0F \xA0\xAD\u200B\u2060\u3000()\uFF08\uFF09\uFF3B\uFF3D.\\[\\]/~\u2053\u223C\uFF5E*A-Za-z0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9]*(?:" + Qa() + ")?$", "i"), Ta = /(\$\d)/, Ua = /^\(?\$1\)?$/;
10494    function Va(a) {
10495      return a.length < 2 ? false : M(Sa, a);
10496    }
10497    function Wa(a) {
10498      return M(Na, a) ? N(a, Ha) : N(a, Fa);
10499    }
10500    function Xa(a) {
10501      var b = Wa(a.toString());
10502      C(a);
10503      a.g(b);
10504    }
10505    function Ya(a) {
10506      return a != null && (w(a, 9) != 1 || F(a)[0] != -1);
10507    }
10508    function N(a, b) {
10509      for (var c = new B(), d, e = a.length, f = 0; f < e; ++f) d = a.charAt(f), d = b[d.toUpperCase()], d != null && c.g(d);
10510      return c.toString();
10511    }
10512    function Za(a) {
10513      return a.length == 0 || Ua.test(a);
10514    }
10515    function O(a) {
10516      return a != null && isNaN(a) && a.toUpperCase() in Ea;
10517    }
10518    J.prototype.format = function(a, b) {
10519      if (r(a, 2) == 0 && q(a, 5)) {
10520        var c = v(a, 5);
10521        if (c.length > 0 && q(a, 1) && r(a, 6) == 20 && b == 0) return a = v(a, 1), $a(a, b, c, "");
10522        if (c.length > 0 || !q(a, 1)) return c;
10523      }
10524      c = v(a, 1);
10525      var d = P(a);
10526      if (b == 0) return $a(c, 0, d, "");
10527      if (!(c in I)) return d;
10528      var e = Q(this, c, R(c));
10529      a = q(a, 3) && r(a, 3).length != 0 ? b == 3 ? ";ext=" + r(a, 3) : q(e, 13) ? r(e, 13) + v(a, 3) : " ext. " + v(a, 3) : "";
10530      a: {
10531        e = (u(e, 20) || []).length == 0 || b == 2 ? u(e, 19) || [] : u(e, 20) || [];
10532        for (var f, g = e.length, h = 0; h < g; ++h) {
10533          f = e[h];
10534          var l = w(f, 3);
10535          if (l == 0 || d.search(r(f, 3, l - 1)) == 0) {
10536            if (l = new RegExp(r(
10537              f,
10538              1
10539            )), M(l, d)) {
10540              e = f;
10541              break a;
10542            }
10543          }
10544        }
10545        e = null;
10546      }
10547      e != null && (g = e, e = v(g, 2), f = new RegExp(r(g, 1)), v(g, 5), g = v(g, 4), d = b == 2 && g != null && g.length > 0 ? d.replace(f, e.replace(Ta, g)) : d.replace(f, e), b == 3 && (d = d.replace(RegExp("^[-x\u2010-\u2015\u2212\u30FC\uFF0D-\uFF0F \xA0\xAD\u200B\u2060\u3000()\uFF08\uFF09\uFF3B\uFF3D.\\[\\]/~\u2053\u223C\uFF5E]+"), ""), d = d.replace(RegExp("[-x\u2010-\u2015\u2212\u30FC\uFF0D-\uFF0F \xA0\xAD\u200B\u2060\u3000()\uFF08\uFF09\uFF3B\uFF3D.\\[\\]/~\u2053\u223C\uFF5E]+", "g"), "-")));
10548      return $a(
10549        c,
10550        b,
10551        d,
10552        a
10553      );
10554    };
10555    function Q(a, b, c) {
10556      return "001" == c ? S(a, "" + b) : S(a, c);
10557    }
10558    function P(a) {
10559      if (!q(a, 2)) return "";
10560      var b = "" + r(a, 2);
10561      return q(a, 4) && r(a, 4) && v(a, 8) > 0 ? Array(v(a, 8) + 1).join("0") + b : b;
10562    }
10563    function $a(a, b, c, d) {
10564      switch (b) {
10565        case 0:
10566          return "+" + a + c + d;
10567        case 1:
10568          return "+" + a + " " + c + d;
10569        case 3:
10570          return "tel:+" + a + "-" + c + d;
10571        default:
10572          return c + d;
10573      }
10574    }
10575    function T(a, b) {
10576      switch (b) {
10577        case 4:
10578          return r(a, 5);
10579        case 3:
10580          return r(a, 4);
10581        case 1:
10582          return r(a, 3);
10583        case 0:
10584        case 2:
10585          return r(a, 2);
10586        case 5:
10587          return r(a, 6);
10588        case 6:
10589          return r(a, 8);
10590        case 7:
10591          return r(a, 7);
10592        case 8:
10593          return r(a, 21);
10594        case 9:
10595          return r(a, 25);
10596        case 10:
10597          return r(a, 28);
10598        default:
10599          return r(a, 1);
10600      }
10601    }
10602    function ab(a, b) {
10603      var c = bb(a, b);
10604      a = Q(a, v(b, 1), c);
10605      if (a == null) return -1;
10606      b = P(b);
10607      return cb(b, a);
10608    }
10609    function cb(a, b) {
10610      return U(a, r(b, 1)) ? U(a, r(b, 5)) ? 4 : U(a, r(b, 4)) ? 3 : U(a, r(b, 6)) ? 5 : U(a, r(b, 8)) ? 6 : U(a, r(b, 7)) ? 7 : U(a, r(b, 21)) ? 8 : U(a, r(b, 25)) ? 9 : U(a, r(b, 28)) ? 10 : U(a, r(b, 2)) ? r(b, 18) || U(a, r(b, 3)) ? 2 : 0 : !r(b, 18) && U(a, r(b, 3)) ? 1 : -1 : -1;
10611    }
10612    function S(a, b) {
10613      if (b == null) return null;
10614      b = b.toUpperCase();
10615      var c = a.g[b];
10616      if (c == null) {
10617        c = Ea[b];
10618        if (c == null) return null;
10619        c = new z().g(G.m(), c);
10620        a.g[b] = c;
10621      }
10622      return c;
10623    }
10624    function U(a, b) {
10625      var c = a.length;
10626      return w(b, 9) > 0 && F(b).indexOf(c) == -1 ? false : M(v(b, 2), a);
10627    }
10628    function db(a, b) {
10629      var c = bb(a, b);
10630      var d = v(b, 1);
10631      var e = Q(a, d, c);
10632      e == null || "001" != c && d != eb(a, c) ? e = false : (a = P(b), e = cb(a, e) != -1);
10633      return e;
10634    }
10635    function bb(a, b) {
10636      if (b == null) return null;
10637      var c = v(b, 1);
10638      c = I[c];
10639      if (c == null) a = null;
10640      else if (c.length == 1) a = c[0];
10641      else a: {
10642        b = P(b);
10643        for (var d, e = c.length, f = 0; f < e; f++) {
10644          d = c[f];
10645          var g = S(a, d);
10646          if (q(g, 23)) {
10647            if (b.search(r(g, 23)) == 0) {
10648              a = d;
10649              break a;
10650            }
10651          } else if (cb(b, g) != -1) {
10652            a = d;
10653            break a;
10654          }
10655        }
10656        a = null;
10657      }
10658      return a;
10659    }
10660    function R(a) {
10661      a = I[a];
10662      return a == null ? "ZZ" : a[0];
10663    }
10664    function eb(a, b) {
10665      a = S(a, b);
10666      if (a == null) throw Error("Invalid region code: " + b);
10667      return v(a, 10);
10668    }
10669    function V(a, b, c, d) {
10670      var e = T(c, d), f = w(e, 9) == 0 ? F(r(c, 1)) : F(e);
10671      e = u(e, 10) || [];
10672      if (d == 2) if (Ya(T(c, 0))) a = T(c, 1), Ya(a) && (f = f.concat(w(a, 9) == 0 ? F(r(c, 1)) : F(a)), f.sort(), e.length == 0 ? e = u(a, 10) || [] : (e = e.concat(u(a, 10) || []), e.sort()));
10673      else return V(a, b, c, 1);
10674      if (f[0] == -1) return 5;
10675      b = b.length;
10676      if (e.indexOf(b) > -1) return 4;
10677      c = f[0];
10678      return c == b ? 0 : c > b ? 2 : f[f.length - 1] < b ? 3 : f.indexOf(b, 1) > -1 ? 0 : 5;
10679    }
10680    function W(a, b, c) {
10681      var d = P(b);
10682      b = v(b, 1);
10683      if (!(b in I)) return 1;
10684      b = Q(a, b, R(b));
10685      return V(a, d, b, c);
10686    }
10687    function fb(a, b) {
10688      a = a.toString();
10689      if (a.length == 0 || a.charAt(0) == "0") return 0;
10690      for (var c, d = a.length, e = 1; e <= 3 && e <= d; ++e) if (c = parseInt(a.substring(0, e), 10), c in I) return b.g(a.substring(e)), c;
10691      return 0;
10692    }
10693    function gb(a, b, c, d, e, f) {
10694      if (b.length == 0) return 0;
10695      b = new B(b);
10696      var g;
10697      c != null && (g = r(c, 11));
10698      g == null && (g = "NonMatch");
10699      var h = b.toString();
10700      if (h.length == 0) g = 20;
10701      else if (K.test(h)) h = h.replace(K, ""), C(b), b.g(Wa(h)), g = 1;
10702      else {
10703        h = new RegExp(g);
10704        Xa(b);
10705        g = b.toString();
10706        if (g.search(h) == 0) {
10707          h = g.match(h)[0].length;
10708          var l = g.substring(h).match(Ja);
10709          l && l[1] != null && l[1].length > 0 && N(l[1], Fa) == "0" ? g = false : (C(b), b.g(g.substring(h)), g = true);
10710        } else g = false;
10711        g = g ? 5 : 20;
10712      }
10713      e && t(f, 6, g);
10714      if (g != 20) {
10715        if (b.h.length <= 2) throw Error("Phone number too short after IDD");
10716        a = fb(b, d);
10717        if (a != 0) return t(f, 1, a), a;
10718        throw Error("Invalid country calling code");
10719      }
10720      if (c != null && (g = v(c, 10), h = "" + g, l = b.toString(), l.lastIndexOf(h, 0) == 0 && (h = new B(l.substring(h.length)), l = r(c, 1), l = new RegExp(v(l, 2)), hb(h, c, null), h = h.toString(), !M(l, b.toString()) && M(l, h) || V(a, b.toString(), c, -1) == 3))) return d.g(h), e && t(f, 6, 10), t(f, 1, g), g;
10721      t(f, 1, 0);
10722      return 0;
10723    }
10724    function hb(a, b, c) {
10725      var d = a.toString(), e = d.length, f = r(b, 15);
10726      if (e != 0 && f != null && f.length != 0 && (f = new RegExp("^(?:" + f + ")"), e = f.exec(d))) {
10727        var g = RegExp;
10728        var h = r(b, 1);
10729        h = v(h, 2);
10730        g = new g(h);
10731        h = M(g, d);
10732        var l = e.length - 1;
10733        b = r(b, 16);
10734        if (b == null || b.length == 0 || e[l] == null || e[l].length == 0) {
10735          if (!h || M(g, d.substring(e[0].length))) c != null && l > 0 && e[l] != null && c.g(e[1]), a.set(d.substring(e[0].length));
10736        } else if (d = d.replace(f, b), !h || M(g, d)) c != null && l > 0 && c.g(e[1]), a.set(d);
10737      }
10738    }
10739    function X(a, b, c) {
10740      if (!O(c) && b.length > 0 && b.charAt(0) != "+") throw Error("Invalid country calling code");
10741      return ib(a, b, c, true);
10742    }
10743    function ib(a, b, c, d) {
10744      if (b == null) throw Error("The string supplied did not seem to be a phone number");
10745      if (b.length > 250) throw Error("The string supplied is too long to be a phone number");
10746      var e = new B();
10747      var f = b.indexOf(";phone-context=");
10748      if (f === -1) f = null;
10749      else if (f += 15, f >= b.length) f = "";
10750      else {
10751        var g = b.indexOf(";", f);
10752        f = g !== -1 ? b.substring(f, g) : b.substring(f);
10753      }
10754      var h = f;
10755      h == null ? g = true : h.length === 0 ? g = false : (g = Oa.exec(h), h = Pa.exec(h), g = g !== null || h !== null);
10756      if (!g) throw Error("The string supplied did not seem to be a phone number");
10757      f != null ? (f.charAt(0) === "+" && e.g(f), f = b.indexOf("tel:"), e.g(b.substring(f >= 0 ? f + 4 : 0, b.indexOf(";phone-context=")))) : (f = e.g, g = b ?? "", h = g.search(Ka), h >= 0 ? (g = g.substring(h), g = g.replace(Ma, ""), h = g.search(La), h >= 0 && (g = g.substring(0, h))) : g = "", f.call(e, g));
10758      f = e.toString();
10759      g = f.indexOf(";isub=");
10760      g > 0 && (C(e), e.g(f.substring(0, g)));
10761      if (!Va(e.toString())) throw Error("The string supplied did not seem to be a phone number");
10762      f = e.toString();
10763      if (!(O(c) || f != null && f.length > 0 && K.test(f))) throw Error("Invalid country calling code");
10764      f = new H();
10765      d && t(f, 5, b);
10766      a: {
10767        b = e.toString();
10768        g = b.search(Ra);
10769        if (g >= 0 && Va(b.substring(0, g))) {
10770          h = b.match(Ra);
10771          for (var l = h.length, A = 1; A < l; ++A) if (h[A] != null && h[A].length > 0) {
10772            C(e);
10773            e.g(b.substring(0, g));
10774            b = h[A];
10775            break a;
10776          }
10777        }
10778        b = "";
10779      }
10780      b.length > 0 && t(f, 3, b);
10781      g = S(a, c);
10782      b = new B();
10783      h = 0;
10784      l = e.toString();
10785      try {
10786        h = gb(a, l, g, b, d, f);
10787      } catch (ea) {
10788        if (ea.message == "Invalid country calling code" && K.test(l)) {
10789          if (l = l.replace(K, ""), h = gb(a, l, g, b, d, f), h == 0) throw ea;
10790        } else throw ea;
10791      }
10792      h != 0 ? (e = R(h), e != c && (g = Q(a, h, e))) : (Xa(e), b.g(e.toString()), c != null ? (h = v(g, 10), t(
10793        f,
10794        1,
10795        h
10796      )) : d && (delete f.h[6], f.g && delete f.g[6]));
10797      if (b.h.length < 2) throw Error("The string supplied is too short to be a phone number");
10798      g != null && (c = new B(), e = new B(b.toString()), hb(e, g, c), a = V(a, e.toString(), g, -1), a != 2 && a != 4 && a != 5 && (b = e, d && c.toString().length > 0 && t(f, 7, c.toString())));
10799      d = b.toString();
10800      a = d.length;
10801      if (a < 2) throw Error("The string supplied is too short to be a phone number");
10802      if (a > 17) throw Error("The string supplied is too long to be a phone number");
10803      if (d.length > 1 && d.charAt(0) == "0") {
10804        t(f, 4, true);
10805        for (a = 1; a < d.length - 1 && d.charAt(a) == "0"; ) a++;
10806        a != 1 && t(f, 8, a);
10807      }
10808      t(f, 2, parseInt(d, 10));
10809      return f;
10810    }
10811    function M(a, b) {
10812      return (a = b.match(new RegExp("^(?:" + (typeof a == "string" ? a : a.source) + ")$", "i"))) && a[0].length == b.length ? true : false;
10813    }
10814    ;
10815    function jb(a) {
10816      this.ga = RegExp("\u2008");
10817      this.ka = "";
10818      this.$ = new B();
10819      this.ea = "";
10820      this.u = new B();
10821      this.da = new B();
10822      this.v = true;
10823      this.fa = this.aa = this.ma = false;
10824      this.ha = J.g();
10825      this.ba = 0;
10826      this.h = new B();
10827      this.ia = false;
10828      this.o = "";
10829      this.g = new B();
10830      this.j = [];
10831      this.la = a;
10832      this.l = kb(this, this.la);
10833    }
10834    var lb = new G();
10835    t(lb, 11, "NA");
10836    var mb = RegExp("^[-x\u2010-\u2015\u2212\u30FC\uFF0D-\uFF0F \xA0\xAD\u200B\u2060\u3000()\uFF08\uFF09\uFF3B\uFF3D.\\[\\]/~\u2053\u223C\uFF5E]*\\$1[-x\u2010-\u2015\u2212\u30FC\uFF0D-\uFF0F \xA0\xAD\u200B\u2060\u3000()\uFF08\uFF09\uFF3B\uFF3D.\\[\\]/~\u2053\u223C\uFF5E]*(\\$\\d[-x\u2010-\u2015\u2212\u30FC\uFF0D-\uFF0F \xA0\xAD\u200B\u2060\u3000()\uFF08\uFF09\uFF3B\uFF3D.\\[\\]/~\u2053\u223C\uFF5E]*)*$"), nb = /[- ]/;
10837    function kb(a, b) {
10838      var c = a.ha;
10839      b = O(b) ? eb(c, b) : 0;
10840      a = S(a.ha, R(b));
10841      return a != null ? a : lb;
10842    }
10843    function ob(a) {
10844      for (var b = a.j.length, c = 0; c < b; ++c) {
10845        var d = a.j[c], e = v(d, 1);
10846        if (a.ea == e) return false;
10847        var f = a;
10848        var g = d, h = v(g, 1);
10849        C(f.$);
10850        var l = f;
10851        g = v(g, 2);
10852        var A = "999999999999999".match(h)[0];
10853        A.length < l.g.h.length ? l = "" : (l = A.replace(new RegExp(h, "g"), g), l = l.replace(RegExp("9", "g"), "\u2008"));
10854        l.length > 0 ? (f.$.g(l), f = true) : f = false;
10855        if (f) return a.ea = e, a.ia = nb.test(r(d, 4)), a.ba = 0, true;
10856      }
10857      return a.v = false;
10858    }
10859    function pb(a, b) {
10860      for (var c = [], d = b.length - 3, e = a.j.length, f = 0; f < e; ++f) {
10861        var g = a.j[f];
10862        w(g, 3) == 0 ? c.push(a.j[f]) : (g = r(g, 3, Math.min(d, w(g, 3) - 1)), b.search(g) == 0 && c.push(a.j[f]));
10863      }
10864      a.j = c;
10865    }
10866    function qb(a, b) {
10867      a.u.g(b);
10868      var c = b;
10869      Ja.test(c) || a.u.h.length == 1 && Ia.test(c) ? (b == "+" ? (c = b, a.da.g(b)) : (c = Fa[b], a.da.g(c), a.g.g(c)), b = c) : (a.v = false, a.ma = true);
10870      if (!a.v) {
10871        if (!a.ma) {
10872          if (rb(a)) {
10873            if (sb(a)) return tb(a);
10874          } else if (a.o.length > 0 && (b = a.g.toString(), C(a.g), a.g.g(a.o), a.g.g(b), b = a.h.toString(), c = b.lastIndexOf(a.o), C(a.h), a.h.g(b.substring(0, c))), a.o != ub(a)) return a.h.g(" "), tb(a);
10875        }
10876        return a.u.toString();
10877      }
10878      switch (a.da.h.length) {
10879        case 0:
10880        case 1:
10881        case 2:
10882          return a.u.toString();
10883        case 3:
10884          if (rb(a)) a.fa = true;
10885          else return a.o = ub(a), vb(a);
10886        default:
10887          if (a.fa) return sb(a) && (a.fa = false), a.h.toString() + a.g.toString();
10888          if (a.j.length > 0) {
10889            b = wb(a, b);
10890            c = xb(a);
10891            if (c.length > 0) return c;
10892            pb(a, a.g.toString());
10893            return ob(a) ? yb(a) : a.v ? Y(a, b) : a.u.toString();
10894          }
10895          return vb(a);
10896      }
10897    }
10898    function tb(a) {
10899      a.v = true;
10900      a.fa = false;
10901      a.j = [];
10902      a.ba = 0;
10903      C(a.$);
10904      a.ea = "";
10905      return vb(a);
10906    }
10907    function xb(a) {
10908      for (var b = a.g.toString(), c = a.j.length, d = 0; d < c; ++d) {
10909        var e = a.j[d], f = v(e, 1);
10910        if (new RegExp("^(?:" + f + ")$").test(b) && (a.ia = nb.test(r(e, 4)), e = b.replace(new RegExp(f, "g"), r(e, 2)), e = Y(a, e), N(e, Ga) == a.da)) return e;
10911      }
10912      return "";
10913    }
10914    function Y(a, b) {
10915      var c = a.h.h.length;
10916      return a.ia && c > 0 && a.h.toString().charAt(c - 1) != " " ? a.h + " " + b : a.h + b;
10917    }
10918    function vb(a) {
10919      var b = a.g.toString();
10920      if (b.length >= 3) {
10921        for (var c = a.aa && a.o.length == 0 && w(a.l, 20) > 0 ? u(a.l, 20) || [] : u(a.l, 19) || [], d = c.length, e = 0; e < d; ++e) {
10922          var f = c[e];
10923          a.o.length > 0 && Za(v(f, 4)) && !r(f, 6) && !q(f, 5) || (a.o.length != 0 || a.aa || Za(v(f, 4)) || r(f, 6)) && mb.test(v(f, 2)) && a.j.push(f);
10924        }
10925        pb(a, b);
10926        b = xb(a);
10927        return b.length > 0 ? b : ob(a) ? yb(a) : a.u.toString();
10928      }
10929      return Y(a, b);
10930    }
10931    function yb(a) {
10932      var b = a.g.toString(), c = b.length;
10933      if (c > 0) {
10934        for (var d = "", e = 0; e < c; e++) d = wb(a, b.charAt(e));
10935        return a.v ? Y(a, d) : a.u.toString();
10936      }
10937      return a.h.toString();
10938    }
10939    function ub(a) {
10940      var b = a.g.toString(), c = 0;
10941      if (r(a.l, 10) != 1) var d = false;
10942      else d = a.g.toString(), d = d.charAt(0) == "1" && d.charAt(1) != "0" && d.charAt(1) != "1";
10943      d ? (c = 1, a.h.g("1").g(" "), a.aa = true) : q(a.l, 15) && (d = new RegExp("^(?:" + r(a.l, 15) + ")"), d = b.match(d), d != null && d[0] != null && d[0].length > 0 && (a.aa = true, c = d[0].length, a.h.g(b.substring(0, c))));
10944      C(a.g);
10945      a.g.g(b.substring(c));
10946      return b.substring(0, c);
10947    }
10948    function rb(a) {
10949      var b = a.da.toString(), c = new RegExp("^(?:\\+|" + r(a.l, 11) + ")");
10950      c = b.match(c);
10951      return c != null && c[0] != null && c[0].length > 0 ? (a.aa = true, c = c[0].length, C(a.g), a.g.g(b.substring(c)), C(a.h), a.h.g(b.substring(0, c)), b.charAt(0) != "+" && a.h.g(" "), true) : false;
10952    }
10953    function sb(a) {
10954      if (a.g.h.length == 0) return false;
10955      var b = new B(), c = fb(a.g, b);
10956      if (c == 0) return false;
10957      C(a.g);
10958      a.g.g(b.toString());
10959      b = R(c);
10960      "001" == b ? a.l = S(a.ha, "" + c) : b != a.la && (a.l = kb(a, b));
10961      a.h.g("" + c).g(" ");
10962      a.o = "";
10963      return true;
10964    }
10965    function wb(a, b) {
10966      var c = a.$.toString();
10967      if (c.substring(a.ba).search(a.ga) >= 0) {
10968        var d = c.search(a.ga);
10969        b = c.replace(a.ga, b);
10970        C(a.$);
10971        a.$.g(b);
10972        a.ba = d;
10973        return b.substring(0, a.ba + 1);
10974      }
10975      a.j.length == 1 && (a.v = false);
10976      a.ea = "";
10977      return a.u.toString();
10978    }
10979    ;
10980    const zb = {};
10981    ["E164", "INTERNATIONAL", "NATIONAL", "RFC3966"].forEach((a, b) => {
10982      zb[a] = b;
10983    });
10984    const Z = {};
10985    "FIXED_LINE MOBILE FIXED_LINE_OR_MOBILE TOLL_FREE PREMIUM_RATE SHARED_COST VOIP PERSONAL_NUMBER PAGER UAN VOICEMAIL UNKNOWN".split(" ").forEach((a, b) => {
10986      Z[a] = b;
10987    });
10988    Z.UNKNOWN = -1;
10989    const Ab = {};
10990    "IS_POSSIBLE INVALID_COUNTRY_CODE TOO_SHORT TOO_LONG IS_POSSIBLE_LOCAL_ONLY INVALID_LENGTH".split(" ").forEach((a, b) => {
10991      Ab[a] = b;
10992    });
10993    const Bb = {};
10994    Object.keys(Z).forEach((a) => {
10995      Bb[Z[a]] = a;
10996    });
10997    const Cb = {};
10998    Object.keys(Ab).forEach((a) => {
10999      Cb[Ab[a]] = a;
11000    });
11001    const Db = (a) => {
11002      const b = [];
11003      a.includes("FIXED_LINE_OR_MOBILE") ? (a.includes("MOBILE") || b.push("MOBILE"), a.includes("FIXED_LINE") || b.push("FIXED_LINE")) : (a.includes("MOBILE") || a.includes("FIXED_LINE")) && b.push("FIXED_LINE_OR_MOBILE");
11004      return a.concat(b);
11005    };
11006    m("utils", {});
11007    m("utils.formatNumberAsYouType", (a, b) => {
11008      try {
11009        const c = a.replace(/[^+0-9]/g, ""), d = new jb(b);
11010        b = "";
11011        for (let e = 0; e < c.length; e++) d.ka = qb(d, c.charAt(e)), b = d.ka;
11012        return b;
11013      } catch {
11014        return a;
11015      }
11016    });
11017    m("utils.formatNumber", (a, b, c) => {
11018      try {
11019        const e = J.g(), f = X(e, a, b);
11020        var d = W(e, f, -1);
11021        return d == 0 || d == 4 ? e.format(f, typeof c === "undefined" ? 0 : zb[c]) : a;
11022      } catch {
11023        return a;
11024      }
11025    });
11026    m("utils.getExampleNumber", (a, b, c) => {
11027      try {
11028        const l = J.g();
11029        a: {
11030          var d = l, e = Z[b];
11031          if (O(a)) {
11032            var f = T(S(d, a), e);
11033            try {
11034              if (q(f, 6)) {
11035                var g = r(f, 6);
11036                var h = ib(d, g, a, false);
11037                break a;
11038              }
11039            } catch (A) {
11040            }
11041          }
11042          h = null;
11043        }
11044        return l.format(h, zb[c]);
11045      } catch {
11046        return "";
11047      }
11048    });
11049    m("utils.getExtension", (a, b) => {
11050      try {
11051        var c = X(J.g(), a, b);
11052        return r(c, 3);
11053      } catch {
11054        return "";
11055      }
11056    });
11057    m("utils.getNumberType", (a, b) => {
11058      try {
11059        const c = J.g(), d = X(c, a, b), e = ab(c, d);
11060        return Bb[e] || null;
11061      } catch {
11062        return null;
11063      }
11064    });
11065    m("utils.getValidationError", (a, b) => {
11066      if (!b) return "INVALID_COUNTRY_CODE";
11067      try {
11068        const c = J.g(), d = X(c, a, b), e = W(c, d, -1);
11069        return Cb[e] || null;
11070      } catch (c) {
11071        return c.message === "Invalid country calling code" ? "INVALID_COUNTRY_CODE" : a.length <= 3 || c.message === "Phone number too short after IDD" || c.message === "The string supplied is too short to be a phone number" ? "TOO_SHORT" : c.message === "The string supplied is too long to be a phone number" ? "TOO_LONG" : null;
11072      }
11073    });
11074    m("utils.isValidNumber", (a, b, c) => {
11075      try {
11076        const d = J.g(), e = X(d, a, b);
11077        if (c) {
11078          const f = Db(c);
11079          for (let g of f) if (W(d, e, Z[g]) === 0) return true;
11080          return false;
11081        }
11082        return W(d, e, -1) === 0;
11083      } catch {
11084        return false;
11085      }
11086    });
11087    m("utils.isValidNumberPrecise", (a, b, c) => {
11088      try {
11089        const d = J.g(), e = X(d, a, b), f = db(d, e);
11090        if (c) {
11091          const g = Db(c).map((h) => Z[h]);
11092          return f && g.includes(ab(d, e));
11093        }
11094        return f;
11095      } catch {
11096        return false;
11097      }
11098    });
11099    m("utils.getCoreNumber", (a, b) => {
11100      try {
11101        var c = X(J.g(), a, b);
11102        return r(c, 2).toString();
11103      } catch {
11104        return "";
11105      }
11106    });
11107  }).call(_scope);
11108  var utils_default = _scope.utils;
11109
11110  // packages/core/src/js/intlTelInputWithUtils.ts
11111  intlTelInput_default.utils = utils_default;
11112  var intlTelInputWithUtils_default = intlTelInput_default;
11113  return __toCommonJS(intlTelInputWithUtils_exports);
11114})();
11115var intlTelInput = _factory.default;
11116
11117var __extends = (this && this.__extends) || (function () {
11118    var extendStatics = function (d, b) {
11119        extendStatics = Object.setPrototypeOf ||
11120            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
11121            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
11122        return extendStatics(d, b);
11123    };
11124    return function (d, b) {
11125        if (typeof b !== "function" && b !== null)
11126            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11127        extendStatics(d, b);
11128        function __() { this.constructor = d; }
11129        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
11130    };
11131})();
11132var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
11133    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
11134        if (ar || !(i in from)) {
11135            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
11136            ar[i] = from[i];
11137        }
11138    }
11139    return to.concat(ar || Array.prototype.slice.call(from));
11140};
11141var __assign = (this && this.__assign) || function () {
11142    __assign = Object.assign || function(t) {
11143        for (var s, i = 1, n = arguments.length; i < n; i++) {
11144            s = arguments[i];
11145            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11146                t[p] = s[p];
11147        }
11148        return t;
11149    };
11150    return __assign.apply(this, arguments);
11151};
11152!function (e, t) {
11153    "use strict";
11154    "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function (e) { if (!e.document)
11155        throw new Error("jQuery requires a window with a document"); return t(e); } : t(e);
11156}("undefined" != typeof window ? window : this, function (C, e) {
11157    "use strict";
11158    var t = [], r = Object.getPrototypeOf, s = t.slice, g = t.flat ? function (e) { return t.flat.call(e); } : function (e) { return t.concat.apply([], e); }, u = t.push, i = t.indexOf, n = {}, o = n.toString, v = n.hasOwnProperty, a = v.toString, l = a.call(Object), y = {}, m = function (e) { return "function" == typeof e && "number" != typeof e.nodeType; }, x = function (e) { return null != e && e === e.window; }, E = C.document, c = { type: !0, src: !0, nonce: !0, noModule: !0 };
11159    function b(e, t, n) { var r, i, o = (n = n || E).createElement("script"); if (o.text = e, t)
11160        for (r in c)
11161            (i = t[r] || t.getAttribute && t.getAttribute(r)) && o.setAttribute(r, i); n.head.appendChild(o).parentNode.removeChild(o); }
11162    function w(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? n[o.call(e)] || "object" : typeof e; }
11163    var f = "3.5.0", S = function (e, t) { return new S.fn.init(e, t); };
11164    function p(e) { var t = !!e && "length" in e && e.length, n = w(e); return !m(e) && !x(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e); }
11165    S.fn = S.prototype = { jquery: f, constructor: S, length: 0, toArray: function () { return s.call(this); }, get: function (e) { return null == e ? s.call(this) : e < 0 ? this[e + this.length] : this[e]; }, pushStack: function (e) { var t = S.merge(this.constructor(), e); return t.prevObject = this, t; }, each: function (e) { return S.each(this, e); }, map: function (n) { return this.pushStack(S.map(this, function (e, t) { return n.call(e, t, e); })); }, slice: function () { return this.pushStack(s.apply(this, arguments)); }, first: function () { return this.eq(0); }, last: function () { return this.eq(-1); }, even: function () { return this.pushStack(S.grep(this, function (e, t) { return (t + 1) % 2; })); }, odd: function () { return this.pushStack(S.grep(this, function (e, t) { return t % 2; })); }, eq: function (e) { var t = this.length, n = +e + (e < 0 ? t : 0); return this.pushStack(0 <= n && n < t ? [this[n]] : []); }, end: function () { return this.prevObject || this.constructor(); }, push: u, sort: t.sort, splice: t.splice }, S.extend = S.fn.extend = function () { var e, t, n, r, i, o, a = arguments[0] || {}, s = 1, u = arguments.length, l = !1; for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || m(a) || (a = {}), s === u && (a = this, s--); s < u; s++)
11166        if (null != (e = arguments[s]))
11167            for (t in e)
11168                r = e[t], "__proto__" !== t && a !== r && (l && r && (S.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || S.isPlainObject(n) ? n : {}, i = !1, a[t] = S.extend(l, o, r)) : void 0 !== r && (a[t] = r)); return a; }, S.extend({ expando: "jQuery" + (f + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (e) { throw new Error(e); }, noop: function () { }, isPlainObject: function (e) { var t, n; return !(!e || "[object Object]" !== o.call(e)) && (!(t = r(e)) || "function" == typeof (n = v.call(t, "constructor") && t.constructor) && a.call(n) === l); }, isEmptyObject: function (e) { var t; for (t in e)
11169            return !1; return !0; }, globalEval: function (e, t, n) { b(e, { nonce: t && t.nonce }, n); }, each: function (e, t) { var n, r = 0; if (p(e)) {
11170            for (n = e.length; r < n; r++)
11171                if (!1 === t.call(e[r], r, e[r]))
11172                    break;
11173        }
11174        else
11175            for (r in e)
11176                if (!1 === t.call(e[r], r, e[r]))
11177                    break; return e; }, makeArray: function (e, t) { var n = t || []; return null != e && (p(Object(e)) ? S.merge(n, "string" == typeof e ? [e] : e) : u.call(n, e)), n; }, inArray: function (e, t, n) { return null == t ? -1 : i.call(t, e, n); }, merge: function (e, t) { for (var n = +t.length, r = 0, i = e.length; r < n; r++)
11178            e[i++] = t[r]; return e.length = i, e; }, grep: function (e, t, n) { for (var r = [], i = 0, o = e.length, a = !n; i < o; i++)
11179            !t(e[i], i) !== a && r.push(e[i]); return r; }, map: function (e, t, n) { var r, i, o = 0, a = []; if (p(e))
11180            for (r = e.length; o < r; o++)
11181                null != (i = t(e[o], o, n)) && a.push(i);
11182        else
11183            for (o in e)
11184                null != (i = t(e[o], o, n)) && a.push(i); return g(a); }, guid: 1, support: y }), "function" == typeof Symbol && (S.fn[Symbol.iterator] = t[Symbol.iterator]), S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) { n["[object " + t + "]"] = t.toLowerCase(); });
11185    var d = function (n) { var e, d, b, o, i, h, f, g, w, u, l, T, C, a, E, v, s, c, y, S = "sizzle" + 1 * new Date, p = n.document, k = 0, r = 0, m = ue(), x = ue(), A = ue(), N = ue(), D = function (e, t) { return e === t && (l = !0), 0; }, j = {}.hasOwnProperty, t = [], q = t.pop, L = t.push, H = t.push, O = t.slice, P = function (e, t) { for (var n = 0, r = e.length; n < r; n++)
11186        if (e[n] === t)
11187            return n; return -1; }, R = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", M = "[\\x20\\t\\r\\n\\f]", I = "(?:\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", W = "\\[" + M + "*(" + I + ")(?:" + M + "*([*^$|!~]?=)" + M + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + I + "))|)" + M + "*\\]", F = ":(" + I + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + W + ")*)|.*)\\)|)", B = new RegExp(M + "+", "g"), $ = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"), _ = new RegExp("^" + M + "*," + M + "*"), z = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"), U = new RegExp(M + "|>"), X = new RegExp(F), V = new RegExp("^" + I + "$"), G = { ID: new RegExp("^#(" + I + ")"), CLASS: new RegExp("^\\.(" + I + ")"), TAG: new RegExp("^(" + I + "|[*])"), ATTR: new RegExp("^" + W), PSEUDO: new RegExp("^" + F), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + M + "*(even|odd|(([+-]|)(\\d*)n|)" + M + "*(?:([+-]|)" + M + "*(\\d+)|))" + M + "*\\)|)", "i"), bool: new RegExp("^(?:" + R + ")$", "i"), needsContext: new RegExp("^" + M + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + M + "*((?:-\\d)?\\d*)" + M + "*\\)|)(?=[^-]|$)", "i") }, Y = /HTML$/i, Q = /^(?:input|select|textarea|button)$/i, J = /^h\d$/i, K = /^[^{]+\{\s*\[native \w/, Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ee = /[+~]/, te = new RegExp("\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\([^\\r\\n\\f])", "g"), ne = function (e, t) { var n = "0x" + e.slice(1) - 65536; return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320)); }, re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, ie = function (e, t) { return t ? "\0" === e ? "\ufffd" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e; }, oe = function () { T(); }, ae = be(function (e) { return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase(); }, { dir: "parentNode", next: "legend" }); try {
11188        H.apply(t = O.call(p.childNodes), p.childNodes), t[p.childNodes.length].nodeType;
11189    }
11190    catch (e) {
11191        H = { apply: t.length ? function (e, t) { L.apply(e, O.call(t)); } : function (e, t) { var n = e.length, r = 0; while (e[n++] = t[r++])
11192                ; e.length = n - 1; } };
11193    } function se(t, e, n, r) { var i, o, a, s, u, l, c, f = e && e.ownerDocument, p = e ? e.nodeType : 9; if (n = n || [], "string" != typeof t || !t || 1 !== p && 9 !== p && 11 !== p)
11194        return n; if (!r && (T(e), e = e || C, E)) {
11195        if (11 !== p && (u = Z.exec(t)))
11196            if (i = u[1]) {
11197                if (9 === p) {
11198                    if (!(a = e.getElementById(i)))
11199                        return n;
11200                    if (a.id === i)
11201                        return n.push(a), n;
11202                }
11203                else if (f && (a = f.getElementById(i)) && y(e, a) && a.id === i)
11204                    return n.push(a), n;
11205            }
11206            else {
11207                if (u[2])
11208                    return H.apply(n, e.getElementsByTagName(t)), n;
11209                if ((i = u[3]) && d.getElementsByClassName && e.getElementsByClassName)
11210                    return H.apply(n, e.getElementsByClassName(i)), n;
11211            }
11212        if (d.qsa && !N[t + " "] && (!v || !v.test(t)) && (1 !== p || "object" !== e.nodeName.toLowerCase())) {
11213            if (c = t, f = e, 1 === p && (U.test(t) || z.test(t))) {
11214                (f = ee.test(t) && ye(e.parentNode) || e) === e && d.scope || ((s = e.getAttribute("id")) ? s = s.replace(re, ie) : e.setAttribute("id", s = S)), o = (l = h(t)).length;
11215                while (o--)
11216                    l[o] = (s ? "#" + s : ":scope") + " " + xe(l[o]);
11217                c = l.join(",");
11218            }
11219            try {
11220                return H.apply(n, f.querySelectorAll(c)), n;
11221            }
11222            catch (e) {
11223                N(t, !0);
11224            }
11225            finally {
11226                s === S && e.removeAttribute("id");
11227            }
11228        }
11229    } return g(t.replace($, "$1"), e, n, r); } function ue() { var r = []; return function e(t, n) { return r.push(t + " ") > b.cacheLength && delete e[r.shift()], e[t + " "] = n; }; } function le(e) { return e[S] = !0, e; } function ce(e) { var t = C.createElement("fieldset"); try {
11230        return !!e(t);
11231    }
11232    catch (e) {
11233        return !1;
11234    }
11235    finally {
11236        t.parentNode && t.parentNode.removeChild(t), t = null;
11237    } } function fe(e, t) { var n = e.split("|"), r = n.length; while (r--)
11238        b.attrHandle[n[r]] = t; } function pe(e, t) { var n = t && e, r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex; if (r)
11239        return r; if (n)
11240        while (n = n.nextSibling)
11241            if (n === t)
11242                return -1; return e ? 1 : -1; } function de(t) { return function (e) { return "input" === e.nodeName.toLowerCase() && e.type === t; }; } function he(n) { return function (e) { var t = e.nodeName.toLowerCase(); return ("input" === t || "button" === t) && e.type === n; }; } function ge(t) { return function (e) { return "form" in e ? e.parentNode && !1 === e.disabled ? "label" in e ? "label" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && ae(e) === t : e.disabled === t : "label" in e && e.disabled === t; }; } function ve(a) { return le(function (o) { return o = +o, le(function (e, t) { var n, r = a([], e.length, o), i = r.length; while (i--)
11243        e[n = r[i]] && (e[n] = !(t[n] = e[n])); }); }); } function ye(e) { return e && "undefined" != typeof e.getElementsByTagName && e; } for (e in d = se.support = {}, i = se.isXML = function (e) { var t = e.namespaceURI, n = (e.ownerDocument || e).documentElement; return !Y.test(t || n && n.nodeName || "HTML"); }, T = se.setDocument = function (e) { var t, n, r = e ? e.ownerDocument || e : p; return r != C && 9 === r.nodeType && r.documentElement && (a = (C = r).documentElement, E = !i(C), p != C && (n = C.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", oe, !1) : n.attachEvent && n.attachEvent("onunload", oe)), d.scope = ce(function (e) { return a.appendChild(e).appendChild(C.createElement("div")), "undefined" != typeof e.querySelectorAll && !e.querySelectorAll(":scope fieldset div").length; }), d.attributes = ce(function (e) { return e.className = "i", !e.getAttribute("className"); }), d.getElementsByTagName = ce(function (e) { return e.appendChild(C.createComment("")), !e.getElementsByTagName("*").length; }), d.getElementsByClassName = K.test(C.getElementsByClassName), d.getById = ce(function (e) { return a.appendChild(e).id = S, !C.getElementsByName || !C.getElementsByName(S).length; }), d.getById ? (b.filter.ID = function (e) { var t = e.replace(te, ne); return function (e) { return e.getAttribute("id") === t; }; }, b.find.ID = function (e, t) { if ("undefined" != typeof t.getElementById && E) {
11244        var n = t.getElementById(e);
11245        return n ? [n] : [];
11246    } }) : (b.filter.ID = function (e) { var n = e.replace(te, ne); return function (e) { var t = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id"); return t && t.value === n; }; }, b.find.ID = function (e, t) { if ("undefined" != typeof t.getElementById && E) {
11247        var n, r, i, o = t.getElementById(e);
11248        if (o) {
11249            if ((n = o.getAttributeNode("id")) && n.value === e)
11250                return [o];
11251            i = t.getElementsByName(e), r = 0;
11252            while (o = i[r++])
11253                if ((n = o.getAttributeNode("id")) && n.value === e)
11254                    return [o];
11255        }
11256        return [];
11257    } }), b.find.TAG = d.getElementsByTagName ? function (e, t) { return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : d.qsa ? t.querySelectorAll(e) : void 0; } : function (e, t) { var n, r = [], i = 0, o = t.getElementsByTagName(e); if ("*" === e) {
11258        while (n = o[i++])
11259            1 === n.nodeType && r.push(n);
11260        return r;
11261    } return o; }, b.find.CLASS = d.getElementsByClassName && function (e, t) { if ("undefined" != typeof t.getElementsByClassName && E)
11262        return t.getElementsByClassName(e); }
11262, s = [], v = [], (d.qsa = K.test(C.querySelectorAll)) && (ce(function (e) { var t; a.appendChild(e).innerHTML = "<a id='" + S + "'></a><select id='" + S + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && v.push("[*^$]=" + M + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || v.push("\\[" + M + "*(?:value|" + R + ")"), e.querySelectorAll("[id~=" + S + "-]").length || v.push("~="), (t = C.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || v.push("\\[" + M + "*name" + M + "*=" + M + "*(?:''|\"\")"), e.querySelectorAll(":checked").length || v.push(":checked"), e.querySelectorAll("a#" + S + "+*").length || v.push(".#.+[+~]"), e.querySelectorAll("\\\f"), v.push("[\\r\\n\\f]"); }), ce(function (e) { e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>"; var t = C.createElement("input"); t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && v.push("name" + M + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && v.push(":enabled", ":disabled"), a.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && v.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), v.push(",.*:"); })), (d.matchesSelector = K.test(c = a.matches || a.webkitMatchesSelector || a.mozMatchesSelector || a.oMatchesSelector || a.msMatchesSelector)) && ce(function (e) { d.disconnectedMatch = c.call(e, "*"), c.call(e, "[s!='']:x"), s.push("!=", F); }), v = v.length && new RegExp(v.join("|")), s = s.length && new RegExp(s.join("|")), t = K.test(a.compareDocumentPosition), y = t || K.test(a.contains) ? function (e, t) { var n = 9 === e.nodeType ? e.documentElement : e, r = t && t.parentNode; return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))); } : function (e, t) { if (t)
11263        while (t = t.parentNode)
11264            if (t === e)
11265                return !0; return !1; }, D = t ? function (e, t) { if (e === t)
11266        return l = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !d.sortDetached && t.compareDocumentPosition(e) === n ? e == C || e.ownerDocument == p && y(p, e) ? -1 : t == C || t.ownerDocument == p && y(p, t) ? 1 : u ? P(u, e) - P(u, t) : 0 : 4 & n ? -1 : 1); } : function (e, t) { if (e === t)
11267        return l = !0, 0; var n, r = 0, i = e.parentNode, o = t.parentNode, a = [e], s = [t]; if (!i || !o)
11268        return e == C ? -1 : t == C ? 1 : i ? -1 : o ? 1 : u ? P(u, e) - P(u, t) : 0; if (i === o)
11269        return pe(e, t); n = e; while (n = n.parentNode)
11270        a.unshift(n); n = t; while (n = n.parentNode)
11271        s.unshift(n); while (a[r] === s[r])
11272        r++; return r ? pe(a[r], s[r]) : a[r] == p ? -1 : s[r] == p ? 1 : 0; }), C; }, se.matches = function (e, t) { return se(e, null, null, t); }, se.matchesSelector = function (e, t) { if (T(e), d.matchesSelector && E && !N[t + " "] && (!s || !s.test(t)) && (!v || !v.test(t)))
11273        try {
11274            var n = c.call(e, t);
11275            if (n || d.disconnectedMatch || e.document && 11 !== e.document.nodeType)
11276                return n;
11277        }
11278        catch (e) {
11279            N(t, !0);
11280        } return 0 < se(t, C, null, [e]).length; }, se.contains = function (e, t) { return (e.ownerDocument || e) != C && T(e), y(e, t); }, se.attr = function (e, t) { (e.ownerDocument || e) != C && T(e); var n = b.attrHandle[t.toLowerCase()], r = n && j.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !E) : void 0; return void 0 !== r ? r : d.attributes || !E ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null; }, se.escape = function (e) { return (e + "").replace(re, ie); }, se.error = function (e) { throw new Error("Syntax error, unrecognized expression: " + e); }, se.uniqueSort = function (e) { var t, n = [], r = 0, i = 0; if (l = !d.detectDuplicates, u = !d.sortStable && e.slice(0), e.sort(D), l) {
11281        while (t = e[i++])
11282            t === e[i] && (r = n.push(i));
11283        while (r--)
11284            e.splice(n[r], 1);
11285    } return u = null, e; }, o = se.getText = function (e) { var t, n = "", r = 0, i = e.nodeType; if (i) {
11286        if (1 === i || 9 === i || 11 === i) {
11287            if ("string" == typeof e.textContent)
11288                return e.textContent;
11289            for (e = e.firstChild; e; e = e.nextSibling)
11290                n += o(e);
11291        }
11292        else if (3 === i || 4 === i)
11293            return e.nodeValue;
11294    }
11295    else
11296        while (t = e[r++])
11297            n += o(t); return n; }, (b = se.selectors = { cacheLength: 50, createPseudo: le, match: G, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (e) { return e[1] = e[1].replace(te, ne), e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4); }, CHILD: function (e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || se.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && se.error(e[0]), e; }, PSEUDO: function (e) { var t, n = !e[6] && e[2]; return G.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.test(n) && (t = h(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)); } }, filter: { TAG: function (e) { var t = e.replace(te, ne).toLowerCase(); return "*" === e ? function () { return !0; } : function (e) { return e.nodeName && e.nodeName.toLowerCase() === t; }; }, CLASS: function (e) { var t = m[e + " "]; return t || (t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && m(e, function (e) { return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || ""); }); }, ATTR: function (n, r, i) { return function (e) { var t = se.attr(e, n); return null == t ? "!=" === r : !r || (t += "", "=" === r ? t === i : "!=" === r ? t !== i : "^=" === r ? i && 0 === t.indexOf(i) : "*=" === r ? i && -1 < t.indexOf(i) : "$=" === r ? i && t.slice(-i.length) === i : "~=" === r ? -1 < (" " + t.replace(B, " ") + " ").indexOf(i) : "|=" === r && (t === i || t.slice(0, i.length + 1) === i + "-")); }; }, CHILD: function (h, e, t, g, v) { var y = "nth" !== h.slice(0, 3), m = "last" !== h.slice(-4), x = "of-type" === e; return 1 === g && 0 === v ? function (e) { return !!e.parentNode; } : function (e, t, n) { var r, i, o, a, s, u, l = y !== m ? "nextSibling" : "previousSibling", c = e.parentNode, f = x && e.nodeName.toLowerCase(), p = !n && !x, d = !1; if (c) {
11298                if (y) {
11299                    while (l) {
11300                        a = e;
11301                        while (a = a[l])
11302                            if (x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType)
11303                                return !1;
11304                        u = l = "only" === h && !u && "nextSibling";
11305                    }
11306                    return !0;
11307                }
11308                if (u = [m ? c.firstChild : c.lastChild], m && p) {
11309                    d = (s = (r = (i = (o = (a = c)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]) && r[2], a = s && c.childNodes[s];
11310                    while (a = ++s && a && a[l] || (d = s = 0) || u.pop())
11311                        if (1 === a.nodeType && ++d && a === e) {
11312                            i[h] = [k, s, d];
11313                            break;
11314                        }
11315                }
11316                else if (p && (d = s = (r = (i = (o = (a = e)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]), !1 === d)
11317                    while (a = ++s && a && a[l] || (d = s = 0) || u.pop())
11318                        if ((x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) && ++d && (p && ((i = (o = a[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] = [k, d]), a === e))
11319                            break;
11320                return (d -= v) === g || d % g == 0 && 0 <= d / g;
11321            } }; }, PSEUDO: function (e, o) { var t, a = b.pseudos[e] || b.setFilters[e.toLowerCase()] || se.error("unsupported pseudo: " + e); return a[S] ? a(o) : 1 < a.length ? (t = [e, e, "", o], b.setFilters.hasOwnProperty(e.toLowerCase()) ? le(function (e, t) { var n, r = a(e, o), i = r.length; while (i--)
11322                e[n = P(e, r[i])] = !(t[n] = r[i]); }) : function (e) { return a(e, 0, t); }) : a; } }, pseudos: { not: le(function (e) { var r = [], i = [], s = f(e.replace($, "$1")); return s[S] ? le(function (e, t, n, r) { var i, o = s(e, null, r, []), a = e.length; while (a--)
11323                (i = o[a]) && (e[a] = !(t[a] = i)); }) : function (e, t, n) { return r[0] = e, s(r, null, n, i), r[0] = null, !i.pop(); }; }), has: le(function (t) { return function (e) { return 0 < se(t, e).length; }; }), contains: le(function (t) { return t = t.replace(te, ne), function (e) { return -1 < (e.textContent || o(e)).indexOf(t); }; }), lang: le(function (n) { return V.test(n || "") || se.error("unsupported lang: " + n), n = n.replace(te, ne).toLowerCase(), function (e) { var t; do {
11324                if (t = E ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang"))
11325                    return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-");
11326            } while ((e = e.parentNode) && 1 === e.nodeType); return !1; }; }), target: function (e) { var t = n.location && n.location.hash; return t && t.slice(1) === e.id; }, root: function (e) { return e === a; }, focus: function (e) { return e === C.activeElement && (!C.hasFocus || C.hasFocus()) && !!(e.type || e.href || ~e.tabIndex); }, enabled: ge(!1), disabled: ge(!0), checked: function (e) { var t = e.nodeName.toLowerCase(); return "input" === t && !!e.checked || "option" === t && !!e.selected; }, selected: function (e) { return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected; }, empty: function (e) { for (e = e.firstChild; e; e = e.nextSibling)
11327                if (e.nodeType < 6)
11328                    return !1; return !0; }, parent: function (e) { return !b.pseudos.empty(e); }, header: function (e) { return J.test(e.nodeName); }
11328, input: function (e) { return Q.test(e.nodeName); }, button: function (e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t; }, text: function (e) { var t; return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()); }, first: ve(function () { return [0]; }), last: ve(function (e, t) { return [t - 1]; }), eq: ve(function (e, t, n) { return [n < 0 ? n + t : n]; }), even: ve(function (e, t) { for (var n = 0; n < t; n += 2)
11329                e.push(n); return e; }), odd: ve(function (e, t) { for (var n = 1; n < t; n += 2)
11330                e.push(n); return e; }), lt: ve(function (e, t, n) { for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r;)
11331                e.push(r); return e; }), gt: ve(function (e, t, n) { for (var r = n < 0 ? n + t : n; ++r < t;)
11332                e.push(r); return e; }) } }).pseudos.nth = b.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 })
11333        b.pseudos[e] = de(e); for (e in { submit: !0, reset: !0 })
11334        b.pseudos[e] = he(e); function me() { } function xe(e) { for (var t = 0, n = e.length, r = ""; t < n; t++)
11335        r += e[t].value; return r; } function be(s, e, t) { var u = e.dir, l = e.next, c = l || u, f = t && "parentNode" === c, p = r++; return e.first ? function (e, t, n) { while (e = e[u])
11336        if (1 === e.nodeType || f)
11337            return s(e, t, n); return !1; } : function (e, t, n) { var r, i, o, a = [k, p]; if (n) {
11338        while (e = e[u])
11339            if ((1 === e.nodeType || f) && s(e, t, n))
11340                return !0;
11341    }
11342    else
11343        while (e = e[u])
11344            if (1 === e.nodeType || f)
11345                if (i = (o = e[S] || (e[S] = {}))[e.uniqueID] || (o[e.uniqueID] = {}), l && l === e.nodeName.toLowerCase())
11346                    e = e[u] || e;
11347                else {
11348                    if ((r = i[c]) && r[0] === k && r[1] === p)
11349                        return a[2] = r[2];
11350                    if ((i[c] = a)[2] = s(e, t, n))
11351                        return !0;
11352                } return !1; }; } function we(i) { return 1 < i.length ? function (e, t, n) { var r = i.length; while (r--)
11353        if (!i[r](e, t, n))
11354            return !1; return !0; } : i[0]; } function Te(e, t, n, r, i) { for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)
11355        (o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s))); return a; } function Ce(d, h, g, v, y, e) { return v && !v[S] && (v = Ce(v)), y && !y[S] && (y = Ce(y, e)), le(function (e, t, n, r) { var i, o, a, s = [], u = [], l = t.length, c = e || function (e, t, n) { for (var r = 0, i = t.length; r < i; r++)
11356        se(e, t[r], n); return n; }(h || "*", n.nodeType ? [n] : n, []), f = !d || !e && h ? c : Te(c, s, d, n, r), p = g ? y || (e ? d : l || v) ? [] : t : f; if (g && g(f, p, n, r), v) {
11357        i = Te(p, u), v(i, [], n, r), o = i.length;
11358        while (o--)
11359            (a = i[o]) && (p[u[o]] = !(f[u[o]] = a));
11360    } if (e) {
11361        if (y || d) {
11362            if (y) {
11363                i = [], o = p.length;
11364                while (o--)
11365                    (a = p[o]) && i.push(f[o] = a);
11366                y(null, p = [], i, r);
11367            }
11368            o = p.length;
11369            while (o--)
11370                (a = p[o]) && -1 < (i = y ? P(e, a) : s[o]) && (e[i] = !(t[i] = a));
11371        }
11372    }
11373    else
11374        p = Te(p === t ? p.splice(l, p.length) : p), y ? y(null, t, p, r) : H.apply(t, p); }); } function Ee(e) { for (var i, t, n, r = e.length, o = b.relative[e[0].type], a = o || b.relative[" "], s = o ? 1 : 0, u = be(function (e) { return e === i; }, a, !0), l = be(function (e) { return -1 < P(i, e); }, a, !0), c = [function (e, t, n) { var r = !o && (n || t !== w) || ((i = t).nodeType ? u(e, t, n) : l(e, t, n)); return i = null, r; }]; s < r; s++)
11375        if (t = b.relative[e[s].type])
11376            c = [be(we(c), t)];
11377        else {
11378            if ((t = b.filter[e[s].type].apply(null, e[s].matches))[S]) {
11379                for (n = ++s; n < r; n++)
11380                    if (b.relative[e[n].type])
11381                        break;
11382                return Ce(1 < s && we(c), 1 < s && xe(e.slice(0, s - 1).concat({ value: " " === e[s - 2].type ? "*" : "" })).replace($, "$1"), t, s < n && Ee(e.slice(s, n)), n < r && Ee(e = e.slice(n)), n < r && xe(e));
11383            }
11384            c.push(t);
11385        } return we(c); } return me.prototype = b.filters = b.pseudos, b.setFilters = new me, h = se.tokenize = function (e, t) { var n, r, i, o, a, s, u, l = x[e + " "]; if (l)
11386        return t ? 0 : l.slice(0); a = e, s = [], u = b.preFilter; while (a) {
11387        for (o in n && !(r = _.exec(a)) || (r && (a = a.slice(r[0].length) || a), s.push(i = [])), n = !1, (r = z.exec(a)) && (n = r.shift(), i.push({ value: n, type: r[0].replace($, " ") }), a = a.slice(n.length)), b.filter)
11388            !(r = G[o].exec(a)) || u[o] && !(r = u[o](r)) || (n = r.shift(), i.push({ value: n, type: o, matches: r }), a = a.slice(n.length));
11389        if (!n)
11390            break;
11391    } return t ? a.length : a ? se.error(e) : x(e, s).slice(0); }, f = se.compile = function (e, t) { var n, v, y, m, x, r, i = [], o = [], a = A[e + " "]; if (!a) {
11392        t || (t = h(e)), n = t.length;
11393        while (n--)
11394            (a = Ee(t[n]))[S] ? i.push(a) : o.push(a);
11395        (a = A(e, (v = o, m = 0 < (y = i).length, x = 0 < v.length, r = function (e, t, n, r, i) { var o, a, s, u = 0, l = "0", c = e && [], f = [], p 
11395= w, d = e || x && b.find.TAG("*", i), h = k += null == p ? 1 : Math.random() || .1, g = d.length; for (i && (w = t == C || t || i); l !== g && null != (o = d[l]); l++) {
11396            if (x && o) {
11397                a = 0, t || o.ownerDocument == C || (T(o), n = !E);
11398                while (s = v[a++])
11399                    if (s(o, t || C, n)) {
11400                        r.push(o);
11401                        break;
11402                    }
11403                i && (k = h);
11404            }
11405            m && ((o = !s && o) && u--, e && c.push(o));
11406        } if (u += l, m && l !== u) {
11407            a = 0;
11408            while (s = y[a++])
11409                s(c, f, t, n);
11410            if (e) {
11411                if (0 < u)
11412                    while (l--)
11413                        c[l] || f[l] || (f[l] = q.call(r));
11414                f = Te(f);
11415            }
11416            H.apply(r, f), i && !e && 0 < f.length && 1 < u + y.length && se.uniqueSort(r);
11417        } return i && (k = h, w = p), c; }, m ? le(r) : r))).selector = e;
11418    } return a; }, g = se.select = function (e, t, n, r) { var i, o, a, s, u, l = "function" == typeof e && e, c = !r && h(e = l.selector || e); if (n = n || [], 1 === c.length) {
11419        if (2 < (o = c[0] = c[0].slice(0)).length && "ID" === (a = o[0]).type && 9 === t.nodeType && E && b.relative[o[1].type]) {
11420            if (!(t = (b.find.ID(a.matches[0].replace(te, ne), t) || [])[0]))
11421                return n;
11422            l && (t = t.parentNode), e = e.slice(o.shift().value.length);
11423        }
11424        i = G.needsContext.test(e) ? 0 : o.length;
11425        while (i--) {
11426            if (a = o[i], b.relative[s = a.type])
11427                break;
11428            if ((u = b.find[s]) && (r = u(a.matches[0].replace(te, ne), ee.test(o[0].type) && ye(t.parentNode) || t))) {
11429                if (o.splice(i, 1), !(e = r.length && xe(o)))
11430                    return H.apply(n, r), n;
11431                break;
11432            }
11433        }
11434    } return (l || f(e, c))(r, t, !E, n, !t || ee.test(e) && ye(t.parentNode) || t), n; }, d.sortStable = S.split("").sort(D).join("") === S, d.detectDuplicates = !!l, T(), d.sortDetached = ce(function (e) { return 1 & e.compareDocumentPosition(C.createElement("fieldset")); }), ce(function (e) { return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href"); }) || fe("type|href|height|width", function (e, t, n) { if (!n)
11435        return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2); }), d.attributes && ce(function (e) { return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value"); }) || fe("value", function (e, t, n) { if (!n && "input" === e.nodeName.toLowerCase())
11436        return e.defaultValue; }), ce(function (e) { return null == e.getAttribute("disabled"); }) || fe(R, function (e, t, n) { var r; if (!n)
11437        return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null; }), se; }(C);
11438    S.find = d, S.expr = d.selectors, S.expr[":"] = S.expr.pseudos, S.uniqueSort = S.unique = d.uniqueSort, S.text = d.getText, S.isXMLDoc = d.isXML, S.contains = d.contains, S.escapeSelector = d.escape;
11439    var h = function (e, t, n) { var r = [], i = void 0 !== n; while ((e = e[t]) && 9 !== e.nodeType)
11440        if (1 === e.nodeType) {
11441            if (i && S(e).is(n))
11442                break;
11443            r.push(e);
11444        } return r; }, T = function (e, t) { for (var n = []; e; e = e.nextSibling)
11445        1 === e.nodeType && e !== t && n.push(e); return n; }, k = S.expr.match.needsContext;
11446    function A(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); }
11447    var N = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
11448    function D(e, n, r) { return m(n) ? S.grep(e, function (e, t) { return !!n.call(e, t, e) !== r; }) : n.nodeType ? S.grep(e, function (e) { return e === n !== r; }) : "string" != typeof n ? S.grep(e, function (e) { return -1 < i.call(n, e) !== r; }) : S.filter(n, e, r); }
11449    S.filter = function (e, t, n) { var r = t[0]; return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? S.find.matchesSelector(r, e) ? [r] : [] : S.find.matches(e, S.grep(t, function (e) { return 1 === e.nodeType; })); }, S.fn.extend({ find: function (e) { var t, n, r = this.length, i = this; if ("string" != typeof e)
11450            return this.pushStack(S(e).filter(function () { for (t = 0; t < r; t++)
11451                if (S.contains(i[t], this))
11452                    return !0; })); for (n = this.pushStack([]), t = 0; t < r; t++)
11453            S.find(e, i[t], n); return 1 < r ? S.uniqueSort(n) : n; }, filter: function (e) { return this.pushStack(D(this, e || [], !1)); }, not: function (e) { return this.pushStack(D(this, e || [], !0)); }, is: function (e) { return !!D(this, "string" == typeof e && k.test(e) ? S(e) 
11453: e || [], !1).length; } });
11454    var j, q = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
11455    (S.fn.init = function (e, t, n) { var r, i; if (!e)
11456        return this; if (n = n || j, "string" == typeof e) {
11457        if (!(r = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : q.exec(e)) || !r[1] && t)
11458            return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
11459        if (r[1]) {
11460            if (t = t instanceof S ? t[0] : t, S.merge(this, S.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : E, !0)), N.test(r[1]) && S.isPlainObject(t))
11461                for (r in t)
11462                    m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
11463            return this;
11464        }
11465        return (i = E.getElementById(r[2])) && (this[0] = i, this.length = 1), this;
11466    } return e.nodeType ? (this[0] = e, this.length = 1, this) : m(e) ? void 0 !== n.ready ? n.ready(e) : e(S) : S.makeArray(e, this); }).prototype = S.fn, j = S(E);
11467    var L = /^(?:parents|prev(?:Until|All))/, H = { children: !0, contents: !0, next: !0, prev: !0 };
11468    function O(e, t) { while ((e = e[t]) && 1 !== e.nodeType)
11469        ; return e; }
11470    S.fn.extend({ has: function (e) { var t = S(e, this), n = t.length; return this.filter(function () { for (var e = 0; e < n; e++)
11471            if (S.contains(this, t[e]))
11472                return !0; }); }, closest: function (e, t) { var n, r = 0, i = this.length, o = [], a = "string" != typeof e && S(e); if (!k.test(e))
11473            for (; r < i; r++)
11474                for (n = this[r]; n && n !== t; n = n.parentNode)
11475                    if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && S.find.matchesSelector(n, e))) {
11476                        o.push(n);
11477                        break;
11478                    } return this.pushStack(1 < o.length ? S.uniqueSort(o) : o); }, index: function (e) { return e ? "string" == typeof e ? i.call(S(e), this[0]) : i.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1; }, add: function (e, t) { return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t)))); }, addBack: function (e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)); } }), S.each({ parent: function (e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null; }, parents: function (e) { return h(e, "parentNode"); }, parentsUntil: function (e, t, n) { return h(e, "parentNode", n); }, next: function (e) { return O(e, "nextSibling"); }, prev: function (e) { return O(e, "previousSibling"); }, nextAll: function (e) { return h(e, "nextSibling"); }, prevAll: function (e) { return h(e, "previousSibling"); }, nextUntil: function (e, t, n) { return h(e, "nextSibling", n); }, prevUntil: function (e, t, n) { return h(e, "previousSibling", n); }, siblings: function (e) { return T((e.parentNode || {}).firstChild, e); }, children: function (e) { return T(e.firstChild); }, contents: function (e) { return null != e.contentDocument && r(e.contentDocument) ? e.contentDocument : (A(e, "template") && (e = e.content || e), S.merge([], e.childNodes)); } }, function (r, i) { S.fn[r] = function (e, t) { var n = S.map(this, i, e); return "Until" !== r.slice(-5) && (t = e), t && "string" == typeof t && (n = S.filter(t, n)), 1 < this.length && (H[r] || S.uniqueSort(n), L.test(r) && n.reverse()), this.pushStack(n); }; });
11479    var P = /[^\x20\t\r\n\f]+/g;
11480    function R(e) { return e; }
11481    function M(e) { throw e; }
11482    function I(e, t, n, r) { var i; try {
11483        e && m(i = e.promise) ? i.call(e).done(t).fail(n) : e && m(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r));
11484    }
11485    catch (e) {
11486        n.apply(void 0, [e]);
11487    } }
11488    S.Callbacks = function (r) { var e, n; r = "string" == typeof r ? (e = r, n = {}, S.each(e.match(P) || [], function (e, t) { n[t] = !0; }), n) : S.extend({}, r); var i, t, o, a, s = [], u = [], l = -1, c = function () { for (a = a || r.once, o = i = !0; u.length; l = -1) {
11489        t = u.shift();
11490        while (++l < s.length)
11491            !1 === s[l].apply(t[0], t[1]) && r.stopOnFalse && (l = s.length, t = !1);
11492    } r.memory || (t = !1), i = !1, a && (s = t ? [] : ""); }, f = { add: function () { return s && (t && !i && (l = s.length - 1, u.push(t)), function n(e) { S.each(e, function (e, t) { m(t) ? r.unique && f.has(t) || s.push(t) : t && t.length && "string" !== w(t) && n(t); }); }(arguments), t && !i && c()), this; }, remove: function () { return S.each(arguments, function (e, t) { var n; while (-1 < (n = S.inArray(t, s, n)))
11493            s.splice(n, 1), n <= l && l--; }), this; }, has: function (e) { return e ? -1 < S.inArray(e, s) : 0 < s.length; }, empty: function () { return s && (s = []), this; }, disable: function () { return a = u = [], s = t = "", this; }, disabled: function () { return !s; }, lock: function () { return a = u = [], t || i || (s = t = ""), this; }, locked: function () { return !!a; }, fireWith: function (e, t) { return a || (t = [e, (t = t || []).slice ? t.slice() : t], u.push(t), i || c()), this; }, fire: function () { return f.fireWith(this, arguments), this; }, fired: function () { return !!o; } }; return f; }, S.extend({ Deferred: function (e) { var o = [["notify", "progress", S.Callbacks("memory"), S.Callbacks("memory"), 2], ["resolve", "done", S.Callbacks("once memory"), S.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", S.Callbacks("once memory"), S.Callbacks("once memory"), 1, "rejected"]], i = "pending", a = { state: function () { return i; }, always: function () { return s.done(arguments).fail(arguments), this; }, "catch": function (e) { return a.then(null, e); }, pipe: function () { var i = arguments; return S.Deferred(function (r) { S.each(o, function (e, t) { var n = m(i[t[4]]) && i[t[4]]; s[t[1]](function () { var e = n && n.apply(this, arguments); e && m(e.promise) ? e.promise().progress(r.notify).done(r.resolve).fail(r.reject) : r[t[0] + "With"](this, n ? [e] : arguments); }); }), i = null; }).promise(); }, then: function (t, n, r) { var u = 0; function l(i, o, a, s) { return function () { var n = this, r = arguments, e = function () { var e, t; if (!(i < u)) {
11494                if ((e = a.apply(n, r)) === o.promise())
11495                    throw new TypeError("Thenable self-resolution");
11496                t = e && ("object" == typeof e || "function" == typeof e) && e.then, m(t) ? s ? t.call(e, l(u, o, R, s), l(u, o, M, s)) : (u++, t.call(e, l(u, o, R, s), l(u, o, M, s), l(u, o, R, o.notifyWith))) : (a !== R && (n = void 0, r = [e]), (s || o.resolveWith)(n, r));
11497            } }, t = s ? e : function () { try {
11498                e();
11499            }
11500            catch (e) {
11501                S.Deferred.exceptionHook && S.Deferred.exceptionHook(e, t.stackTrace), u <= i + 1 && (a !== M && (n = void 0, r = [e]), o.rejectWith(n, r));
11502            } }; i ? t() : (S.Deferred.getStackHook && (t.stackTrace = S.Deferred.getStackHook()), C.setTimeout(t)); }; } return S.Deferred(function (e) { o[0][3].add(l(0, e, m(r) ? r : R, e.notifyWith)), o[1][3].add(l(0, e, m(t) ? t : R)), o[2][3].add(l(0, e, m(n) ? n : M)); }).promise(); }, promise: function (e) { return null != e ? S.extend(e, a) : a; } }, s = {}; return S.each(o, function (e, t) { var n = t[2], r = t[5]; a[t[1]] = n.add, r && n.add(function () { i = r; }, o[3 - e][2].disable, o[3 - e][3].disable, o[0][2].lock, o[0][3].lock), n.add(t[3].fire), s[t[0]] = function () { return s[t[0] + "With"](this === s ? void 0 : this, arguments), this; }, s[t[0] + "With"] = n.fireWith; }), a.promise(s), e && e.call(s, s), s; }, when: function (e) { var n = arguments.length, t = n, r = Array(t), i = s.call(arguments), o = S.Deferred(), a = function (t) { return function (e) { r[t] = this, i[t] = 1 < arguments.length ? s.call(arguments) : e, --n || o.resolveWith(r, i); }; }; if (n <= 1 && (I(e, o.done(a(t)).resolve, o.reject, !n), "pending" === o.state() || m(i[t] && i[t].then)))
11503            return o.then(); while (t--)
11504            I(i[t], a(t), o.reject); return o.promise(); } });
11505    var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
11506    S.Deferred.exceptionHook = function (e, t) { C.console && C.console.warn && e && W.test(e.name) && C.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t); }, S.readyException = function (e) { C.setTimeout(function () { throw e; }); };
11507    var F = S.Deferred();
11508    function B() { E.removeEventListener("DOMContentLoaded", B), C.removeEventListener("load", B), S.ready(); }
11509    S.fn.ready = function (e) { return F.then(e)["catch"](function (e) { S.readyException(e); }), this; }, S.extend({ isReady: !1, readyWait: 1, ready: function (e) { (!0 === e ? --S.readyWait : 
11509S.isReady) || (S.isReady = !0) !== e && 0 < --S.readyWait || F.resolveWith(E, [S]); } }), S.ready.then = F.then, "complete" === E.readyState || "loading" !== E.readyState && !E.documentElement.doScroll ? C.setTimeout(S.ready) : (E.addEventListener("DOMContentLoaded", B), C.addEventListener("load", B));
11510    var $ = function (e, t, n, r, i, o, a) { var s = 0, u = e.length, l = null == n; if ("object" === w(n))
11511        for (s in i = !0, n)
11512            $(e, t, s, n[s], !0, o, a);
11513    else if (void 0 !== r && (i = !0, m(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function (e, t, n) { return l.call(S(e), n); })), t))
11514        for (; s < u; s++)
11515            t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); return i ? e : l ? t.call(e) : u ? t(e[0], n) : o; }, _ = /^-ms-/, z = /-([a-z])/g;
11516    function U(e, t) { return t.toUpperCase(); }
11517    function X(e) { return e.replace(_, "ms-").replace(z, U); }
11518    var V = function (e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType; };
11519    function G() { this.expando = S.expando + G.uid++; }
11520    G.uid = 1, G.prototype = { cache: function (e) { var t = e[this.expando]; return t || (t = Object.create(null), V(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { value: t, configurable: !0 }))), t; }, set: function (e, t, n) { var r, i = this.cache(e); if ("string" == typeof t)
11521            i[X(t)] = n;
11522        else
11523            for (r in t)
11524                i[X(r)] = t[r]; return i; }, get: function (e, t) { return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][X(t)]; }, access: function (e, t, n) { return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t); }, remove: function (e, t) { var n, r = e[this.expando]; if (void 0 !== r) {
11525            if (void 0 !== t) {
11526                n = (t = Array.isArray(t) ? t.map(X) : (t = X(t)) in r ? [t] : t.match(P) || []).length;
11527                while (n--)
11528                    delete r[t[n]];
11529            }
11530            (void 0 === t || S.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]);
11531        } }, hasData: function (e) { var t = e[this.expando]; return void 0 !== t && !S.isEmptyObject(t); } };
11532    var Y = new G, Q = new G, J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, K = /[A-Z]/g;
11533    function Z(e, t, n) { var r, i; if (void 0 === n && 1 === e.nodeType)
11534        if (r = "data-" + t.replace(K, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(r))) {
11535            try {
11536                n = "true" === (i = n) || "false" !== i && ("null" === i ? null : i === +i + "" ? +i : J.test(i) ? JSON.parse(i) : i);
11537            }
11538            catch (e) { }
11539            Q.set(e, t, n);
11540        }
11541        else
11542            n = void 0; return n; }
11543    S.extend({ hasData: function (e) { return Q.hasData(e) || Y.hasData(e); }, data: function (e, t, n) { return Q.access(e, t, n); }, removeData: function (e, t) { Q.remove(e, t); }, _data: function (e, t, n) { return Y.access(e, t, n); }, _removeData: function (e, t) { Y.remove(e, t); } }), S.fn.extend({ data: function (n, e) { var t, r, i, o = this[0], a = o && o.attributes; if (void 0 === n) {
11544            if (this.length && (i = Q.get(o), 1 === o.nodeType && !Y.get(o, "hasDataAttrs"))) {
11545                t = a.length;
11546                while (t--)
11547                    a[t] && 0 === (r = a[t].name).indexOf("data-") && (r = X(r.slice(5)), Z(o, r, i[r]));
11548                Y.set(o, "hasDataAttrs", !0);
11549            }
11550            return i;
11551        } return "object" == typeof n ? this.each(function () { Q.set(this, n); }) : $(this, function (e) { var t; if (o && void 0 === e)
11552            return void 0 !== (t = Q.get(o, n)) ? t : void 0 !== (t = Z(o, n)) ? t : void 0; this.each(function () { Q.set(this, n, e); }); }, null, e, 1 < arguments.length, null, !0); }, removeData: function (e) { return this.each(function () { Q.remove(this, e); }); } }), S.extend({ queue: function (e, t, n) { var r; if (e)
11553            return t = (t || "fx") + "queue", r = Y.get(e, t), n && (!r || Array.isArray(n) ? r = Y.access(e, t, S.makeArray(n)) : r.push(n)), r || []; }, dequeue: function (e, t) { t = t || "fx"; var n = S.queue(e, t), r = n.length, i = n.shift(), o = S._queueHooks(e, t); "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, function () { S.dequeue(e, t); }, o)), !r && o && o.empty.fire(); }, _queueHooks: function (e, t) { var n = t + "queueHooks"; return Y.get(e, n) || Y.access(e, n, { empty: S.Callbacks("once memory").add(function () { Y.remove(e, [t + "queue", n]); }) }); } }), S.fn.extend({ queue: function (t, n) { var e = 2; return "string" != typeof t && (n = t, t = "fx", e--), arguments.length < e ? S.queue(this[0], t) : void 0 === n ? this 
11553: this.each(function () { var e = S.queue(this, t, n); S._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && S.dequeue(this, t); }); }, dequeue: function (e) { return this.each(function () { S.dequeue(this, e); }); }, clearQueue: function (e) { return this.queue(e || "fx", []); }, promise: function (e, t) { var n, r = 1, i = S.Deferred(), o = this, a = this.length, s = function () { --r || i.resolveWith(o, [o]); }; "string" != typeof e && (t = e, e = void 0), e = e || "fx"; while (a--)
11554            (n = Y.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s)); return s(), i.promise(t); } });
11555    var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, te = new RegExp("^(?:([+-])=|)(" + ee + ")([a-z%]*)$", "i"), ne = ["Top", "Right", "Bottom", "Left"], re = E.documentElement, ie = function (e) { return S.contains(e.ownerDocument, e); }, oe = { composed: !0 };
11556    re.getRootNode && (ie = function (e) { return S.contains(e.ownerDocument, e) || e.getRootNode(oe) === e.ownerDocument; });
11557    var ae = function (e, t) { return "none" === (e = t || e).style.display || "" === e.style.display && ie(e) && "none" === S.css(e, "display"); };
11558    function se(e, t, n, r) { var i, o, a = 20, s = r ? function () { return r.cur(); } : function () { return S.css(e, t, ""); }, u = s(), l = n && n[3] || (S.cssNumber[t] ? "" : "px"), c = e.nodeType && (S.cssNumber[t] || "px" !== l && +u) && te.exec(S.css(e, t)); if (c && c[3] !== l) {
11559        u /= 2, l = l || c[3], c = +u || 1;
11560        while (a--)
11561            S.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o;
11562        c *= 2, S.style(e, t, c + l), n = n || [];
11563    } return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i; }
11564    var ue = {};
11565    function le(e, t) { for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++)
11566        (r = e[c]).style && (n = r.style.display, t ? ("none" === n && (l[c] = Y.get(r, "dis
11566play") || null, l[c] || (r.style.display = "")), "" === r.style.display && ae(r) && (l[c] = (u = a = o = void 0, a = (i = r).ownerDocument, s = i.nodeName, (u = ue[s]) || (o = a.body.appendChild(a.createElement(s)), u = S.css(o, "display"), o.parentNode.removeChild(o), "none" === u && (u = "block"), ue[s] = u)))) : "none" !== n && (l[c] = "none", Y.set(r, "display", n))); for (c = 0; c < f; c++)
11567        null != l[c] && (e[c].style.display = l[c]); return e; }
11568    S.fn.extend({ show: function () { return le(this, !0); }, hide: function () { return le(this); }, toggle: function (e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () { ae(this) ? S(this).show() : S(this).hide(); }); } });
11569    var ce, fe, pe = /^(?:checkbox|radio)$/i, de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, he = /^$|^module$|\/(?:java|ecma)script/i;
11570    ce = E.createDocumentFragment().appendChild(E.createElement("div")), (fe = E.createElement("input")).setAttribute("type", "radio"), fe.setAttribute("checked", "checked"), fe.setAttribute("name", "t"), ce.appendChild(fe), y.checkClone = ce.cloneNode(!0).cloneNode(!0).lastChild.checked, ce.innerHTML = "<textarea>x</textarea>", y.noCloneChecked = !!ce.cloneNode(!0).lastChild.defaultValue, ce.innerHTML = "<option></option>", y.option = !!ce.lastChild;
11571    var ge = { thead: [1, "<table>", "</table>"], col: [2, "<table><colgroup>", "</colgroup></table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: [0, "", ""] };
11572    function ve(e, t) { var n; return n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && A(e, t) ? S.merge([e], n) : n; }
11573    function ye(e, t) { for (var n = 0, r = e.length; n < r; n++)
11574        Y.set(e[n], "globalEval", !t || Y.get(t[n], "globalEval")); }
11575    ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td, y.option || (ge.optgroup = ge.option = [1, "<select multiple='multiple'>", "</select>"]);
11576    var me = /<|&#?\w+;/;
11577    function xe(e, t, n, r, i) { for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++)
11578        if ((o = e[d]) || 0 === o)
11579            if ("object" === w(o))
11580                S.merge(p, o.nodeType ? [o] : o);
11581            else if (me.test(o)) {
11582                a = a || f.appendChild(t.createElement("div")), s = (de.exec(o) || ["", ""])[1].toLowerCase(), u = ge[s] || ge._default, a.innerHTML = u[1] + S.htmlPrefilter(o) + u[2], c = u[0];
11583                while (c--)
11584                    a = a.lastChild;
11585                S.merge(p, a.childNodes), (a = f.firstChild).textContent = "";
11586            }
11587            else
11588                p.push(t.createTextNode(o)); f.textContent = "", d = 0; while (o = p[d++])
11589        if (r && -1 < S.inArray(o, r))
11590            i && i.push(o);
11591        else if (l = ie(o), a = ve(f.appendChild(o), "script"), l && ye(a), n) {
11592            c = 0;
11593            while (o = a[c++])
11594                he.test(o.type || "") && n.push(o);
11595        } return f; }
11596    var be = /^key/, we = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, Te = /^([^.]*)(?:\.(.+)|)/;
11597    function Ce() { return !0; }
11598    function Ee() { return !1; }
11599    function Se(e, t) { return e === function () { try {
11600        return E.activeElement;
11601    }
11602    catch (e) { } }() == ("focus" === t); }
11603    function ke(e, t, n, r, i, o) { var a, s; if ("object" == typeof t) {
11604        for (s in "string" != typeof n && (r = r || n, n = void 0), t)
11605            ke(e, s, n, r, t[s], o);
11606        return e;
11607    } if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i)
11608        i = Ee;
11609    else if (!i)
11610        return e; return 1 === o && (a = i, (i = function (e) { return S().off(e), a.apply(this, arguments); }).guid = a.guid || (a.guid = S.guid++)), e.each(function () { S.event.add(this, t, i, r, n); }); }
11611    function Ae(e, i, o) { o ? (Y.set(e, i, !1), S.event.add(e, i, { namespace: !1, handler: function (e) { var t, n, r = Y.get(this, i); if (1 & e.isTrigger && this[i]) {
11612            if (r.length)
11613                (S.event.special[i] || {}).delegateType && e.stopPropagation();
11614            else if (r = s.call(arguments), Y.set(this, i, r), t = o(this, i), this[i](), r !== (n = Y.get(this, i)) || t ? Y.set(this, i, !1) : n = {}, r !== n)
11615                return e.stopImmediatePropagation(), e.preventDefault(), n.value;
11616        }
11617        else
11618            r.length && (Y.set(this, i, { value: S.event.trigger(S.extend(r[0], S.Event.prototype), r.slice(1), this) }), e.stopImmediatePropagation()); } })) : void 0 === Y.get(e, i) && S.event.add(e, i, Ce); }
11619    S.event = { global: {}, add: function (t, e, n, r, i) { var o, a, s, u, l, c, f, p, d, h, g, v = Y.get(t); if (V(t)) {
11620            n.handler && (n = (o = n).handler, i = o.selector), i && S.find.matchesSelector(re, i), n.guid || (n.guid = S.guid++), (u = v.events) || (u = v.events = Object.create(null)), (a = v.handle) || (a = v.handle = function (e) { return "undefined" != typeof S && S.event.triggered !== e.type ? S.event.dispatch.apply(t, arguments) : void 0; }), l = (e = (e || "").match(P) || [""]).length;
11621            while (l--)
11622                d = g = (s = Te.exec(e[l]) || [])[1], h = (s[2] || "").split(".").sort(), d && (f = S.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = S.event.special[d] || {}, c = S.extend({ type: d, origType: g, data: r, handler: n, guid: n.guid, selector: i, needsContext: i && S.expr.match.needsContext.test(i), namespace: h.join(".") }, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(t, r, h, a) || t.addEventListener && t.addEventListener(d, a)), f.add && (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), S.event.global[d] = !0);
11623        } }, remove: function (e, t, n, r, i) { var o, a, s, u, l, c, f, p, d, h, g, v = Y.hasData(e) && Y.get(e); if (v && (u = v.events)) {
11624            l = (t = (t || "").match(P) || [""]).length;
11625            while (l--)
11626                if (d = g = (s = Te.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d) {
11627                    f = S.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length;
11628                    while (o--)
11629                        c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c));
11630                    a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, v.handle) || S.removeEvent(e, d, v.handle), delete u[d]);
11631                }
11632                else
11633                    for (d in u)
11634                        S.event.remove(e, d + t[l], n, r, !0);
11635            S.isEmptyObject(u) && Y.remove(e, "handle events");
11636        } }, dispatch: function (e) { var t, n, r, i, o, a, s = new Array(arguments.length), u = S.event.fix(e), l = (Y.get(this, "events") || Object.create(null))[u.type] || [], c = S.event.special[u.type] || {}; for (s[0] = u, t = 1; t < arguments.length; t++)
11637            s[t] = arguments[t]; if (u.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, u)) {
11638            a = S.event.handlers.call(this, u, l), t = 0;
11639            while ((i = a[t++]) && !u.isPropagationStopped()) {
11640                u.currentTarget = i.elem, n = 0;
11641                while ((o = i.handlers[n++]) && !u.isImmediatePropagationStopped())
11642                    u.rnamespace && !1 !== o.namespace && !u.rnamespace.test(o.namespace) || (u.handleObj = o, u.data = o.data, void 0 !== (r = ((S.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s)) && !1 === (u.result = r) && (u.preventDefault(), u.stopPropagation()));
11643            }
11644            return c.postDispatch && c.postDispatch.call(this, u), u.result;
11645        } }, handlers: function (e, t) { var n, r, i, o, a, s = [], u = t.delegateCount, l = e.target; if (u && l.nodeType && !("click" === e.type && 1 <= e.button))
11646            for (; l !== this; l = l.parentNode || this)
11647                if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) {
11648                    for (o = [], a = {}, n = 0; n < u; n++)
11649                        void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? -1 < S(i, this).index(l) : S.find(i, this, null, [l]).length), a[i] && o.push(r);
11650                    o.length && s.push({ elem: l, handlers: o });
11651                } return l = this, u < t.length && s.push({ elem: l, handlers: t.slice(u) }), s; }, addProp: function (t, e) { Object.defineProperty(S.Event.prototype, t, { enumerable: !0, configurable: !0, get: m(e) ? function () { if (this.originalEvent)
11652                return e(this.originalEvent); } : function () { if (this.originalEvent)
11653                return this.originalEvent[t]; }, set: function (e) { Object.defineProperty(this, t, { enumerable: !0, configurable: !0, writable: !0, value: e }); } }); }, fix: function (e) { return e[S.expando] ? e : new S.Event(e); }, special: { load: { noBubble: !0 }, click: { setup: function (e) { var t = this || e; return pe.test(t.type) && t.click && A(t, "input") && Ae(t, "click", Ce), !1; }, trigger: function (e) { var t = this || e; return pe.test(t.type) && t.click && A(t, "input") && Ae(t, "click"), !0; }, _default: function (e) { var t = e.target; return pe.test(t.type) && t.click && A(t, "input") && Y.get(t, "click") || A(t, "a"); } }, beforeunload: { postDispatch: function (e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result); } } } }, S.removeEvent = function (e, t, n) { e.removeEventListener && e.removeEventListener(t, n); }, S.Event = function (e, t) { if (!(this instanceof S.Event))
11654        return new S.Event(e, t); e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? Ce : Ee, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && S.extend(this, t), this.timeStamp = e && e.t
11654imeStamp || Date.now(), this[S.expando] = !0; }, S.Event.prototype = { constructor: S.Event, isDefaultPrevented: Ee, isPropagationStopped: Ee, isImmediatePropagationStopped: Ee, isSimulated: !1, preventDefault: function () { var e = this.originalEvent; this.isDefaultPrevented = Ce, e && !this.isSimulated && e.preventDefault(); }, stopPropagation: function () { var e = this.originalEvent; this.isPropagationStopped = Ce, e && !this.isSimulated && e.stopPropagation(); }, stopImmediatePropagation: function () { var e = this.originalEvent; this.isImmediatePropagationStopped = Ce, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation(); } }, S.each({ altKey: !0, bubbles: !0, cancelable: !0, changedTouches: !0, ctrlKey: !0, detail: !0, eventPhase: !0, metaKey: !0, pageX: !0, pageY: !0, shiftKey: !0, view: !0, "char": !0, code: !0, charCode: !0, key: !0, keyCode: !0, button: !0, buttons: !0, clientX: !0, clientY: !0, offsetX: !0, offsetY: !0, pointerId: !0, pointerType: !0, screenX: !0, screenY: !0, targetTouches: !0, toElement: !0, touches: !0, which: function (e) { var t = e.button; return null == e.which && be.test(e.type) ? null != e.charCode ? e.charCode : e.keyCode : !e.which && void 0 !== t && we.test(e.type) ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : e.which; } }, S.event.addProp), S.each({ focus: "focusin", blur: "focusout" }, function (e, t) { S.event.special[e] = { setup: function () { return Ae(this, e, Se), !1; }, trigger: function () { return Ae(this, e), !0; }, delegateType: t }; }), S.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (e, i) { S.event.special[e] = { delegateType: i, bindType: i, handle: function (e) { var t, n = e.relatedTarget, r = e.handleObj; return n && (n === this || S.contains(this, n)) || (e.type = r.origType, t = r.handler.apply(this, arguments), e.type = i), t; } }; }), S.fn.extend({ on: function (e, t, n, r) { return ke(this, e, t, n, r); }, one: function (e, t, n, r) { return ke(this, e, t, n, r, 1); }, off: function (e, t, n) { var r, i; if (e && e.preventDefault && e.handleObj)
11655            return r = e.handleObj, S(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; if ("object" == typeof e) {
11656            for (i in e)
11657                this.off(i, t, e[i]);
11658            return this;
11659        } return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Ee), this.each(function () { S.event.remove(this, e, n, t); }); } });
11660    var Ne = /<script|<style|<link/i, De = /checked\s*(?:[^=]|=\s*.checked.)/i, je = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
11661    function qe(e, t) { return A(e, "table") && A(11 !== t.nodeType ? t : t.firstChild, "tr") && S(e).children("tbody")[0] || e; }
11662    function Le(e) { return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e; }
11663    function He(e) { return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e; }
11664    function Oe(e, t) { var n, r, i, o, a, s; if (1 === t.nodeType) {
11665        if (Y.hasData(e) && (s = Y.get(e).events))
11666            for (i in Y.remove(t, "handle events"), s)
11667                for (n = 0, r = s[i].length; n < r; n++)
11668                    S.event.add(t, i, s[i][n]);
11669        Q.hasData(e) && (o = Q.access(e), a = S.extend({}, o), Q.set(t, a));
11670    } }
11671    function Pe(n, r, i, o) { r = g(r); var e, t, a, s, u, l, c = 0, f = n.length, p = f - 1, d = r[0], h = m(d); if (h || 1 < f && "string" == typeof d && !y.checkClone && De.test(d))
11672        return n.each(function (e) { var t = n.eq(e); h && (r[0] = d.call(this, e, t.html())), Pe(t, r, i, o); }); if (f && (t = (e = xe(r, n[0].ownerDocument, !1, n, o)).firstChild, 1 === e.childNodes.length && (e = t), t || o)) {
11673        for (s = (a = S.map(ve(e, "script"), Le)).length; c < f; c++)
11674            u = e, c !== p && (u = S.clone(u, !0, !0), s && S.merge(a, ve(u, "script"))), i.call(n[c], u, c);
11675        if (s)
11676            for (l = a[a.length - 1].ownerDocument, S.map(a, He), c = 0; c < s; c++)
11677                u = a[c], he.test(u.type || "") && !Y.access(u, "globalEval") && S.contains(l, u) && (u.src && "module" !== (u.type || "").toLowerCase() ? S._evalUrl && !u.noModule && S._evalUrl(u.src, { nonce: u.nonce || u.getAttribute("nonce") }, l) : b(u.textContent.replace(je, ""), u, l));
11678    } return n; }
11679    function Re(e, t, n) { for (var r, i = t ? S.filter(t, e) : e, o = 0; null != (r = i[o]); o++)
11680        n || 1 !== r.nodeType || S.cleanData(ve(r)), r.parentNode && (n && ie(r) && ye(ve(r, "script")), r.parentNode.removeChild(r)); return e; }
11681    S.extend({ htmlPrefilter: function (e) { return e; }, clone: function (e, t, n) { var r, i, o, a, s, u, l, c = e.cloneNode(!0), f = ie(e);
11681 if (!(y.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || S.isXMLDoc(e)))
11682            for (a = ve(c), r = 0, i = (o = ve(e)).length; r < i; r++)
11683                s = o[r], u = a[r], void 0, "input" === (l = u.nodeName.toLowerCase()) && pe.test(s.type) ? u.checked = s.checked : "input" !== l && "textarea" !== l || (u.defaultValue = s.defaultValue); if (t)
11684            if (n)
11685                for (o = o || ve(e), a = a || ve(c), r = 0, i = o.length; r < i; r++)
11686                    Oe(o[r], a[r]);
11687            else
11688                Oe(e, c); return 0 < (a = ve(c, "script")).length && ye(a, !f && ve(e, "script")), c; }, cleanData: function (e) { for (var t, n, r, i = S.event.special, o = 0; void 0 !== (n = e[o]); o++)
11689            if (V(n)) {
11690                if (t = n[Y.expando]) {
11691                    if (t.events)
11692                        for (r in t.events)
11693                            i[r] ? S.event.remove(n, r) : S.removeEvent(n, r, t.handle);
11694                    n[Y.expando] = void 0;
11695                }
11696                n[Q.expando] && (n[Q.expando] = void 0);
11697            } } }), S.fn.extend({ detach: function (e) { return Re(this, e, !0); }, remove: function (e) { return Re(this, e); }, text: function (e) { return $(this, function (e) { return void 0 === e ? S.text(this) : this.empty().each(function () { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e); }); }, null, e, arguments.length); }, append: function () { return Pe(this, arguments, function (e) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || qe(this, e).appendChild(e); }); }, prepend: function () { return Pe(this, arguments, function (e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
11698            var t = qe(this, e);
11699            t.insertBefore(e, t.firstChild);
11700        } }); }, before: function () { return Pe(this, arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this); }); }, after: function () { return Pe(this, arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling); }); }, empty: function () { for (var e, t = 0; null != (e = this[t]); t++)
11701            1 === e.nodeType && (S.cleanData(ve(e, !1)), e.textContent = ""); return this; }, clone: function (e, t) { return e = null != e && e, t = null == t ? e : t, this.map(function () { return S.clone(this, e, t); }); }, html: function (e) { return $(this, function (e) { var t = this[0] || {}, n = 0, r = this.length; if (void 0 === e && 1 === t.nodeType)
11702            return t.innerHTML; if ("string" == typeof e && !Ne.test(e) && !ge[(de.exec(e) || ["", ""])[1].toLowerCase()]) {
11703            e = S.htmlPrefilter(e);
11704            try {
11705                for (; n < r; n++)
11706                    1 === (t = this[n] || {}).nodeType && (S.cleanData(ve(t, !1)), t.innerHTML = e);
11707                t = 0;
11708            }
11709            catch (e) { }
11710        } t && this.empty().append(e); }, null, e, arguments.length); }, replaceWith: function () { var n = []; return Pe(this, arguments, function (e) { var t = this.parentNode; S.inArray(this, n) < 0 && (S.cleanData(ve(this)), t && t.replaceChild(e, this)); }, n); } }), S.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (e, a) { S.fn[e] = function (e) { for (var t, n = [], r = S(e), i = r.length - 1, o = 0; o <= i; o++)
11711        t = o === i ? this : this.clone(!0), S(r[o])[a](t), u.apply(n, t.get()); return this.pushStack(n); }; });
11712    var Me = new RegExp("^(" + ee + ")(?!px)[a-z%]+$", "i"), Ie = function (e) { var t = e.ownerDocument.defaultView; return t && t.opener || (t = C), t.getComputedStyle(e); }, We = function (e, t, n) { var r, i, o = {}; for (i in t)
11713        o[i] = e.style[i], e.style[i] = t[i]; for (i in r = n.call(e), t)
11714        e.style[i] = o[i]; return r; }, Fe = new RegExp(ne.join("|"), "i");
11715    function Be(e, t, n) { var r, i, o, a, s = e.style; return (n = n || Ie(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || ie(e) || (a = S.style(e, t)), !y.pixelBoxStyles() && Me.test(a) && Fe.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + "" : a; }
11716    function $e(e, t) { return { get: function () { if (!e())
11717            return (this.get = t).apply(this, arguments); delete this.get; } }; }
11718    !function () { function e() { if (l) {
11719        u.style.cssText = "position:absolute;
11719left:-11111px;width:60px;margin-top:1px;padding:0;border:0", l.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", re.appendChild(u).appendChild(l);
11720        var e = C.getComputedStyle(l);
11721        n = "1%" !== e.top, s = 12 === t(e.marginLeft), l.style.right = "60%", o = 36 === t(e.right), r = 36 === t(e.width), l.style.position = "absolute", i = 12 === t(l.offsetWidth / 3), re.removeChild(u), l = null;
11722    } } function t(e) { return Math.round(parseFloat(e)); } var n, r, i, o, a, s, u = E.createElement("div"), l = E.createElement("div"); l.style && (l.style.backgroundClip = "content-box", l.cloneNode(!0).style.backgroundClip = "", y.clearCloneStyle = "content-box" === l.style.backgroundClip, S.extend(y, { boxSizingReliable: function () { return e(), r; }, pixelBoxStyles: function () { return e(), o; }, pixelPosition: function () { return e(), n; }, reliableMarginLeft: function () { return e(), s; }, scrollboxSize: function () { return e(), i; }, reliableTrDimensions: function () { var e, t, n, r; return null == a && (e = E.createElement("table"), t = E.createElement("tr"), n = E.createElement("div"), e.style.cssText = "position:absolute;left:-11111px", t.style.height = "1px", n.style.height = "9px", re.appendChild(e).appendChild(t).appendChild(n), r = C.getComputedStyle(t), a = 3 < parseInt(r.height), re.removeChild(e)), a; } })); }();
11723    var _e = ["Webkit", "Moz", "ms"], ze = E.createElement("div").style, Ue = {};
11724    function Xe(e) { var t = S.cssProps[e] || Ue[e]; return t || (e in ze ? e : Ue[e] = function (e) { var t = e[0].toUpperCase() + e.slice(1), n = _e.length; while (n--)
11725        if ((e = _e[n] + t) in ze)
11726            return e; }(e) || e); }
11727    var Ve = /^(none|table(?!-c[ea]).+)/, Ge = /^--/, Ye = { position: "absolute", visibility: "hidden", display: "block" }, Qe = { letterSpacing: "0", fontWeight: "400" };
11728    function Je(e, t, n) { var r = te.exec(t); return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t; }
11729    function Ke(e, t, n, r, i, o) { var a = "width" === t ? 1 : 0, s = 0, u = 0; if (n === (r ? "border" : "content"))
11730        return 0; for (; a < 4; a += 2)
11731        "margin" === n && (u += S.css(e, n + ne[a], !0, i)), r ? ("content" === n && (u -= S.css(e, "padding" + ne[a], !0, i)), "margin" !== n && (u -= S.css(e, "border" + ne[a] + "Width", !0, i))) : (u += S.css(e, "padding" + ne[a], !0, i), "padding" !== n ? u += S.css(e, "border" + ne[a] + "Width", !0, i) : s += S.css(e, "border" + ne[a] + "Width", !0, i)); return !r && 0 <= o && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5)) || 0), u; }
11732    function Ze(e, t, n) { var r = Ie(e), i = (!y.boxSizingReliable() || n) && "border-box" === S.css(e, "boxSizing", !1, r), o = i, a = Be(e, t, r), s = "offset" + t[0].toUpperCase() + t.slice(1); if (Me.test(a)) {
11733        if (!n)
11734            return a;
11735        a = "auto";
11736    } return (!y.boxSizingReliable() && i || !y.reliableTrDimensions() && A(e, "tr") || "auto" === a || !parseFloat(a) && "inline" === S.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === S.css(e, "boxSizing", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + Ke(e, t, n || (i ? "border" : "content"), o, r, a) + "px"; }
11737    function et(e, t, n, r, i) { return new et.prototype.init(e, t, n, r, i); }
11738    S.extend({ cssHooks: { opacity: { get: function (e, t) { if (t) {
11739                    var n = Be(e, "opacity");
11740                    return "" === n ? "1" : n;
11741                } } } }, cssNumber: { animationIterationCount: !0, columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, gridArea: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnStart: !0, gridRow: !0, gridRowEnd: !0, gridRowStart: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: {}, style: function (e, t, n, r) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
11742            var i, o, a, s = X(t), u = Ge.test(t), l = e.style;
11743            if (u || (t = Xe(s)), a = S.cssHooks[t] || S.cssHooks[s], void 0 === n)
11744                return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t];
11745            "string" === (o = typeof n) && (i = te.exec(n)) && i[1] && (n = se(e, t, i), o = "number"), null != n && n == n && ("number" !== o || u || (n += i && i[3] || (S.cssNumber[s] ? "" : "px")), y.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n));
11746        } }, css: function (e, t, n, r) { var i, o, a, s = X(t); return Ge.test(t) || (t = Xe(s)), (a = S.cssHooks[t] || S.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = Be(e, t, r)), "n
11746ormal" === i && t in Qe && (i = Qe[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i; } }), S.each(["height", "width"], function (e, u) { S.cssHooks[u] = { get: function (e, t, n) { if (t)
11747            return !Ve.test(S.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? Ze(e, u, n) : We(e, Ye, function () { return Ze(e, u, n); }); }, set: function (e, t, n) { var r, i = Ie(e), o = !y.scrollboxSize() && "absolute" === i.position, a = (o || n) && "border-box" === S.css(e, "boxSizing", !1, i), s = n ? Ke(e, u, n, a, i) : 0; return a && o && (s -= Math.ceil(e["offset" + u[0].toUpperCase() + u.slice(1)] - parseFloat(i[u]) - Ke(e, u, "border", !1, i) - .5)), s && (r = te.exec(t)) && "px" !== (r[3] || "px") && (e.style[u] = t, t = S.css(e, u)), Je(0, t, s); } }; }), S.cssHooks.marginLeft = $e(y.reliableMarginLeft, function (e, t) { if (t)
11748        return (parseFloat(Be(e, "marginLeft")) || e.getBoundingClientRect().left - We(e, { marginLeft: 0 }, function () { return e.getBoundingClientRect().left; })) + "px"; }), S.each({ margin: "", padding: "", border: "Width" }, function (i, o) { S.cssHooks[i + o] = { expand: function (e) { for (var t = 0, n = {}, r = "string" == typeof e ? e.split(" ") : [e]; t < 4; t++)
11749            n[i + ne[t] + o] = r[t] || r[t - 2] || r[0]; return n; } }, "margin" !== i && (S.cssHooks[i + o].set = Je); }), S.fn.extend({ css: function (e, t) { return $(this, function (e, t, n) { var r, i, o = {}, a = 0; if (Array.isArray(t)) {
11750            for (r = Ie(e), i = t.length; a < i; a++)
11751                o[t[a]] = S.css(e, t[a], !1, r);
11752            return o;
11753        } return void 0 !== n ? S.style(e, t, n) : S.css(e, t); }, e, t, 1 < arguments.length); } }), ((S.Tween = et).prototype = { constructor: et, init: function (e, t, n, r, i, o) { this.elem = e, this.prop = n, this.easing = i || S.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (S.cssNumber[n] ? "" : "px"); }, cur: function () { var e = et.propHooks[this.prop]; return e && e.get ? e.get(this) : et.propHooks._default.get(this); }, run: function (e) { var t, n = et.propHooks[this.prop]; return this.options.duration ? this.pos = t = S.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : et.propHooks._default.set(this), this; } }).init.prototype = et.prototype, (et.propHooks = { _default: { get: function (e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = S.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0; }, set: function (e) { S.fx.step[e.prop] ? S.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !S.cssHooks[e.prop] && null == e.elem.style[Xe(e.prop)] ? e.elem[e.prop] = e.now : S.style(e.elem, e.prop, e.now + e.unit); } } }).scrollTop = et.propHooks.scrollLeft = { set: function (e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now); } }, S.easing = { linear: function (e) { return e; }, swing: function (e) { return .5 - Math.cos(e * Math.PI) / 2; }, _default: "swing" }, S.fx = et.prototype.init, S.fx.step = {};
11754    var tt, nt, rt, it, ot = /^(?:toggle|show|hide)$/, at = /queueHooks$/;
11755    function st() { nt && (!1 === E.hidden && C.requestAnimationFrame ? C.requestAnimationFrame(st) : C.setTimeout(st, S.fx.interval), S.fx.tick()); }
11756    function ut() { return C.setTimeout(function () { tt = void 0; }), tt = Date.now(); }
11757    function lt(e, t) { var n, r = 0, i = { height: e }; for (t = t ? 1 : 0; r < 4; r += 2 - t)
11758        i["margin" + (n = ne[r])] = i["padding" + n] = e; return t && (i.opacity = i.width = e), i; }
11759    function ct(e, t, n) { for (var r, i = (ft.tweeners[t] || []).concat(ft.tweeners["*"]), o = 0, a = i.length; o < a; o++)
11760        if (r = i[o].call(n, t, e))
11761            return r; }
11762    function ft(o, e, t) { var n, a, r = 0, i = ft.prefilters.length, s = S.Deferred().always(function () { delete u.elem; }), u = function () { if (a)
11763        return !1; for (var e = tt || ut(), t = Math.max(0, l.startTime + l.duration - e), n = 1 - (t / l.duration || 0), r = 0, i = l.tweens.length; r < i; r++)
11764        l.tweens[r].run(n); return s.notifyWith(o, [l, n, t]), n < 1 && i ? t : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1); }, l = s.promise({ elem: o, props: S.extend({}, e), opts: S.extend(!0, { specialEasing: {}, easing: S.easing._default }, t), originalProperties: e, originalOptions: t, startTime: tt || ut(), duration: t.duration, tweens: [], createTween: function (e, t) { var n = S.Tween(o, l.opts, e, t, l.opts.specialEasing[e] || l.opts.easing); return l.tweens.push(n), n; }, stop: function (e) { var t = 0, n = e ? l.tweens.length : 0; if (a)
11765            return this; for (a = !0; t < n; t++)
11766            l.tweens[t].run(1); return e ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e])) : s.rejectWith(o, [l, e]), this; } }), c = l.props; for (!function (e, t) { var n, r, i, o, a; for (n in e)
11767        if (i = t[r = X(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = S.cssHooks[r]) && "expand" in a)
11768            for (n in o = a.expand(o), delete e[r], o)
11769                n in e || (e[n] = o[n], t[n] = i);
11770        else
11771            t[r] = i; }(c, l.opts.specialEasing); r < i; r++)
11772        if (n = ft.prefilters[r].call(l, o, c, l.opts))
11773            return m(n.stop) && (S._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)), n; return S.map(c, ct, l), m(l.opts.start) && l.opts.start.call(o, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), S.fx.timer(S.extend(u, { elem: o, anim: l, queue: l.opts.queue })), l; }
11774    S.Animation = S.extend(ft, { tweeners: { "*": [function (e, t) { var n = this.createTween(e, t); return se(n.elem, e, te.exec(t), n), n; }] }, tweener: function (e, t) { m(e) ? (t = e, e = ["*"]) : e = e.match(P); for (var n, r = 0, i = e.length; r < i; r++)
11775            n = e[r], ft.tweeners[n] = ft.tweeners[n] || [], ft.tweeners[n].unshift(t); }, prefilters: [function (e, t, n) { var r, i, o, a, s, u, l, c, f = "width" in t || "height" in t, p = this, d = {}, h = e.style, g = e.nodeType && ae(e), v = Y.get(e, "fxshow"); for (r in n.queue || (null == (a = S._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () { a.unqueued || s(); }), a.unqueued++, p.always(function () { p.always(function () { a.unqueued--, S.queue(e, "fx").length || a.empty.fire(); }); })), t)
11776                if (i = t[r], ot.test(i)) {
11777                    if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) {
11778                        if ("show" !== i || !v || void 0 === v[r])
11779                            continue;
11780                        g = !0;
11781                    }
11782                    d[r] = v && v[r] || S.style(e, r);
11783                } if ((u = !S.isEmptyObject(t)) || !S.isEmptyObject(d))
11784                for (r in f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = v && v.display) && (l = Y.get(e, "display")), "none" === (c = S.css(e, "display")) && (l ? c = l : (le([e], !0), l = e.style.display || l, c = S.css(e, "display"), le([e]))), ("inline" === c || "inline-block" === c && null != l) && "none" === S.css(e, "float") && (u || (p.done(function () { h.display = l; }), null == l && (c = h.display, l = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always(function () { h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2]; })), u = !1, d)
11785                    u || (v ? "hidden" in v && (g = v.hidden) : v = Y.access(e, "fxshow", { display: l }), o && (v.hidden = !g), g && le([e], !0), p.done(function () { for (r in g || le([e]), Y.remove(e, "fxshow"), d)
11786                        S.style(e, r, d[r]); })), u = ct(g ? v[r] : 0, r, p), r in v || (v[r] = u.start, g && (u.end = u.start, u.start = 0)); }], prefilter: function (e, t) { t ? ft.prefilters.unshift(e) : ft.prefilters.push(e); } }), S.speed = function (e, t, n) { var r = e && "object" == typeof e ? S.extend({}, e) : { complete: n || !n && t || m(e) && e, duration: e, easing: n && t || t && !m(t) && t }; return S.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in S.fx.speeds ? r.duration = S.fx.speeds[r.duration] : r.duration = S.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function () { m(r.old) && r.old.call(this), r.queue && S.dequeue(this, r.queue); }, r; }, S.fn.extend({ fadeTo: function (e, t, n, r) { return this.filter(ae).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r); }, animate: function (t, e, n, r) { var i = S.isEmptyObject(t), o = S.speed(e, n, r), a = function () { var e = ft(this, S.extend({}, t), o); (i || Y.get(this, "finish")) && e.stop(!0); }; return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a); }, stop: function (i, e, o) { var a = function (e) { var t = e.stop; delete e.stop, t(o); }; return "string" != typeof i && (o = e, e = i, i = void 0), e && this.queue(i || "fx", []), this.each(function () { var e = !0, t = null != i && i + "queueHooks", n = S.timers, r = Y.get(this); if (t)
11787            r[t] && r[t].stop && a(r[t]);
11788        else
11789            for (t in r)
11790                r[t] && r[t].stop && at.test(t) && a(r[t]); for (t = n.length; t--;)
11791            n[t].elem !== this || null != i && n[t].queue !== i || (n[t].anim.stop(o), e = !1, n.splice(t, 1)); !e && o || S.dequeue(this, i); }); }, finish: function (a) { return !1 !== a && (a = a || "fx"), this.each(function () { var e, t = Y.get(this), n = t[a + "queue"], r = t[a + "queueHooks"], i = S.timers, o = n ? n.length : 0; for (t.finish = !0, S.queue(this, a, []), r && r.stop && r.stop.call(this, !0), e = i.length; e--;)
11792            i[e].elem === this && i[e].queue === a && (i[e].anim.stop(!0), i.splice(e, 1)); for (e = 0; e < o; e++)
11793            n[e] && n[e].finish && n[e].finish.call(this); delete t.finish; }); } }), S.each(["toggle", "show", "hide"], function (e, r) { var i = S.fn[r]; S.fn[r] = function (e, t, n) { return null == e || "boolean" == typeof e ? i.apply(this, arguments) : this.animate(lt(r, !0), e, t, n); }; }), S.each({ slideDown: lt("show"), slideUp: lt("hide"), slideToggle: lt("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (e, r) { S.fn[e] = function (e, t, n) { return this.animate(r, e, t, n); }; }), S.timers = [], S.fx.tick = function () { var e, t = 0, n = S.timers; for (tt = Date.now(); t < n.length; t++)
11794        (e = n[t])() || n[t] !== e || n.splice(t--, 1); n.length || S.fx.stop(), tt = void 0; }, S.fx.timer = function (e) { S.timers.push(e), S.fx.start(); }, S.fx.interval = 13, S.fx.start = function () { nt || (nt = !0, st()); }, S.fx.stop = function () { nt = null; }, S.fx.speeds = { slow: 600, fast: 200, _default: 400 }
11794, S.fn.delay = function (r, e) { return r = S.fx && S.fx.speeds[r] || r, e = e || "fx", this.queue(e, function (e, t) { var n = C.setTimeout(e, r); t.stop = function () { C.clearTimeout(n); }; }); }, rt = E.createElement("input"), it = E.createElement("select").appendChild(E.createElement("option")), rt.type = "checkbox", y.checkOn = "" !== rt.value, y.optSelected = it.selected, (rt = E.createElement("input")).value = "t", rt.type = "radio", y.radioValue = "t" === rt.value;
11795    var pt, dt = S.expr.attrHandle;
11796    S.fn.extend({ attr: function (e, t) { return $(this, S.attr, e, t, 1 < arguments.length); }, removeAttr: function (e) { return this.each(function () { S.removeAttr(this, e); }); } }), S.extend({ attr: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o)
11797            return "undefined" == typeof e.getAttribute ? S.prop(e, t, n) : (1 === o && S.isXMLDoc(e) || (i = S.attrHooks[t.toLowerCase()] || (S.expr.match.bool.test(t) ? pt : void 0)), void 0 !== n ? null === n ? void S.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = S.find.attr(e, t)) ? void 0 : r); }, attrHooks: { type: { set: function (e, t) { if (!y.radioValue && "radio" === t && A(e, "input")) {
11798                    var n = e.value;
11799                    return e.setAttribute("type", t), n && (e.value = n), t;
11800                } } } }, removeAttr: function (e, t) { var n, r = 0, i = t && t.match(P); if (i && 1 === e.nodeType)
11801            while (n = i[r++])
11802                e.removeAttribute(n); } }), pt = { set: function (e, t, n) { return !1 === t ? S.removeAttr(e, n) : e.setAttribute(n, n), n; } }, S.each(S.expr.match.bool.source.match(/\w+/g), function (e, t) { var a = dt[t] || S.find.attr; dt[t] = function (e, t, n) { var r, i, o = t.toLowerCase(); return n || (i = dt[o], dt[o] = r, r = null != a(e, t, n) ? o : null, dt[o] = i), r; }; });
11803    var ht = /^(?:input|select|textarea|button)$/i, gt = /^(?:a|area)$/i;
11804    function vt(e) { return (e.match(P) || []).join(" "); }
11805    function yt(e) { return e.getAttribute && e.getAttribute("class") || ""; }
11806    function mt(e) { return Array.isArray(e) ? e : "string" == typeof e && e.match(P) || []; }
11807    S.fn.extend({ prop: function (e, t) { return $(this, S.prop, e, t, 1 < arguments.length); }, removeProp: function (e) { return this.each(function () { delete this[S.propFix[e] || e]; }); } }), S.extend({ prop: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o)
11808            return 1 === o && S.isXMLDoc(e) || (t = S.propFix[t] || t, i = S.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t]; }, propHooks: { tabIndex: { get: function (e) { var t = S.find.attr(e, "tabindex"); return t ? parseInt(t, 10) : ht.test(e.nodeName) || gt.test(e.nodeName) && e.href ? 0 : -1; } } }, propFix: { "for": "htmlFor", "class": "className" } }), y.optSelected || (S.propHooks.selected = { get: function (e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null; }, set: function (e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex); } }), S.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () { S.propFix[this.toLowerCase()] = this; }), S.fn.extend({ addClass: function (t) { var e, n, r, i, o, a, s, u = 0; if (m(t))
11809            return this.each(function (e) { S(this).addClass(t.call(this, e, yt(this))); }); if ((e = mt(t)).length)
11810            while (n = this[u++])
11811                if (i = yt(n), r = 1 === n.nodeType && " " + vt(i) + " ") {
11812                    a = 0;
11813                    while (o = e[a++])
11814                        r.indexOf(" " + o + " ") < 0 && (r += o + " ");
11815                    i !== (s = vt(r)) && n.setAttribute("class", s);
11816                } return this; }, removeClass: function (t) { var e, n, r, i, o, a, s, u = 0; if (m(t))
11817            return this.each(function (e) { S(this).removeClass(t.call(this, e, yt(this))); }); if (!arguments.length)
11818            return this.attr("class", ""); if ((e = mt(t)).length)
11819            while (n = this[u++])
11820                if (i = yt(n), r = 1 === n.nodeType && " " + vt(i) + " ") {
11821                    a = 0;
11822                    while (o = e[a++])
11823                        while (-1 < r.indexOf(" " + o + " "))
11824                            r = r.replace(" " + o + " ", " ");
11825                    i !== (s = vt(r)) && n.setAttribute("class", s);
11826                } return this; }, toggleClass: function (i, t) { var o = typeof i, a = "string" === o || Array.isArray(i); return "boolean" == typeof t && a ? t ? this.addClass(i) : this.removeClass(i) : m(i) ? this.each(function (e) { S(this).toggleClass(i.
11826call(this, e, yt(this), t), t); }) : this.each(function () { var e, t, n, r; if (a) {
11827            t = 0, n = S(this), r = mt(i);
11828            while (e = r[t++])
11829                n.hasClass(e) ? n.removeClass(e) : n.addClass(e);
11830        }
11831        else
11832            void 0 !== i && "boolean" !== o || ((e = yt(this)) && Y.set(this, "__className__", e), this.setAttribute && this.setAttribute("class", e || !1 === i ? "" : Y.get(this, "__className__") || "")); }); }, hasClass: function (e) { var t, n, r = 0; t = " " + e + " "; while (n = this[r++])
11833            if (1 === n.nodeType && -1 < (" " + vt(yt(n)) + " ").indexOf(t))
11834                return !0; return !1; } });
11835    var xt = /\r/g;
11836    S.fn.extend({ val: function (n) { var r, e, i, t = this[0]; return arguments.length ? (i = m(n), this.each(function (e) { var t; 1 === this.nodeType && (null == (t = i ? n.call(this, e, S(this).val()) : n) ? t = "" : "number" == typeof t ? t += "" : Array.isArray(t) && (t = S.map(t, function (e) { return null == e ? "" : e + ""; })), (r = S.valHooks[this.type] || S.valHooks[this.nodeName.toLowerCase()]) && "set" in r && void 0 !== r.set(this, t, "value") || (this.value = t)); })) : t ? (r = S.valHooks[t.type] || S.valHooks[t.nodeName.toLowerCase()]) && "get" in r && void 0 !== (e = r.get(t, "value")) ? e : "string" == typeof (e = t.value) ? e.replace(xt, "") : null == e ? "" : e : void 0; } }), S.extend({ valHooks: { option: { get: function (e) { var t = S.find.attr(e, "value"); return null != t ? t : vt(S.text(e)); } }, select: { get: function (e) { var t, n, r, i = e.options, o = e.selectedIndex, a = "select-one" === e.type, s = a ? null : [], u = a ? o + 1 : i.length; for (r = o < 0 ? u : a ? o : 0; r < u; r++)
11837                    if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !A(n.parentNode, "optgroup"))) {
11838                        if (t = S(n).val(), a)
11839                            return t;
11840                        s.push(t);
11841                    } return s; }, set: function (e, t) { var n, r, i = e.options, o = S.makeArray(t), a = i.length; while (a--)
11842                    ((r = i[a]).selected = -1 < S.inArray(S.valHooks.option.get(r), o)) && (n = !0); return n || (e.selectedIndex = -1), o; } } } }), S.each(["radio", "checkbox"], function () { S.valHooks[this] = { set: function (e, t) { if (Array.isArray(t))
11843            return e.checked = -1 < S.inArray(S(e).val(), t); } }, y.checkOn || (S.valHooks[this].get = function (e) { return null === e.getAttribute("value") ? "on" : e.value; }); }), y.focusin = "onfocusin" in C;
11844    var bt = /^(?:focusinfocus|focusoutblur)$/, wt = function (e) { e.stopPropagation(); };
11845    S.extend(S.event, { trigger: function (e, t, n, r) { var i, o, a, s, u, l, c, f, p = [n || E], d = v.call(e, "type") ? e.type : e, h = v.call(e, "namespace") ? e.namespace.split(".") : []; if (o = f = a = n = n || E, 3 !== n.nodeType && 8 !== n.nodeType && !bt.test(d + S.event.triggered) && (-1 < d.indexOf(".") && (d = (h = d.split(".")).shift(), h.sort()), u = d.indexOf(":") < 0 && "on" + d, (e = e[S.expando] ? e : new S.Event(d, "object" == typeof e && e)).isTrigger = r ? 2 : 3, e.namespace = h.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : S.makeArray(t, [e]), c = S.event.special[d] || {}, r || !c.trigger || !1 !== c.trigger.apply(n, t))) {
11846            if (!r && !c.noBubble && !x(n)) {
11847                for (s = c.delegateType || d, bt.test(s + d) || (o = o.parentNode); o; o = o.parentNode)
11848                    p.push(o), a = o;
11849                a === (n.ownerDocument || E) && p.push(a.defaultView || a.parentWindow || C);
11850            }
11851            i = 0;
11852            while ((o = p[i++]) && !e.isPropagationStopped())
11853                f = o, e.type = 1 < i ? s : c.bindType || d, (l = (Y.get(o, "events") || Object.create(null))[e.type] && Y.get(o, "handle")) && l.apply(o, t), (l = u && o[u]) && l.apply && V(o) && (e.result = l.apply(o, t), !1 === e.result && e.preventDefault());
11854            return e.type = d, r || e.isDefaultPrevented() || c._default && !1 !== c._default.apply(p.pop(), t) || !V(n) || u && m(n[d]) && !x(n) && ((a = n[u]) && (n[u] = null), S.event.triggered = d, e.isPropagationStopped() && f.addEventListener(d, wt), n[d](), e.isPropagationStopped() && f.removeEventListener(d, wt), S.event.triggered = void 0, a && (n[u] = a)), e.result;
11855        } }, simulate: function (e, t, n) { var r = S.extend(new S.Event, n, { type: e, isSimulated: !0 }); S.event.trigger(r, null, t); } }), S.fn.extend({ trigger: function (e, t) { return this.each(function () { S.event.trigger(e, t, this); }); }, triggerHandler: function (e, t) { var n = this[0]; if (n)
11856            return S.event.trigger(e, t, n, !0); } }), y.focusin || S.each({ focus: "focusin", blur: "focusout" }, function (n, r) { var i = function (e) { S.event.simulate(r, e.target, S.event.fix(e)); }; S.event.special[r] = { setup: function () { var e = this.ownerDocument || this.document || this, t = Y.access(e, r); t || e.addEventListener(n, i, !0), Y.access(e, r, (t || 0) + 1); }, teardown: function () { var e = this.ownerDocument || this.document || this, t = Y.access(e, r) - 1; t ? Y.access(e, r, t) : (e.removeEventListener(n, i, !0), Y.remove(e, r)); } }; });
11857    var Tt = C.location, Ct = { guid: Date.now() }, Et = /\?/;
11858    S.parseXML = function (e) { var t; if (!e || "string" != typeof e)
11859        return null; try {
11860        t = (new C.DOMParser).parseFromString(e, "text/xml");
11861    }
11862    catch (e) {
11863        t = void 0;
11864    } return t && !t.getElementsByTagName("parsererror").length || S.error("Invalid XML: " + e), t; };
11865    var St = /\[\]$/, kt = /\r?\n/g, At = /^(?:submit|button|image|reset|file)$/i, Nt = /^(?:input|select|textarea|keygen)/i;
11866    function Dt(n, e, r, i) { var t; if (Array.isArray(e))
11867        S.each(e, function (e, t) { r || St.test(n) ? i(n, t) : Dt(n + "[" + ("object" == typeof t && null != t ? e : "") + "]", t, r, i); });
11868    else if (r || "object" !== w(e))
11869        i(n, e);
11870    else
11871        for (t in e)
11872            Dt(n + "[" + t + "]", e[t], r, i); }
11873    S.param = function (e, t) { var n, r = [], i = function (e, t) { var n = m(t) ? t() : t; r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n); }; if (null == e)
11874        return ""; if (Array.isArray(e) || e.jquery && !S.isPlainObject(e))
11875        S.each(e, function () { i(this.name, this.value); });
11876    else
11877        for (n in e)
11878            Dt(n, e[n], t, i); return r.join("&"); }, S.fn.extend({ serialize: function () { return S.param(this.serializeArray()); }, serializeArray: function () { return this.map(function () { var e = S.prop(this, "elements"); return e ? S.makeArray(e) : this; }).filter(function () { var e = this.type; return this.name && !S(this).is(":disabled") && Nt.test(this.nodeName) && !At.test(e) && (this.checked || !pe.test(e)); }).map(function (e, t) { var n = S(this).val(); return null == n ? null : Array.isArray(n) ? S.map(n, function (e) { return { name: t.name, value: e.replace(kt, "\r\n") }; }) : { name: t.name, value: n.replace(kt, "\r\n") }; }).get(); } });
11879    var jt = /%20/g, qt = /#.*$/, Lt = /([?&])_=[^&]*/, Ht = /^(.*?):[ \t]*([^\r\n]*)$/gm, Ot = /^(?:GET|HEAD)$/, Pt = /^\/\//, Rt = {}, Mt = {}, It = "*/".concat("*"), Wt = E.createElement("a");
11880    function Ft(o) { return function (e, t) { "string" != typeof e && (t = e, e = "*"); var n, r = 0, i = e.toLowerCase().match(P) || []; if (m(t))
11881        while (n = i[r++])
11882            "+" === n[0] ? (n = n.slice(1) || "*", (o[n] = o[n] || []).unshift(t)) : (o[n] = o[n] || []).push(t); }; }
11883    function Bt(t, i, o, a) { var s = {}, u = t === Mt; function l(e) { var r; return s[e] = !0, S.each(t[e] || [], function (e, t) { var n = t(i, o, a); return "string" != typeof n || u || s[n] ? u ? !(r = n) : void 0 : (i.dataTypes.unshift(n), l(n), !1); }), r; } return l(i.dataTypes[0]) || !s["*"] && l("*"); }
11884    function $t(e, t) { var n, r, i = S.ajaxSettings.flatOptions || {}; for (n in t)
11885        void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); return r && S.extend(!0, e, r), e; }
11886    Wt.href = Tt.href, S.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: Tt.href, type: "GET", isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": It, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": JSON.parse, "text xml": S.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function (e, t) { return t ? $t($t(e, S.ajaxSettings), t) : $t(S.ajaxSettings, e); }, ajaxPrefilter: Ft(Rt), ajaxTransport: Ft(Mt), ajax: function (e, t) { "object" == typeof e && (t = e, e = void 0), t = t || {}; var c, f, p, n, d, r, h, g, i, o, v = S.ajaxSetup({}, t), y = v.context || v, m = v.context && (y.nodeType || y.jquery) ? S(y) : S.event, x = S.Deferred(), b = S.Callbacks("once memory"), w = v.statusCode || {}, a = {}, s = {}, u = "canceled", T = { readyState: 0, getResponseHeader: function (e) { var t; if (h) {
11887                if (!n) {
11888                    n = {};
11889                    while (t = Ht.exec(p))
11890                        n[t[1].toLowerCase() + " "] = (n[t[1].toLowerCase() + " "] || []).concat(t[2]);
11891                }
11892                t = n[e.toLowerCase() + " "];
11893            } return null == t ? null : t.join(", "); }, getAllResponseHeaders: function () { return h ? p : null; }, setRequestHeader: function (e, t) { return null == h && (e = s[e.toLowerCase()] = s[e.toLowerCase()] || e, a[e] = t), this; }, overrideMimeType: function (e) { return null == h && (v.mimeType = e), this; }, statusCode: function (e) { var t; if (e)
11894                if (h)
11895                    T.always(e[T.status]);
11896                else
11897                    for (t in e)
11898                        w[t] = [w[t], e[t]]; return this; }, abort: function (e) { var t = e || u; return c && c.abort(t), l(0, t), this; } }; if (x.promise(T), v.url = ((e || v.url || Tt.href) + "").replace(Pt, Tt.protocol + "//"), v.type = t.method || t.type || v.method || v.type, v.dataTypes = (v.dataType || "*").toLowerCase().match(P) || [""], null == v.crossDomain) {
11899            r = E.createElement("a");
11900            try {
11901                r.href = v.url, r.href = r.href, v.crossDomain = Wt.protocol + "//" + Wt.host != r.protocol + "//" + r.host;
11902            }
11903            catch (e) {
11904                v.crossDomain = !0;
11905            }
11906        } if (v.data && v.processData && "string" != typeof v.data && (v.data = S.param(v.data, v.traditional)), Bt(Rt, v, t, T), h)
11907            return T; for (i in (g = S.event && v.global) && 0 == S.active++ && S.event.trigger("ajaxStart"), v.type = v.type.toUpperCase(), v.hasContent = !Ot.test(v.type), f = v.url.replace(qt, ""), v.hasContent ? v.data && v.processData && 0 === (v.contentType || "").indexOf("application/x-www-form-urlencoded") && (v.data = v.data.replace(jt, "+")) : (o = v.url.
11907slice(f.length), v.data && (v.processData || "string" == typeof v.data) && (f += (Et.test(f) ? "&" : "?") + v.data, delete v.data), !1 === v.cache && (f = f.replace(Lt, "$1"), o = (Et.test(f) ? "&" : "?") + "_=" + Ct.guid++ + o), v.url = f + o), v.ifModified && (S.lastModified[f] && T.setRequestHeader("If-Modified-Since", S.lastModified[f]), S.etag[f] && T.setRequestHeader("If-None-Match", S.etag[f])), (v.data && v.hasContent && !1 !== v.contentType || t.contentType) && T.setRequestHeader("Content-Type", v.contentType), T.setRequestHeader("Accept", v.dataTypes[0] && v.accepts[v.dataTypes[0]] ? v.accepts[v.dataTypes[0]] + ("*" !== v.dataTypes[0] ? ", " + It + "; q=0.01" : "") : v.accepts["*"]), v.headers)
11908            T.setRequestHeader(i, v.headers[i]); if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h))
11909            return T.abort(); if (u = "abort", b.add(v.complete), T.done(v.success), T.fail(v.error), c = Bt(Mt, v, t, T)) {
11910            if (T.readyState = 1, g && m.trigger("ajaxSend", [T, v]), h)
11911                return T;
11912            v.async && 0 < v.timeout && (d = C.setTimeout(function () { T.abort("timeout"); }, v.timeout));
11913            try {
11914                h = !1, c.send(a, l);
11915            }
11916            catch (e) {
11917                if (h)
11918                    throw e;
11919                l(-1, e);
11920            }
11921        }
11922        else
11923            l(-1, "No Transport"); function l(e, t, n, r) { var i, o, a, s, u, l = t; h || (h = !0, d && C.clearTimeout(d), c = void 0, p = r || "", T.readyState = 0 < e ? 4 : 0, i = 200 <= e && e < 300 || 304 === e, n && (s = function (e, t, n) { var r, i, o, a, s = e.contents, u = e.dataTypes; while ("*" === u[0])
11924            u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); if (r)
11925            for (i in s)
11926                if (s[i] && s[i].test(r)) {
11927                    u.unshift(i);
11928                    break;
11929                } if (u[0] in n)
11930            o = u[0];
11931        else {
11932            for (i in n) {
11933                if (!u[0] || e.converters[i + " " + u[0]]) {
11934                    o = i;
11935                    break;
11936                }
11937                a || (a = i);
11938            }
11939            o = o || a;
11940        } if (o)
11941            return o !== u[0] && u.unshift(o), n[o]; }(v, T, n)), !i && -1 < S.inArray("script", v.dataTypes) && (v.converters["text script"] = function () { }), s = function (e, t, n, r) { var i, o, a, s, u, l = {}, c = e.dataTypes.slice(); if (c[1])
11942            for (a in e.converters)
11943                l[a.toLowerCase()] = e.converters[a]; o = c.shift(); while (o)
11944            if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift())
11945                if ("*" === o)
11946                    o = u;
11947                else if ("*" !== u && u !== o) {
11948                    if (!(a = l[u + " " + o] || l["* " + o]))
11949                        for (i in l)
11950                            if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) {
11951                                !0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1]));
11952                                break;
11953                            }
11954                    if (!0 !== a)
11955                        if (a && e["throws"])
11956                            t = a(t);
11957                        else
11958                            try {
11959                                t = a(t);
11960                            }
11961                            catch (e) {
11962                                return { state: "parsererror", error: a ? e : "No conversion from " + u + " to " + o };
11963                            }
11964                } return { state: "success", data: t }; }(v, s, T, i), i ? (v.ifModified && ((u = T.getResponseHeader("Last-Modified")) && (S.lastModified[f] = u), (u = T.getResponseHeader("etag")) && (S.etag[f] = u)), 204 === e || "HEAD" === v.type ? l = "nocontent" : 304 === e ? l = "notmodified" : (l = s.state, o = s.data, i = !(a = s.error))) : (a = l, !e && l || (l = "error", e < 0 && (e = 0))), T.status = e, T.statusText = (t || l) + "", i ? x.resolveWith(y, [o, l, T]) : x.rejectWith(y, [T, l, a]), T.statusCode(w), w = void 0, g && m.trigger(i ? "ajaxSuccess" : "ajaxError", [T, v, i ? o : a
11964]), b.fireWith(y, [T, l]), g && (m.trigger("ajaxComplete", [T, v]), --S.active || S.event.trigger("ajaxStop"))); } return T; }, getJSON: function (e, t, n) { return S.get(e, t, n, "json"); }, getScript: function (e, t) { return S.get(e, void 0, t, "script"); } }), S.each(["get", "post"], function (e, i) { S[i] = function (e, t, n, r) { return m(t) && (r = r || n, n = t, t = void 0), S.ajax(S.extend({ url: e, type: i, dataType: r, data: t, success: n }, S.isPlainObject(e) && e)); }; }), S.ajaxPrefilter(function (e) { var t; for (t in e.headers)
11965        "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || ""); }), S._evalUrl = function (e, t, n) { return S.ajax({ url: e, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, converters: { "text script": function () { } }, dataFilter: function (e) { S.globalEval(e, t, n); } }); }, S.fn.extend({ wrapAll: function (e) { var t; return this[0] && (m(e) && (e = e.call(this[0])), t = S(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () { var e = this; while (e.firstElementChild)
11966            e = e.firstElementChild; return e; }).append(this)), this; }, wrapInner: function (n) { return m(n) ? this.each(function (e) { S(this).wrapInner(n.call(this, e)); }) : this.each(function () { var e = S(this), t = e.contents(); t.length ? t.wrapAll(n) : e.append(n); }); }, wrap: function (t) { var n = m(t); return this.each(function (e) { S(this).wrapAll(n ? t.call(this, e) : t); }); }, unwrap: function (e) { return this.parent(e).not("body").each(function () { S(this).replaceWith(this.childNodes); }), this; } }), S.expr.pseudos.hidden = function (e) { return !S.expr.pseudos.visible(e); }, S.expr.pseudos.visible = function (e) { return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length); }, S.ajaxSettings.xhr = function () { try {
11967        return new C.XMLHttpRequest;
11968    }
11969    catch (e) { } };
11970    var _t = { 0: 200, 1223: 204 }, zt = S.ajaxSettings.xhr();
11971    y.cors = !!zt && "withCredentials" in zt, y.ajax = zt = !!zt, S.ajaxTransport(function (i) { var o, a; if (y.cors || zt && !i.crossDomain)
11972        return { send: function (e, t) { var n, r = i.xhr(); if (r.open(i.type, i.url, i.async, i.username, i.password), i.xhrFields)
11973                for (n in i.xhrFields)
11974                    r[n] = i.xhrFields[n]; for (n in i.mimeType && r.overrideMimeType && r.overrideMimeType(i.mimeType), i.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"), e)
11975                r.setRequestHeader(n, e[n]); o = function (e) { return function () { o && (o = a = r.onload = r.onerror = r.onabort = r.ontimeout = r.onreadystatechange = null, "abort" === e ? r.abort() : "error" === e ? "number" != typeof r.status ? t(0, "error") : t(r.status, r.statusText) : t(_t[r.status] || r.status, r.statusText, "text" !== (r.responseType || "text") || "string" != typeof r.responseText ? { binary: r.response } : { text: r.responseText }, r.getAllResponseHeaders())); }; }, r.onload = o(), a = r.onerror = r.ontimeout = o("error"), void 0 !== r.onabort ? r.onabort = a : r.onreadystatechange = function () { 4 === r.readyState && C.setTimeout(function () { o && a(); }); }, o = o("abort"); try {
11976                r.send(i.hasContent && i.data || null);
11977            }
11978            catch (e) {
11979                if (o)
11980                    throw e;
11981            } }, abort: function () { o && o(); } }; }), S.ajaxPrefilter(function (e) { e.crossDomain && (e.contents.script = !1); }), S.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { "text script": function (e) { return S.globalEval(e), e; } } }), S.ajaxPrefilter("script", function (e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET"); }), S.ajaxTransport("script", function (n) { var r, i; if (n.crossDomain || n.scriptAttrs)
11982        return { send: function (e, t) { r = S("<script>").attr(n.scriptAttrs || {}).prop({ charset: n.scriptCharset, src: n.url }).on("load error", i = function (e) { r.remove(), i = null, e && t("error" === e.type ? 404 : 200, e.type); }), E.head.appendChild(r[0]); }, abort: function () { i && i(); } }; });
11983    var Ut, Xt = [], Vt = /(=)\?(?=&|$)|\?\?/;
11984    S.ajaxSetup({ jsonp: "callback", jsonpCallback: function () { var e = Xt.pop() || S.expando + "_" + Ct.guid++; return this[e] = !0, e; } }), S.ajaxPrefilter("json jsonp", function (e, t, n) { var r, i, o, a = !1 !== e.
11984jsonp && (Vt.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && Vt.test(e.data) && "data"); if (a || "jsonp" === e.dataTypes[0])
11985        return r = e.jsonpCallback = m(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, a ? e[a] = e[a].replace(Vt, "$1" + r) : !1 !== e.jsonp && (e.url += (Et.test(e.url) ? "&" : "?") + e.jsonp + "=" + r), e.converters["script json"] = function () { return o || S.error(r + " was not called"), o[0]; }, e.dataTypes[0] = "json", i = C[r], C[r] = function () { o = arguments; }, n.always(function () { void 0 === i ? S(C).removeProp(r) : C[r] = i, e[r] && (e.jsonpCallback = t.jsonpCallback, Xt.push(r)), o && m(i) && i(o[0]), o = i = void 0; }), "script"; }), y.createHTMLDocument = ((Ut = E.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === Ut.childNodes.length), S.parseHTML = function (e, t, n) { return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (y.createHTMLDocument ? ((r = (t = E.implementation.createHTMLDocument("")).createElement("base")).href = E.location.href, t.head.appendChild(r)) : t = E), o = !n && [], (i = N.exec(e)) ? [t.createElement(i[1])] : (i = xe([e], t, o), o && o.length && S(o).remove(), S.merge([], i.childNodes))); var r, i, o; }, S.fn.load = function (e, t, n) { var r, i, o, a = this, s = e.indexOf(" "); return -1 < s && (r = vt(e.slice(s)), e = e.slice(0, s)), m(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), 0 < a.length && S.ajax({ url: e, type: i || "GET", dataType: "html", data: t }).done(function (e) { o = arguments, a.html(r ? S("<div>").append(S.parseHTML(e)).find(r) : e); }).always(n && function (e, t) { a.each(function () { n.apply(this, o || [e.responseText, t, e]); }); }), this; }, S.expr.pseudos.animated = function (t) { return S.grep(S.timers, function (e) { return t === e.elem; }).length; }, S.offset = { setOffset: function (e, t, n) { var r, i, o, a, s, u, l = S.css(e, "position"), c = S(e), f = {}; "static" === l && (e.style.position = "relative"), s = c.offset(), o = S.css(e, "top"), u = S.css(e, "left"), ("absolute" === l || "fixed" === l) && -1 < (o + u).indexOf("auto") ? (a = (r = c.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(u) || 0), m(t) && (t = t.call(e, n, S.extend({}, s))), null != t.top && (f.top = t.top - s.top + a), null != t.left && (f.left = t.left - s.left + i), "using" in t ? t.using.call(e, f) : ("number" == typeof f.top && (f.top += "px"), "number" == typeof f.left && (f.left += "px"), c.css(f)); } }, S.fn.extend({ offset: function (t) { if (arguments.length)
11986            return void 0 === t ? this : this.each(function (e) { S.offset.setOffset(this, t, e); }); var e, n, r = this[0]; return r ? r.getClientRects().length ? (e = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, { top: e.top + n.pageYOffset, left: e.left + n.pageXOffset }) : { top: 0, left: 0 } : void 0; }, position: function () { if (this[0]) {
11987            var e, t, n, r = this[0], i = { top: 0, left: 0 };
11988            if ("fixed" === S.css(r, "position"))
11989                t = r.getBoundingClientRect();
11990            else {
11991                t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement;
11992                while (e && (e === n.body || e === n.documentElement) && "static" === S.css(e, "position"))
11993                    e = e.parentNode;
11994                e && e !== r && 1 === e.nodeType && ((i = S(e).offset()).top += S.css(e, "borderTopWidth", !0), i.left += S.css(e, "borderLeftWidth", !0));
11995            }
11996            return { top: t.top - i.top - S.css(r, "marginTop", !0), left: t.left - i.left - S.css(r, "marginLeft", !0) };
11997        } }, offsetParent: function () { return this.map(function () { var e = this.offsetParent; while (e && "static" === S.css(e, "position"))
11998            e = e.offsetParent; return e || re; }); } }), S.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (t, i) { var o = "pageYOffset" === i; S.fn[t] = function (e) { return $(this, function (e, t, n) { var r;
11998 if (x(e) ? r = e : 9 === e.nodeType && (r = e.defaultView), void 0 === n)
11999        return r ? r[i] : e[t]; r ? r.scrollTo(o ? r.pageXOffset : n, o ? n : r.pageYOffset) : e[t] = n; }, t, e, arguments.length); }; }), S.each(["top", "left"], function (e, n) { S.cssHooks[n] = $e(y.pixelPosition, function (e, t) { if (t)
12000        return t = Be(e, n), Me.test(t) ? S(e).position()[n] + "px" : t; }); }), S.each({ Height: "height", Width: "width" }, function (a, s) { S.each({ padding: "inner" + a, content: s, "": "outer" + a }, function (r, o) { S.fn[o] = function (e, t) { var n = arguments.length && (r || "boolean" != typeof e), i = r || (!0 === e || !0 === t ? "margin" : "border"); return $(this, function (e, t, n) { var r; return x(e) ? 0 === o.indexOf("outer") ? e["inner" + a] : e.document.documentElement["client" + a] : 9 === e.nodeType ? (r = e.documentElement, Math.max(e.body["scroll" + a], r["scroll" + a], e.body["offset" + a], r["offset" + a], r["client" + a])) : void 0 === n ? S.css(e, t, i) : S.style(e, t, n, i); }, s, n ? e : void 0, n); }; }); }), S.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) { S.fn[t] = function (e) { return this.on(t, e); }; }), S.fn.extend({ bind: function (e, t, n) { return this.on(e, null, t, n); }, unbind: function (e, t) { return this.off(e, null, t); }, delegate: function (e, t, n, r) { return this.on(t, e, n, r); }, undelegate: function (e, t, n) { return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n); }, hover: function (e, t) { return this.mouseenter(e).mouseleave(t || e); } }), S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (e, n) { S.fn[n] = function (e, t) { return 0 < arguments.length ? this.on(n, null, e, t) : this.trigger(n); }; });
12001    var Gt = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
12002    S.proxy = function (e, t) { var n, r, i; if ("string" == typeof t && (n = e[t], t = e, e = n), m(e))
12003        return r = s.call(arguments, 2), (i = function () { return e.apply(t || this, r.concat(s.call(arguments))); }).guid = e.guid = e.guid || S.guid++, i; }, S.holdReady = function (e) { e ? S.readyWait++ : S.ready(!0); }, S.isArray = Array.isArray, S.parseJSON = JSON.parse, S.nodeName = A, S.isFunction = m, S.isWindow = x, S.camel
12003Case = X, S.type = w, S.now = Date.now, S.isNumeric = function (e) { var t = S.type(e); return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e)); }, S.trim = function (e) { return null == e ? "" : (e + "").replace(Gt, ""); }, "function" == typeof define && define.amd && define("jquery", [], function () { return S; });
12004    var Yt = C.jQuery, Qt = C.$;
12005    return S.noConflict = function (e) { return C.$ === S && (C.$ = Qt), e && C.jQuery === S && (C.jQuery = Yt), S; }, "undefined" == typeof e && (C.jQuery = C.$ = S), S;
12006});
12007var landingpages;
12008(function (landingpages) {
12009    var sharing;
12010    (function (sharing) {
12011        var UtilFunctions = (function () {
12012            function UtilFunctions() {
12013            }
12014            UtilFunctions.bindEvent = function (target, event, method) {
12015                if (target.addEventListener) {
12016                    target.addEventListener(event, method, false);
12017                }
12018                else if (target['attachEvent']) {
12019                    target['attachEvent']('on' + event, method);
12020                }
12021            };
12022            UtilFunctions.unbindEvent = function (target, event, method) {
12023                if (target.removeEventListener) {
12024                    target.removeEventListener(event, method, false);
12025                }
12026                else if (target['detachEvent']) {
12027                    target['detachEvent']('on' + event, method);
12028                }
12029            };
12030            UtilFunctions.preventDefault = function (event) {
12031                event = event || window.event;
12032                if (event.preventDefault)
12033                    event.preventDefault();
12034                event.returnValue = false;
12035            };
12036            UtilFunctions.disableMouseWheel = function () {
12037                var _this = this;
12038                for (var i = 0; i < this.wheelEvents.length; i++)
12039                    this.bindEvent(window, this.wheelEvents[i], function (event) { return _this.preventDefault(event); });
12040            };
12041            UtilFunctions.enableMouseWheel = function () {
12042                var _this = this;
12043                for (var i = 0; i < this.wheelEvents.length; i++)
12044                    this.unbindEvent(window, this.wheelEvents[i], function (event) { return _this.preventDefault(event); });
12045            };
12046            UtilFunctions.extend = function (trgt, src) {
12047                for (var prop in src)
12048                    trgt[prop] = src[prop];
12049            };
12050            UtilFunctions.viewport = function () {
12051                var el = window, param = 'inner';
12052                if (!('innerWidth' in window)) {
12053                    el = document.documentElement || document.body;
12054                    param = 'client';
12055                }
12056                return { width: el["".concat(param, "Width")], height: el["".concat(param, "Height")] };
12057            };
12058            UtilFunctions.currentProtocol = function () {
12059                var re = /^https:/i, protocol = re.test(location.protocol) ? "https:" : "http:";
12060                if (document.getElementsByTagName) {
12061                    var baseElements = document.getElementsByTagName("base");
12062                    if (baseElements.length) {
12063                        var baseHref = baseElements[0].href;
12064                        if (baseHref && baseHref.length >= 6)
12065                            protocol = re.test(baseHref) ? "https:" : "http:";
12066                    }
12067                }
12068                return protocol;
12069            };
12070            UtilFunctions.wheelEvents = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'];
12071            return UtilFunctions;
12072        }());
12073        sharing.UtilFunctions = UtilFunctions;
12074    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
12075})(landingpages || (landingpages = {}));
12076var landingpages;
12077(function (landingpages) {
12078    var sharing;
12079    (function (sharing) {
12080        var Properties = (function () {
12081            function Properties(pageDomain, pageId, appearance, autoShow, keyDismiss, delay, showMobile, surveyWidth, transparent, shroudColor, shroudOpacity, attach, description, closeButtonLabel, screenreader, openOnExitIntent, reopenAfterDismissedDelay, openAfterNumberOfPagesViewed, showAfterDismissed, openOnScrollDepth, hideAfterSubmission, unidentifiedVisitorsOnly, previewToken, defaultCookiesExpiryLengthInDays) {
12082                if (attach === void 0) { attach = ""; }
12083                this.pageDomain = pageDomain;
12084                this.shroudColor = shroudColor;
12085                this.attach = attach;
12086                this.appearance = 0;
12087                this.autoShow = true;
12088                this.keyDismiss = false;
12089                this.showMobile = false;
12090                this.surveyWidth = 600;
12091                this.transparent = false;
12092                this.screenreader = false;
12093                this.defaultExpiryLengthInDays = 365;
12094                this.reopenAfterDismissedDays = 0;
12095                this.delay = 0;
12096                this.openOnExitIntent = false;
12097                this.openAfterNumberOfPagesViewed = 0;
12098                this.showAfterDismissed = false;
12099                this.openOnScrollDepth = 0;
12100                this.hideAfterSubmission = false;
12101                this.unidentifiedVisitorsOnly = false;
12102                this.pageId = pageId.split('/')[0];
12103                if (appearance)
12104                    this.appearance = appearance === 'uc' ? 'uc' : parseInt(appearance);
12105                if (/false/i.test(autoShow))
12106                    this.autoShow = false;
12107                if (/true/i.test(keyDismiss))
12108                    this.keyDismiss = true;
12109                if (delay)
12110                    this.delay = parseInt(delay);
12111                if (/true/i.test(showMobile))
12112                    this.showMobile = true;
12113                if (surveyWidth)
12114                    this.surveyWidth = parseInt(surveyWidth) || this.surveyWidth;
12115                if (/true/i.test(transparent))
12116                    this.transparent = true;
12117                if (/true/i.test(screenreader))
12118                    this.screenreader = true;
12119                if (/true/i.test(openOnExitIntent))
12120                    this.openOnExitIntent = true;
12121                if (!!parseInt(reopenAfterDismissedDelay))
12122                    this.reopenAfterDismissedDays = parseInt(reopenAfterDismissedDelay);
12123                if (!!parseInt(openAfterNumberOfPagesViewed))
12124                    this.openAfterNumberOfPagesViewed = parseInt(openAfterNumberOfPagesViewed);
12125                if (!!/true/i.test(showAfterDismissed))
12126                    this.showAfterDismissed = true;
12127                if (!!parseInt(openOnScrollDepth))
12128                    this.openOnScrollDepth = parseInt(openOnScrollDepth);
12129                if (!!/true/i.test(hideAfterSubmission))
12130                    this.hideAfterSubmission = true;
12131                if (!!/true/i.test(unidentifiedVisitorsOnly))
12132                    this.unidentifiedVisitorsOnly = true;
12133                this.shroudOpacity = parseInt(shroudOpacity) || 0;
12134                this.description = description;
12135                this.closeButtonLabel = closeButtonLabel;
12136                this.previewToken = previewToken;
12137                if (!!parseInt(defaultCookiesExpiryLengthInDays))
12138                    this.defaultExpiryLengthInDays = parseInt(defaultCookiesExpiryLengthInDays);
12139            }
12140            Properties.create = function (script) {
12141                if (/\?.*sharing=lp-/.test(script.src)) {
12142                    return this.createFromSrc(script.src);
12143                }
12144                else {
12145                    return this.createFromAttributes(script);
12146                }
12147            };
12148            Properties.createFromSrc = function (src) {
12149                var query = src.match(/\?(.+)#?/)[1].split(/&/), values = {};
12150                for (var i = 0; i < query.length; i++) {
12151                    var split = query[i].split(/=/);
12152                    if (split.length === 2)
12153                        values[split[0]] = decodeURIComponent(split[1]);
12154                }
12155                return this.parseAndCreate(values);
12156            };
12157            Properties.parseAndCreate = function (values) {
12158                return new Properties(values['domain'] || '', values['id'] || '', values['appearance'], values['auto'], values['keydismiss'], values['delay'], values['mobile'], values['width'], values['transparent'], values['shroudcolor'], values['shroudopacity'], values['attach'], values['description'], values['closebuttonlabel'], values['screenreader'], values['open-on-exit-intent'], values['reopen-dismissed-days'], values['open-after-number-of-pages-viewed'], values['show-after-dismissed'], values['open-on-scroll-depth'], values['hide-after-submission'], values['unidentified-visitors-only'], values['previewtoken'], values['default-cookie
12158s-expiry-length-in-days']);
12159            };
12160            Properties.createFromAttributes = function (script) {
12161                return new Properties(script.getAttribute('data-page-domain'), script.getAttribute('data-page-id'), script.getAttribute('data-appearance'), script.getAttribute('auto'), script.getAttribute('data-key-dismiss'), script.getAttribute('data-delay'), script.getAttribute('data-mobile'), null, null, null, null, null, null, null, null, script.getAttribute('open-on-exit-intent'), script.getAttribute('reopen-dismissed-days'), script.getAttribute('open-after-number-of-pages-viewed'), script.getAttribute('show-after-dismissed'), script.getAttribute('open-on-scroll-depth'), script.getAttribute('hide-after-submission'), script.getAttribute('unidentified-visitors-only'), script.getAttribute('data-preview-token'), script.getAttribute('data-default-cookies-expiry-length-in-days'));
12162            };
12163            return Properties;
12164        }());
12165        sharing.Properties = Properties;
12166    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
12167})(landingpages || (landingpages = {}));
12168var landingpages;
12169(function (landingpages) {
12170    var sharing;
12171    (function (sharing) {
12172        var SharingBase = (function () {
12173            function SharingBase(script) {
12174                this.script = script;
12175                this.sandbox = 'allow-modals allow-downloads allow-top-navigation allow-forms allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox allow-top-navigation-by-user-activation';
12176                this.properties = sharing.Properties.create(script);
12177                this.iframe = document.createElement('iframe');
12178                if (!window.ecPF)
12179                    window.ecPF = new landingpages.sharing.EmbeddingAPI(this.properties.pageDomain);
12180                window.ecPF._register(this, this.properties.pageId);
12181            }
12182            SharingBase.getScripts = function (selector) {
12183                return document.querySelectorAll("script[src*=\"sharing=lp-".concat(selector, "\"],script[data-sharing=lp-").concat(selector, "]"));
12184            };
12185            return SharingBase;
12186        }());
12187        sharing.SharingBase = SharingBase;
12188    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
12189})(landingpages || (landingpages = {}));
12190var landingpages;
12191(function (landingpages) {
12192    var sharing;
12193    (function (sharing) {
12194        var EmbeddingAPI = (function () {
12195            function EmbeddingAPI(pageDomain) {
12196                var _this = this;
12197                this.pages = [];
12198                this.complete = [];
12199                window.lpXD.receiveMessage(function (msg) { return _this.messageRecieved(msg); }, landingpages.sharing.UtilFunctions.currentProtocol() + pageDomain);
12200            }
12201            EmbeddingAPI.prototype._register = function (form, pageId) {
12202                this.pages.push({ form: form, pageId: this.getId(pageId) });
12203            };
12204            EmbeddingAPI.prototype.messageRecieved = function (message) {
12205                var data = null;
12206                try {
12207                    data = JSON.parse(message.data);
12208                }
12209                catch (e) { }
12210                if (data && data.complete && data.name)
12211                    this.processComplete(data);
12212            };
12213            EmbeddingAPI.prototype.processComplete = function (data) {
12214                this.complete.filter(function (x) { return x.pageId === data.name || x.pageId === ''; }).forEach(function (x) { return x.method(data.formData); });
12215                if (data && data.formData && data.formData.contactEmail && window.dmPt) {
12216                    try {
12217                        window.dmPt('identify', data.formData.contactEmail);
12218                    }
12219                    catch (e) { }
12220                }
12221            };
12222            EmbeddingAPI.prototype.onComplete = function (fn, pageId) {
12223                if (pageId === void 0) { pageId = ''; }
12224                this.complete.push({ pageId: this.getId(pageId), method: fn });
12225            };
12226            EmbeddingAPI.prototype.open = function (pageId) {
12227                if (pageId === void 0) { pageId = ''; }
12228                this.getForms(pageId).forEach(function (x) { return x.form.open(); });
12229            };
12230            EmbeddingAPI.prototype.close = function (pageId) {
12231                if (pageId === void 0) { pageId = ''; }
12232                this.getForms(pageId).forEach(function (x) { return x.form.close(); });
12233            };
12234            EmbeddingAPI.prototype.getForms = function (name) {
12235                var _this = this;
12236                var forms = this.pages;
12237                if (name) {
12238                    forms = forms.filter(function (x) { return x.pageId === _this.getId(name); });
12239                }
12240                return forms;
12241            };
12242            EmbeddingAPI.prototype.getId = function (pageId) {
12243                return pageId.split('/')[0];
12244            };
12245            return EmbeddingAPI;
12246        }());
12247        sharing.EmbeddingAPI = EmbeddingAPI;
12248    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
12249})(landingpages || (landingpages = {}));
12250var landingpages;
12251(function (landingpages) {
12252    var sharing;
12253    (function (sharing) {
12254        if (!window.lpXD) {
12255            window.lpXD = function () {
12256                var interval_id, last_hash, cache_bust = 1, attached_callback;
12257                return {
12258                    postMessage: function (message, target_url, target) {
12259                        if (!target_url) {
12260                            return;
12261                        }
12262                        target = target || parent;
12263                        if (/dsid=/.test(location.search)) {
12264                            var dsid = location.search.replace(/.*dsid=([^&]+)/, '$1');
12265                            message = message.replace(/\}\s*$/, ",\"islpsurvey\":true, \"dsid\":\"".concat(dsid, "\"}"));
12266                        }
12267                        if (window['postMessage']) {
12268                            target['postMessage'](message, target_url.replace(/([^:]+:\/\/[^\/]+).*/, '$1'));
12269                        }
12270                        else if (target_url) {
12271                            target.location = target_url.replace(/#.*$/, '') + '#' + (+new Date) + (cache_bust++) + '&' + message;
12272                        }
12273                    },
12274                    receiveMessage: function (callback, source_origin) {
12275                        if (window['postMessage']) {
12276                            if (callback) {
12277                                attached_callback = function (e) {
12278                                    if ((Object.prototype.toString.call(source_origin) === "[object Function]" && source_origin(e.origin) === !1)) {
12279                                        return !1;
12280                                    }
12281                                    callback(e);
12282                                };
12283                            }
12284                            if (window['addEventListener']) {
12285                                window[callback ? 'addEventListener' : 'removeEventListener']('message', attached_callback, !1);
12286                            }
12287                            else {
12288                                window[callback ? 'attachEvent' : 'detachEvent']('onmessage', attached_callback);
12289                            }
12290                        }
12291                        else {
12292                            interval_id && clearInterval(interval_id);
12293                            interval_id = null;
12294                            if (callback) {
12295                                interval_id = setInterval(function () {
12296                                    var hash = document.location.hash, re = /^#?\d+&/;
12297                                    if (hash !== last_hash && re.test(hash)) {
12298                                        last_hash = hash;
12299                                        callback({ data: hash.replace(re, '') });
12300                                    }
12301                                }, 100);
12302                            }
12303                        }
12304                    }
12305                };
12306            }();
12307        }
12308    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
12309})(landingpages || (landingpages = {}));
12310var landingpage;
12311(function (landingpage) {
12312    var LPComponent = (function () {
12313        function LPComponent(el) {
12314            this.el = el;
12315            this.el.setAttribute('lp-id', "".concat(LPComponent.index++));
12316            LPComponent.components.push(this);
12317        }
12318        LPComponent.getComponent = function (el) {
12319            var id = el.getAttribute('lp-id');
12320            if (!id)
12321                return;
12322            var index = parseInt(id);
12323            return LPComponent.components[index];
12324        };
12325        LPComponent.index = 0;
12326        LPComponent.components = [];
12327        return LPComponent;
12328    }());
12329    landingpage.LPComponent = LPComponent;
12330})(landingpage || (landingpage = {}));
12331var landingpages;
12332(function (landingpages) {
12333    var sharing;
12334    (function (sharing) {
12335        var sendMessageBase = (function () {
12336            function sendMessageBase() {
12337                this.pathName = '';
12338                var pathname = window.document.location.pathname.replace(/^\/p\//i, '');
12339                this.pathName = pathname.split('/')[0];
12340            }
12341            sendMessageBase.prototype.isInIframe = function () {
12342                return window.parent && window.parent !== window;
12343            };
12344            sendMessageBase.prototype.getParentUrl = function () {
12345                return decodeURIComponent(document.location.hash.replace(/^#/, ''));
12346            };
12347            return sendMessageBase;
12348        }());
12349        sharing.sendMessageBase = sendMessageBase;
12350    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
12351})(landingpages || (landingpages = {}));
12352var landingpages;
12353(function (landingpages) {
12354    var sharing;
12355    (function (sharing) {
12356        var sendMessageOnLoad = (function (_super) {
12357            __extends(sendMessageOnLoad, _super);
12358            function sendMessageOnLoad() {
12359                var _this = _super.call(this) || this;
12360                _this.currentDims = { width: 0, height: 0, name: '', scroll: -1 };
12361                _this.currentDims.name = _this.pathName;
12362                if (_this.isInIframe()) {
12363                    document.addEventListener('DOMContentLoaded', function () { return _this.startTimer(); });
12364                }
12365                return _this;
12366            }
12367            sendMessageOnLoad.prototype.sectionChanged = function () {
12368                this.currentDims.scroll = 0;
12369            };
12370            sendMessageOnLoad.prototype.sendCompleteMessage = function (data) {
12371                if (this.isInIframe()) {
12372                    var parentUrl = this.getParentUrl(), msg = "{ \"complete\": true, \"name\": \"".concat(this.pathName, "\", \"formData\": ").concat(JSON.stringify(data), " }");
12373                    window.lpXD.postMessage(msg, parentUrl, window.parent);
12374                    this.identify(data);
12375                }
12376            };
12377            sendMessageOnLoad.prototype.identify = function (data) {
12378                if (data && data.formData && data.formData.contactEmail && window.dmPt) {
12379                    try {
12380                        window.dmPt('identify', data.formData.contactEmail);
12381                    }
12382                    catch (e) { }
12383                }
12384            };
12385            sendMessageOnLoad.prototype.startTimer = function () {
12386                var _this = this;
12387                window.setInterval(function () { return _this.checkSize(); }, 20);
12388            };
12389            sendMessageOnLoad.prototype.checkSize = function () {
12390                var height = this.getHeight(), width = this.getWidth(), heightDifference = this.currentDims.height - height;
12391                if (heightDifference < 0 || heightDifference >= 40) {
12392                    if (this.currentDims.height !== height || this.currentDims.width !== width) {
12393                        this.currentDims.height = height;
12394                        this.currentDims.width = width;
12395                        this.sendSizeMessage();
12396                    }
12397                }
12398            };
12399            sendMessageOnLoad.prototype.sendSizeMessage = function () {
12400                if (this.isInIframe()) {
12401                    var parentUrl = this.getParentUrl(), msg = JSON.stringify(this.currentDims);
12402                    window.lpXD.postMessage(msg, parentUrl, window.parent);
12403                }
12404            };
12405            sendMessageOnLoad.prototype.getWidth = function () {
12406                var els = $(document).find('div,table').toArray(), fullWidth = document.body.offsetWidth, width = 0;
12407                for (var i = 0; i < els.length; i++) {
12408                    var elWidth = $(els[i]).width();
12409                    if (elWidth < fullWidth && elWidth > width)
12410                        width = elWidth;
12411                }
12412                return width > 0 ? width : fullWidth;
12413            };
12414            sendMessageOnLoad.prototype.getHeight = function () {
12415                var height = document.body.offsetHeight;
12416                $(document.body).find('iframe').each(function (i, el) {
12417                    var frameBottom = el.getBoundingClientRect().bottom;
12418                    if (height < frameBottom)
12419                        height = frameBottom;
12420                });
12421                return height;
12422            };
12423            return sendMessageOnLoad;
12424        }(sharing.sendMessageBase));
12425        sharing.sendMessageOnLoad = sendMessageOnLoad;
12426        window.sendMessageOnLoad = new sendMessageOnLoad();
12427    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
12428})(landingpages || (landingpages = {}));
12429var landingpage;
12430(function (landingpage) {
12431    var LandingPagesFrameWork = (function () {
12432        function LandingPagesFrameWork() {
12433        }
12434        LandingPagesFrameWork.prototype.element = function (selector, fn) {
12435            var stateCheck = setInterval(function () {
12436                if (document.readyState === 'complete') {
12437                    clearInterval(stateCheck);
12438                    selector.split(/,\s+/g).forEach(function (val) { return document.querySelectorAll("[".concat(val, "]")).forEac
12438h(function (el) { return fn(el); }); });
12439                }
12440            }, 20);
12441        };
12442        LandingPagesFrameWork.prototype.onDocumntReady = function (fn) {
12443            var stateCheck = setInterval(function () {
12444                if (document.readyState === 'complete') {
12445                    clearInterval(stateCheck);
12446                    fn(document);
12447                }
12448            }, 20);
12449        };
12450        return LandingPagesFrameWork;
12451    }());
12452    landingpage.LandingPagesFrameWork = LandingPagesFrameWork;
12453    window.lpFrameWork = new LandingPagesFrameWork();
12454})(landingpage || (landingpage = {}));
12455var landingpage;
12456(function (landingpage) {
12457    var PageMessengerService = (function () {
12458        function PageMessengerService() {
12459        }
12460        PageMessengerService.getService = function () {
12461            if (!this.serviceInstance) {
12462                this.serviceInstance = new PageMessengerService();
12463            }
12464            return this.serviceInstance;
12465        };
12466        PageMessengerService.prototype.listen = function (message, fn) {
12467            if (PageMessengerService.messageStore[message]) {
12468                PageMessengerService.messageStore[message].push(fn);
12469            }
12470            else {
12471                PageMessengerService.messageStore[message] = [fn];
12472            }
12473        };
12474        PageMessengerService.prototype.broadcast = function (message, value) {
12475            if (value === void 0) { value = null; }
12476            if (PageMessengerService.messageStore[message]) {
12477                PageMessengerService.messageStore[message].forEach(function (fn) { return fn(value); });
12478            }
12479        };
12480        PageMessengerService.prototype.setData = function (message, value) {
12481            PageMessengerService.dataStore[message] = value;
12482        };
12483        PageMessengerService.prototype.getData = function (message) {
12484            return PageMessengerService.dataStore[message];
12485        };
12486        PageMessengerService.messageStore = {};
12487        PageMessengerService.dataStore = {};
12488        return PageMessengerService;
12489    }());
12490    landingpage.PageMessengerService = PageMessengerService;
12491})(landingpage || (landingpage = {}));
12492var landingpage;
12493(function (landingpage) {
12494    var PageUtilities = (function () {
12495        function PageUtilities() {
12496        }
12497        PageUtilities.filter = function (context, selector, fn) {
12498            var elements = [];
12499            PageUtilities.forEach(context, selector, function (el) {
12500                if (fn(el)) {
12501                    elements.push(el);
12502                }
12503            });
12504            return elements;
12505        };
12506        PageUtilities.find = function (context, selector, fn) {
12507            var elements = PageUtilities.filter(context, selector, function (el) { return fn(el); });
12508            return elements.length ? elements[0] : null;
12509        };
12510        PageUtilities.forEach = function (context, selector, fn) {
12511            context.querySelectorAll(selector).forEach(function (el) { return fn(el); });
12512        };
12513        PageUtilities.toArray = function (context, selector) {
12514            return PageUtilities.filter(context, selector, function () { return true; });
12515        };
12516        PageUtilities.nodeListToArray = function (nodeList) {
12517            var array = [];
12518            nodeList.forEach(function (el) { return array.push(el); });
12519            return array;
12520        };
12521        PageUtilities.nextAll = function (el, selectorClass) {
12522            if (selectorClass === void 0) { selectorClass = null; }
12523            if (el === null) {
12524                return;
12525            }
12526            var nextAll = [];
12527            var nextSibling = el.nextElementSibling;
12528            while (nextSibling) {
12529                if (!selectorClass || nextSibling.classList.contains(selectorClass)) {
12530                    nextAll.push(nextSibling);
12531                }
12532                nextSibling = nextSibling.nextElementSibling;
12533            }
12534            return nextAll;
12535        };
12536        PageUtilities.setAttribute = function (el, attr, val) {
12537            if (val === void 0) { val = null; }
12538            if (el === null) {
12539                return;
12540            }
12541            if (val !== null) {
12542                el.setAttribute(attr, val);
12543            }
12544            else {
12545                el.removeAttribute(attr);
12546            }
12547        };
12548        PageUtilities.setClass = function (el, cls, toggle) {
12549            if (toggle) {
12550                PageUtilities.addClass(el, cls);
12551            }
12552            else {
12553                PageUtilities.removeClass(el, cls);
12554            }
12555        };
12556        PageUtilities.addClass = function (el, cls) {
12557            if (el === null) {
12558                return;
12559            }
12560            if (!PageUtilities.hasClass(el, cls)) {
12561                el.classList.add(cls);
12562            }
12563        };
12564        PageUtilities.removeClass = function (el, cls) {
12565            if (el === null) {
12566                return;
12567            }
12568            if (PageUtilities.hasClass(el, cls)) {
12569                el.classList.remove(cls);
12570            }
12571        };
12572        PageUtilities.hasClass = function (el, cls) {
12573            if (el === null) {
12574                return false;
12575            }
12576            return el.classList.contains(cls);
12577        };
12578        PageUtilities.hasAttribute = function (el, attr) {
12579            if (el === null) {
12580                return false;
12581            }
12582            return el.getAttribute(attr) !== null;
12583        };
12584        PageUtilities.showHide = function (el, toggle) {
12585            if (el === null) {
12586                return;
12587            }
12588            if (toggle) {
12589                el.style.display = '';
12590            }
12591            else {
12592                el.style.display = 'none';
12593            }
12594        };
12595        PageUtilities.getOffsetTop = function (el) {
12596            var offset = 0;
12597            var offsetParent = el;
12598            while (offsetParent) {
12599                offset += offsetParent.offsetTop;
12600                offsetParent = offsetParent.offsetParent;
12601            }
12602            return offset;
12603        };
12604        PageUtilities.getFriendlyDateFormat = function (date) {
12605            var daysStrings = window.landingPageStrings.fullDays;
12606            var monthsStrings = window.landingPageStrings.months;
12607            var days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
12608            var months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];
12609            var day = daysStrings[days[date.getDay()]];
12610            var month = monthsStrings[months[date.getMonth()]];
12611            var year = date.getFullYear();
12612            return "".concat(day, " ").concat(date.getDate(), " ").concat(month, " ").concat(year, " ").concat(date.toLocaleTimeString());
12613        };
12614        return PageUtilities;
12615    }());
12616    landingpage.PageUtilities = PageUtilities;
12617})(landingpage || (landingpage = {}));
12618var landingpage;
12619(function (landingpage) {
12620    var updateLinks;
12621    (function (updateLinks) {
12622        var UpdateLinksTargetAttribute = (function () {
12623            function UpdateLinksTargetAttribute() {
12624            }
12625            UpdateLinksTargetAttribute.prototype.updateLinks = function (document) {
12626                var links = document.querySelectorAll('a');
12627                links.forEach(function (link) {
12628                    if (link.getAttribute('target') === null) {
12629                        var href = link.getAttribute('href');
12630                        if (href !== null && href.indexOf('http') === 0)
12631                            link.setAttribute('target', '_blank');
12632                    }
12633                });
12634            };
12635            return UpdateLinksTargetAttribute;
12636        }());
12637        window.lpFrameWork.onDocumntReady(new UpdateLinksTargetAttribute().updateLinks);
12638    })(updateLinks = landingpage.updateLinks || (landingpage.updateLinks = {}));
12639})(landingpage || (landingpage = {}));
12640var landingpage;
12641(function (landingpage) {
12642    var countdown;
12643    (function (countdown) {
12644        var Countdown = (function (_super) {
12645            __extends(Countdown, _super);
12646            function Countdown(el) {
12647                var _this = _super.call(this, el) || this;
12648                _this.template = "<div>\n            <div class=\"countdown-accessibility-text\"></div>\n            <ul aria-hidden=\"true\">\n                <li>\n                    <div class=\"countdown-timer time-days\"></div>\n                    <div class=\"countdown-label\">".concat(window.landingPageStrings['countdown.days'], "</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer\">:</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer time-hours\"></div>\n                    <div class=\"countdown-label\">").concat(window.landingPageStrings['countdown.hours'], "</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer\">:</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer time-minutes\"></div>\n                    <div class=\"countdown-label\">").concat(window.landingPageStrings['countdown.minutes'], "</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer\">:</div>\n                </li>\n                <li>\n                    <div class=\"countdown-timer time-seconds\"></div>\n                    <div class=\"countdown-label\">").concat(window.landingPageStrings['countdown.seconds'], "</div>\n                </li>\n            </ul>\n        </div>");
12649                _this.intervals = { day: 24 * 60 * 60 * 1000, hour: 60 * 60 * 1000, minute: 60 * 1000, second: 1000 };
12650                _this.initContent();
12651                _this.initData();
12652                _this.setElements();
12653                _this.initTimers();
12654                _this.initLabels();
12655                _this.initAccessibleText();
12656                _this.update();
12657                return _this;
12658            }
12659            Countdown.prototype.initData = function () {
12660                this.data = {
12661                    accessibilityText: this.el.getAttribute('data-countdown-accessibilityText'),
12662                    date: new Date(parseInt(this.el.getAttribute('data-countdown'))),
12663                    labelStyle: JSON.parse(this.el.getAttribute('data-countdown-labelstyle')),
12664                    timerStyle: JSON.parse(this.el.getAttribute('data-countdown-timerstyle')),
12665                    showTimer: this.el.getAttribute('data-countdown-showtime') === 'true',
12666                    showLabels: this.el.getAttribute('data-countdown-showlabels') === 'true',
12667                    redirect: this.el.getAttribute('data-countdown-redirect') === 'true',
12668                    redirection: this.el.getAttribute('data-countdown-redirection')
12669                };
12670            };
12671            Countdown.prototype.initContent = function () {
12672                var content = this.el.querySelector('.ee_countdowncontent');
12673                content.innerHTML = this.template;
12674            };
12675            Countdown.prototype.setElements = function () {
12676                this.days = this.el.querySelector('.time-days');
12677                this.hours = this.el.querySelector('.time-hours');
12678                this.minutes = this.el.querySelector('.time-minutes');
12679                this.seconds = this.el.querySelector('.time-seconds');
12680                this.accessibilityText = this.el.querySelector('.countdown-accessibility-text');
12681            };
12682            Countdown.prototype.initTimers = function () {
12683                var _this = this;
12684                if (!this.data.showTimer) {
12685                    this.el.querySelectorAll('li+li').forEach(function (el) { return el.remove(); });
12686                }
12687                this.el.querySelectorAll('.countdown-timer').forEach(function (el) { return _this.applyStyle(el, _this.data.timerStyle); });
12688            };
12689            Countdown.prototype.initLabels = function () {
12690                var _this = this;
12691                var labels = this.el.querySelectorAll('.countdown-label');
12692                if (this.data.showLabels) {
12693                    labels.forEach(function (el) { return _this.applyStyle(el, _this.data.labelStyle); });
12694                }
12695                else {
12696                    labels.forEach(function (el) { return el.remove(); });
12697                }
12698            };
12699            Countdown.prototype.initAccessibleText = function () {
12700                var text = !!this.data.accessibilityText ? this.data.accessibilityText : window.landingPageStrings['countdown.altTextDefault'];
12701                var friendlyDate = landingpage.PageUtilities.getFriendlyDateFormat(this.data.date);
12702                this.accessibilityText.innerHTML = "".concat(text, " ").concat(friendlyDate);
12703            };
12704            Countdown.prototype.applyStyle = function (el, style) {
12705                for (var prop in style) {
12706                    el.style[prop] = style[prop];
12707                }
12708            };
12709            Countdown.prototype.update = function () {
12710                var offset = this.data.date.getTime() - Date.now();
12711                if (offset > 0) {
12712                    this.setTime(offset);
12713                }
12714                else if (this.data.redirect) {
12715                    this.redirect();
12716                }
12717                else {
12718                    this.resetTime();
12719                }
12720            };
12721            ;
12722            Countdown.prototype.setTime = function (offset) {
12723                var _this = this;
12724                this.days.innerHTML = "".concat(Math.floor(offset / this.intervals.day));
12725                if (this.data.showTimer) {
12726                    offset = offset % this.intervals.day;
12727                    this.hours.innerHTML = this.leftPad(Math.floor(offset / this.intervals.hour));
12728                    offset = offset % this.intervals.hour;
12729                    this.minutes.innerHTML = this.leftPad(Math.floor(offset / this.intervals.minute));
12730                    offset = offset % this.intervals.minute;
12731                    this.seconds.innerHTML = this.leftPad(Math.floor(offset / this.intervals.second));
12732                }
12733                window.setTimeout(function () { return _this.update(); }, 1000);
12734            };
12735            Countdown.prototype.leftPad = function (num) {
12736                return num >= 10 ? "".concat(num) : "0".concat(num);
12737            };
12738            Countdown.prototype.redirect = function () {
12739                window.location.href = this.data.redirection.replace('http://', '//');
12740            };
12741            Countdown.prototype.resetTime = function () {
12742                this.days.innerHTML = '0';
12743                this.hours.innerHTML = '00';
12744                this.minutes.innerHTML = '00';
12745                this.seconds.innerHTML = '00';
12746            };
12747            return Countdown;
12748        }(landingpage.LPComponent));
12749        countdown.Countdown = Countdown;
12750        window.lpFrameWork.element('landingpage-countdown', function (el) { return new Countdown(el); });
12751    })(countdown = landingpage.countdown || (landingpage.countdown = {}));
12752})(landingpage || (landingpage = {}));
12753var landingpages;
12754(function (landingpages) {
12755    var sharing;
12756    (function (sharing) {
12757        var lpCaptchaCallback = (function () {
12758            function lpCaptchaCallback() {
12759            }
12760            lpCaptchaCallback.lpOnloadCaptchaCallback = function () {
12761                var $target = $('input[type=submit].paging-button-submit');
12762                var scripts = document.querySelectorAll("script");
12763                var fileUploadCaptchaScript = null;
12764                for (var i = 0; i < scripts.length; i++) {
12765                    if (scripts[i].hasAttribute('file-upload-captcha')) {
12766                        fileUploadCaptchaScript = scripts[i];
12767                        break;
12768                    }
12769                }
12770                if ($target.length && !lpCaptchaCallback.captchaLoaded && !fileUploadCaptchaScript)
12771                    lpCaptchaCallback.renderCaptcha($target);
12772            };
12773            lpCaptchaCallback.renderCaptcha = function ($el) {
12774                if (!window.grecaptcha || !window.grecaptcha.render)
12775                    return;
12776                window.grecaptcha.render($el[$el.length - 1], {
12777                    'sitekey': '6LeOsI0UAAAAAARhdf5auu8GQpO9Yy5oP0BvsWFU',
12778                    'callback': lpCaptchaCallback.lpOnCaptchaSubmit
12779                });
12780                window.setTimeout(function () {
12781                    lpCaptchaCallback.adjustRecaptchaPosition();
12782                    lpCaptchaCallback.captchaLoaded = true;
12783                }, 1000);
12784            };
12785            lpCaptchaCallback.adjustRecaptchaPosition = function () {
12786                var $target = $('.ee_actionbuttons:visible'), $recaptcha = $('.grecaptcha-badge');
12787                if (!$target.length || !$recaptcha.length)
12788                    return;
12789                var targetRect = $target[0].getBoundingClientRect(), recaptchaRect = $recaptcha[0].getBoundingClientRect(), intersects = lpCaptchaCallback.intersectRect(targetRect, recaptchaRect), docked = lpCaptchaCallback.dockedTarget(targetRect, targetRect.height);
12790                if (intersects)
12791                    lpCaptchaCallback.performAdjustPosition($recaptcha, recaptchaRect.bottom - targetRect.top);
12792                else if (docked)
12793                    lpCaptchaCallback.performAdjustPosition($recaptcha, targetRect.height);
12794            };
12795            lpCaptchaCallback.intersectRect = function (r1, r2) {
12796                return !(r2.left > r1.right || r2.right < r1.left || r2.top > r1.bottom || r2.bottom < r1.top);
12797            };
12798            lpCaptchaCallback.dockedTarget = function (r, targetHeight) {
12799                var bottomSpace = Math.round(document.body.getBoundingClientRect().height) - Math.round(r.bottom);
12800                return bottomSpace <= (targetHeight + 8);
12801            };
12802            lpCaptchaCallback.performAdjustPosition = function ($recaptcha, adjustBottom) {
12803                var currentBottom = parseInt($recaptcha.css('bottom'));
12804                $recaptcha.css('bottom', "".concat(adjustBottom + currentBottom + 8, "px"));
12805            };
12806            lpCaptchaCallback.lpOnCaptchaSubmit = function () {
12807                window.lpFormSubmitForm();
12808            };
12809            lpCaptchaCallback.captchaLoaded = false;
12810            return lpCaptchaCallback;
12811        }());
12812        sharing.lpCaptchaCallback = lpCaptchaCallback;
12813    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
12814})(landingpages || (landingpages = {}));
12815window.lpOnloadCaptchaCallback = landingpages.sharing.lpCaptchaCallback.lpOnloadCaptchaCallback;
12816var landingpages;
12817(function (landingpages) {
12818    var sharing;
12819    (function (sharing) {
12820        var sendMessageOnKeyup = (function (_super) {
12821            __extends(sendMessageOnKeyup, _super);
12822            function sendMessageOnKeyup() {
12823                var _this = _super.call(this) || this;
12824                if (_this.isInIframe()) {
12825                    document.addEventListener('keyup', function (e) { return _this.onKeyUp(e); });
12826                }
12827                return _this;
12828            }
12829            sendMessageOnKeyup.prototype.onKeyUp = function (e) {
12830                if (e.key !== 'Escape')
12831                    return;
12832                var parentUrl = this.getParentUrl(), msg = "{ \"
12832name\": \"".concat(this.pathName, "\", \"keyup\": \"").concat(e.key, "\" }");
12833                window.lpXD.postMessage(msg, parentUrl, window.parent);
12834            };
12835            return sendMessageOnKeyup;
12836        }(sharing.sendMessageBase));
12837        sharing.sendMessageOnKeyup = sendMessageOnKeyup;
12838        new sendMessageOnKeyup();
12839    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
12840})(landingpages || (landingpages = {}));
12841var landingpage;
12842(function (landingpage) {
12843    var paging;
12844    (function (paging) {
12845        var PagingButtonsTemplate = (function () {
12846            function PagingButtonsTemplate() {
12847            }
12848            PagingButtonsTemplate.getTemplate = function () {
12849                return "<div class=\"action-button-container\">\n                    <legend class=\"ee_fieldgroupheader\"></legend>\n                    <input class=\"paging-button-back\" type=\"button\" ng-hide=\"hideBackButton\" ng-value=\"backText\" ng-click=\"previousPage()\" />\n                    <input class=\"paging-button-next\" type=\"button\" ng-hide=\"hideNextButton\" ng-value=\"nextText\" ng-click=\"nextPage()\" />\n                    <input class=\"paging-button-submit\" type=\"button\" ng-hide=\"pageValid || hideSubmitButton\" ng-value=\"submitText\" ng-mousedown=\"validateLastPage()\" />\n                    <input class=\"paging-button-submit\" type=\"submit\" ng-hide=\"!pageValid || hideSubmitButton\" ng-value=\"submitText\" />\n                </div>";
12850            };
12851            return PagingButtonsTemplate;
12852        }());
12853        paging.PagingButtonsTemplate = PagingButtonsTemplate;
12854    })(paging = landingpage.paging || (landingpage.paging = {}));
12855})(landingpage || (landingpage = {}));
12856var landingpage;
12857(function (landingpage) {
12858    var paging;
12859    (function (paging) {
12860        ;
12861        var PageService = (function () {
12862            function PageService() {
12863                var _this = this;
12864                this.sectionLogicService = new paging.SectionLogicService();
12865                this.pageHistoryService = new paging.PageHistoryService();
12866                this.pageMessengerService = landingpage.PageMessengerService.getService();
12867                this.pageValidityService = paging.PageValidityService.getService();
12868                this.updatePageData();
12869                this.pageHistoryService.setInitialPage(PageService.pageData.current);
12870                this.setTransitionDuration();
12871                this.enabled = true;
12872                this.pageMessengerService.listen('spacetimeBlockLoaded', function () { return _this.updatePageData(); });
12873            }
12874            PageService.getService = function () {
12875                if (!this.serviceInstance) {
12876                    this.serviceInstance = new PageService();
12877                }
12878                return this.serviceInstance;
12879            };
12880            PageService.prototype.getCurrentPageData = function () {
12881                return PageService.pageData;
12882            };
12883            PageService.prototype.previousPage = function () {
12884                this.setDisableTimer();
12885                if (!this.enabled)
12886                    return;
12887                this.enabled = false;
12888                this.setCurrentPageHeightData();
12889                var newPage = this.pageHistoryService.previousPageFromHistory();
12890                this.setPage(newPage);
12891            };
12892            PageService.prototype.nextPage = function () {
12893                this.setDisableTimer();
12894                if (!this.enabled)
12895                    return;
12896                this.enabled = false;
12897                this.setCurrentPageHeightData();
12898                if (this.pageValidityService.getInvalidInputs(this.currentPage).length) {
12899                    this.pageValidityService.markPageInvalid(this.currentPage);
12900                }
12901                else {
12902                    this.processActionButtonLogic(this.currentPage);
12903                    this.pageValidityService.markPageValid(this.currentPage);
12904                    this.calculateNextPage(this.currentPage);
12905                    this.performScroll();
12906                }
12907                this.pageMessengerService.broadcast('formChanged');
12908            };
12909            PageService.prototype.setPage = function (page) {
12910                if (page >= 1 && page <= PageService.pageData.max) {
12911                    PageService.pageData.current = page;
12912                    this.currentPage = document.querySelector("[page-id='".concat(PageService.pageData.current, "']"));
12913                }
12914                PageService.pageData.isFirstPage = page === 1;
12915                PageService.pageData.isLastPage = page === PageService.pageData.max;
12916                this.broadcastPageChanged();
12917            };
12918            PageService.prototype.performScroll = function () {
12919                var scrollSetting = this.getScrollSettings();
12920                if (scrollSetting === 'scroll-to-section-top')
12921                    this.pageValidityService.scrollToSectionTop();
12922                else if (scrollSetting !== 'scroll-none')
12923                    this.pageValidityService.scrollToTop();
12924            };
12925            PageService.prototype.getScrollSettings = function () {
12926                var settingElements = landingpage.PageUtilities.filter(document, '.ee_sections,.ee_confirmation', function (el) { return el.hasAttribute('data-element-settings'); });
12927                var elementSettings;
12928                if (settingElements.length) {
12929                    elementSettings = JSON.parse(settingElements[0].getAttribute('data-element-settings'));
12930                }
12931                return elementSettings ? elementSettings.scroll : 'scroll-to-top';
12932            };
12933            PageService.prototype.updatePageData = function () {
12934                var _this = this;
12935                PageService.pageData.max = document.querySelectorAll('[ee-page]').length;
12936                window.setTimeout(function () { return _this.currentPage = document.querySelector("[page-id='".concat(PageService.pageData.current, "']")); }, 1);
12937                if (PageService.pageData.max <= 1) {
12938                    PageService.pageData.isLastPage = true;
12939                }
12940                else {
12941                    PageService.pageData.isLastPage = PageService.pageData.current === PageService.pageData.max;
12942                }
12943                PageService.pageData.showSubmit = !!document.querySelectorAll("".concat(PageService.inputSelector, ",textarea,[lp-survey-datetime-input]")).length;
12944                this.broadcastPageChanged();
12945            };
12946            PageService.prototype.calculateNextPage = function (currentPage) {
12947                var _this = this;
12948                var nextPages = landingpage.PageUtilities.nextAll(currentPage).filter(function (el) { return landingpage.PageUtilities.hasClass(el, 'ee_container'); }), result = { nextPageFound: false };
12949                nextPages.forEach(function (el) { return _this.processNextPage(el, result); });
12950            };
12951            PageService.prototype.processNextPage = function (page, result) {
12952                var _this = this;
12953                if (result.nextPageFound)
12954                    return;
12955                var sectionLogicAttr = page.getAttribute('section-logic'), lastPage = document.querySelector('[ee-page]:last-of-type');
12956                if (page === lastPage) {
12957                    result.nextPageFound = true;
12958                }
12959                else if (sectionLogicAttr) {
12960                    var sectionLogic = JSON.parse(sectionLogicAttr), showByDefault_1 = typeof sectionLogic.showByDefault !== 'undefined' ? sectionLogic.showByDefault : true, rules = sectionLogic.rules;
12961                    if (!!rules.length) {
12962                        rules.forEach(function (rule) { return _this.checkNextPageFound(rule, showByDefault_1, result); });
12963                    }
12964                    else {
12965                        result.nextPageFound = true;
12966                    }
12967                }
12968                else {
12969                    result.nextPageFound = true;
12970                }
12971                if (result.nextPageFound) {
12972                    var newPage = this.pageHistoryService.nextPageToHistory(parseInt(page.getAttribute('page-id')));
12973                    this.setPage(newPage);
12974                }
12975            };
12976            PageService.prototype.checkNextPageFound = function (rule, showByDefault, result) {
12977                var ruleIsMet = this.isRuleMet(rule);
12978                if (rule.action.logic === 'hideSection')
12979                    result.nextPageFound = showByDefault ? !ruleIsMet : ruleIsMet;
12980            };
12981            PageService.prototype.processActionButtonLogic = function (page) {
12982                var _this = this;
12983                var sectionLogicAttr = page.getAttribute('section-logic');
12984                if (sectionLogicAttr) {
12985                    var sectionLogic = JSON.parse(sectionLogicAttr), rules = sectionLogic.actionButtonRules || [];
12986                    if (!!rules.length) {
12987                        rules.forEach(function (rule) {
12988                            var ruleIsMet = _this.isRuleMet(rule);
12989                            if (ruleIsMet) {
12990                                _this.pageMessengerService.broadcast('hideButtons');
12991                            }
12992                        });
12993                    }
12994                }
12995            };
12996            PageService.prototype.isRuleMet = function (rule) {
12997                var _this = this;
12998                var clauseResults = rule.clauseList.map(function (clause) { return _this.sectionLogicService.isClauseMet(clause); }), metClauses = clauseResults.filter(function (val) { return val; });
12999                return this.sectionLogicService.isRuleMet(rule, clauseResults, metClauses);
13000            };
13001            PageService.prototype.setCurrentPageHeightData = function () {
13002                window.sendMessageOnLoad.sectionChanged();
13003                this.currentPage.setAttribute('data-page-height', "".concat(parseFloat(getComputedStyle(this.currentPage).height)));
13004            };
13005            PageService.prototype.setDisableTimer = function () {
13006                var _this = this;
13007                window.clearTimeout(this.timeout);
13008                this.timeout = window.setTimeout(function () { return _this.enabled = true; }, PageService.pageData.delay);
13009            };
13010            PageService.prototype.setTransitionDuration = function () {
13011                var _this = this;
13012                var maxDurations = [];
13013                landingpage.PageUtilities.forEach(document, '.ee_sections_inner', function (el) { return maxDurations.push(_this.getMaxSectionTransitionDuration(el)); });
13014                PageService.pageData.delay = this.getMaxFromArray(maxDurations);
13015                this.broadcastPageChanged();
13016            };
13017            PageService.prototype.getMaxSectionTransitionDuration = function (el) {
13018                var _this = this;
13019                var transitionDuration = getComputedStyle(el).transitionDuration, transitionDurations = transitionDuration.split(','), durationsForElement = transitionDurations.map(function (td) { return _this.getDurationsForElement(td); });
13020                return this.getMaxFromArray(durationsForElement);
13021            };
13022            PageService.prototype.getDurationsForElement = function (td) {
13023                var time = 0;
13024                if (/ms$/i.test(td)) {
13025                    time = (parseFloat(td.replace(/ms$/i, '')) || 0);
13026                }
13027                else if (/s$/i.test(td)) {
13028                    time = (parseFloat(td.replace(/s$/i, '')) || 0) * 1000;
13029                }
13030                else {
13031                    time = (parseFloat(td) || 0);
13032                }
13033                return time;
13034            };
13035            PageService.prototype.getMaxFromArray = function (arr) {
13036                return arr.length ? arr.reduce(function (a, b) { return Math.max(a, b); }) : 0;
13037            };
13038            PageService.prototype.broadcastPageChanged = function () {
13039                var broadcastTargets = ['container', 'buttons', 'progress-bar', 'progress-dots'];
13040                landingpage.PageUtilities.forEach(document, broadcastTargets.map(function (target) { return "[ee-page-".concat(target, "]"); }).join(','), function (element) { var _a; return (_a = landingpage.LPComponent.getComponent(element)) === null || _a === void 0 ? void 0 : _a.onPageChanged(); });
13041            };
13042            PageService.inputTypes = ['text', 'number', 'email', 'radio', 'checkbox', 'file', 'range'];
13043            PageService.inputTypeSelector = PageService.inputTypes.map(function (type) { return "input[type=".concat(type, "]"); }).join(',');
13044            PageService.inputSelector = "".concat(PageService.inputTypeSelector, ",select");
13045            PageService.pageData = {
13046                max: 1,
13047                current: 1,
13048                delay: 0,
13049                isFirstPage: true,
13050                isLastPage: false,
13051                showSubmit: false,
13052                hideAllPages: false
13053            };
13054            return PageService;
13055        }());
13056        paging.PageService = PageService;
13057    })(paging = landingpage.paging || (landingpage.paging = {}));
13058})(landingpage || (landingpage = {}));
13059var landingpage;
13060(function (landingpage) {
13061    var paging;
13062    (function (paging) {
13063        var EePage = (function (_super) {
13064            __extends(EePage, _super);
13065            function EePage(el) {
13066                var _this = _super.call(this, el) || this;
13067                _this.height = 0;
13068                _this.showPage = false;
13069                _this.pageService = paging.PageService.getService();
13070                _this.pageAnimationService = new paging.PageAnimationService();
13071                _this.el.classList.add('ee-page-animate');
13072                _this.pageId = parseInt(_this.el.getAttribute('page-id'));
13073                _this.pageTitle = _this.el.getAttribute('page-title');
13074                _this.showPage = false;
13075                _this.pageData = _this.pageService.getCurrentPageData();
13076                _this.animateSettings = _this.pageAnimationService.getAnimateSettings(_this.el.closest('.ee_sections'));
13077                window.setTimeout(function () { return _this.init(); }, 1);
13078                return _this;
13079            }
13080            EePage.prototype.onPageChanged = function () {
13081                var _this = this;
13082                var isPrev = this.pageId < this.pageData.current;
13083                var isNext = this.pageId > this.pageData.current;
13084                landingpage.PageUtilities.setClass(this.el, 'animate-prev', isPrev);
13085                landingpage.PageUtilities.setClass(this.el, 'animate-next', isNext);
13086                this.showPage = this.pageData.hideAllPages ? false : this.pageId === this.pageData.current;
13087                landingpage.PageUtilities.setAttribute(this.el, 'aria-hidden', !this.showPage ? 'true' : null);
13088                if (this.showPage && this.pageTitle)
13089                    document.title = this.pageTitle;
13090                window.setTimeout(function () { return _this.pageLoaded(); }, 1);
13091            };
13092            EePage.prototype.getHeight = function () {
13093                return parseFloat(getComputedStyle(this.el).height);
13094            };
13095            EePage.prototype.init = function () {
13096                this.height = this.getHeight();
13097                this.onPageChanged();
13098            };
13099            EePage.prototype.pageLoaded = function () {
13100                var currentHeight = this.getHeight();
13101                if (currentHeight)
13102                    this.height = currentHeight;
13103                this.el.setAttribute('data-page-height', "".concat(this.height));
13104                if (this.animateSettings.fade) {
13105                    landingpage.PageUtilities.showHide(this.el, this.showPage);
13106                }
13107            };
13108            return EePage;
13109        }(landingpage.LPComponent));
13110        paging.EePage = EePage;
13111    })(paging = landingpage.paging || (landingpage.paging = {}));
13112})(landingpage || (landingpage = {}));
13113var landingpage;
13114(function (landingpage) {
13115    var paging;
13116    (function (paging) {
13117        var PageButtons = (function (_super) {
13118            __extends(PageButtons, _super);
13119            function PageButtons(el) {
13120                var _this = _super.call(this, el) || this;
13121                _this.template = "<div class=\"action-button-container\">\n            <fieldset class=\"ng-cloak\">\n                <legend></legend>\n                <input class=\"paging-button-back\" type=\"button\" />\n                <input class=\"paging-button-next\" type=\"button\" />\n                <input class=\"paging-button-submit\" type=\"button\" />\n                <input class=\"paging-button-submit\" type=\"submit\" />\n            </fieldset>\n        </div>";
13122                _this.pageService = paging.PageService.getService();
13123                _this.pageMessengerService = landingpage.PageMessengerService.getService();
13124                _this.pageValidityService = paging.PageValidityService.getService();
13125                _this.sections = document.querySelectorAll('.ee_sections');
13126                _this.pages = document.querySelectorAll('[ee-page]');
13127                _this.initElement();
13128                _this.pageData = _this.pageService.getCurrentPageData();
13129                setTimeout(function () { return _this.onPageChanged(); }, 1);
13130                document.addEventListener('keydown', function (event) { return _this.trapEnterKey(event); });
13131                _this.pageMessengerService.listen('formChanged', function () { return _this.onPageChanged(); });
13132                _this.pageMessengerService.listen('hideButtons', function () { return _this.onHideButtons(); });
13133                window.lpOnloadCaptchaCallback();
13134                return _this;
13135            }
13136            PageButtons.prototype.onPageChanged = function () {
13137                var _a;
13138                if (!this.pageData)
13139                    return;
13140                this.updatePageValid();
13141                var hideSubmitButton = !this.pageData.showSubmit || !this.pageData.isLastPage;
13142                landingpage.PageUtilities.showHide(this.backButton, !this.pageData.isFirstPage);
13143                landingpage.PageUtilities.showHide(this.nextButton, !this.pageData.isLastPage);
13144                landingpage.PageUtilities.showHide(this.fakeSubmitButton, !(hideSubmitButton || this.pageValid));
13145                landingpage.PageUtilities.showHide(this.submitButton, !(hideSubmitButton || !this.pageValid));
13146                (_a = this.el.querySelector('fieldset')) === null || _a === void 0 ? void 0 : _a.classList.remove('ng-cloak');
13147            };
13148            PageButtons.prototype.onHideButtons = function () {
13149                this.el.closest('.ee_element').remove();
13150            };
13151            PageButtons.prototype.initElement = function () {
13152                this.el.innerHTML = this.template;
13153                this.initLegend();
13154                this.initBackButton();
13155                this.initNextButton();
13156                this.initSubmitButton();
13157                this.initButtonLayout();
13158                this.initButtonPosition();
13159                this.buttons = [this.backButton, this.nextButton, this.fakeSubmitButton];
13160            };
13161            PageButtons.prototype.initLegend = function () {
13162                var fieldset = this.el.querySelector('fieldset');
13163                this.legend = document.createElement('legend');
13164                this.legend.classList.add('ee_fieldgroupheader');
13165                fieldset.prepend(this.legend);
13166                var legendText = this.el.getAttribute('legend-text');
13167                var showLegend = this.el.getAttribute('show-legend') === 'true';
13168                this.legend.innerText = legendText;
13169                if (!legendText) {
13170                    this.legend.remove();
13171                    return;
13172                }
13173                if (!showLegend) {
13174                    this.legend.classList.add('visually-hidden');
13175                }
13176            };
13177            PageButtons.prototype.initBackButton = function () {
13178                var _this = this;
13179                this.backButton = this.el.querySelector('.paging-button-back');
13180                this.backButton.value = this.el.getAttribute('back-text');
13181                this.backButton.addEventListener('click', function () { return _this.previousPage(); });
13182            };
13183            PageButtons.prototype.initNextButton = function () {
13184                var _this = this;
13185                this.nextButton = this.el.querySelector('.paging-button-next');
13186                this.nextButton.value = this.el.getAttribute('next-text');
13187                this.nextButton.addEventListener('click', function () { return _this.nextPage(); });
13188            };
13189            PageButtons.prototype.initSubmitButton = function () {
13190                var _this = this;
13191                this.fakeSubmitButton = this.el.querySelector('.paging-button-submit[type="button"]');
13192                this.fakeSubmitButton.value = this.el.getAttribute('submit-text');
13193                this.fakeSubmitButton.addEventListener('mousedown', function () { return _this.validateLastPage(); });
13194                this.fakeSubmitButton.addEventListener('keydown', function (event) {
13195                    if (event.key === ' ') {
13196                        _this.validateLastPage();
13197                    }
13198                });
13199                this.submitButton = this.el.querySelector('.paging-button-submit[type="submit"]');
13200                this.submitButton.value = this.el.getAttribute('submit-text');
13201            };
13202            PageButtons.prototype.initButtonLayout = function () {
13203                var buttonLayout = this.el.getAttribute('button-layout');
13204                this.el.querySelector('.action-button-container').classList.add(buttonLayout || 'split');
13205            };
13206            PageButtons.prototype.initButtonPosition = function () {
13207                var buttonPosition = this.el.getAttribute('button-position');
13208                if (buttonPosition === 'add-to-current-section') {
13209                    this.addButtonToSection();
13210                }
13211                else if (buttonPosition === 'stick-to-bottom') {
13212                    this.stickButtonToBottom();
13213                }
13214            };
13215            PageButtons.prototype.addButtonToSection = function () {
13216                var _this = this;
13217                this.sections.forEach(function (section) {
13218                    var pagesToAppendTo = section.querySelector('.ee_sections_inner').querySelectorAll('[ee-page]');
13219                    pagesToAppendTo.forEach(function (page) { return _this.appendToPage(page); });
13220                });
13221                this.el.remove();
13222            };
13223            PageButtons.prototype.stickButtonToBottom = function () {
13224                var eeEl = this.el.closest('.ee_element');
13225                eeEl.style.width = "".concat(eeEl.clientWidth, "px");
13226                window.addEventListener('resize', function () { return eeEl.style.width = "".concat(eeEl.parentElement.clientWidth, "px"); });
13227                eeEl.classList.add('stick-to-bottom');
13228                document.querySelector('body').style.paddingBottom = "".concat(eeEl.clientHeight, "px");
13229            };
13230            PageButtons.prototype.previousPage = function () {
13231                this.pageService.previousPage();
13232                this.formChanged();
13233            };
13234            PageButtons.prototype.nextPage = function () {
13235                this.pageService.nextPage();
13236                this.formChanged();
13237            };
13238            PageButtons.prototype.validateLastPage = function () {
13239                this.pageValidityService.markPageInvalid(this.pages[this.pages.length - 1]);
13240                this.pageMessengerService.broadcast('formChanged');
13241                this.formChanged();
13242            };
13243            PageButtons.prototype.formChanged = function () {
13244                this.updatePageValid();
13245                this.onPageChanged();
13246            };
13247            PageButtons.prototype.updatePageValid = function () {
13248                this.pageValid = !this.pageValidityService.getInvalidInputs(this.pages[this.pages.length - 1]).length;
13249            };
13250            PageButtons.prototype.appendToPage = function (page) {
13251                var eeEl = this.el.closest('.ee_element');
13252                var clone = eeEl.cloneNode(true);
13253                var pageButtons = clone.querySelector('.directive-container');
13254                pageButtons.removeAttribute('button-position');
13255                pageButtons.querySelector('fieldset').innerHTML = '';
13256                page.appendChild(clone);
13257                new PageButtons(pageButtons);
13258            };
13259            PageButtons.prototype.trapEnterKey = function (event) {
13260                var inputTypes = ['text', 'number', 'email', 'radio', 'checkbox'];
13261                if (event.key !== 'Enter')
13262                    return;
13263                var target = event.target;
13264                var tagName = target.tagName;
13265                var type = target.getAttribute('type');
13266                if ((tagName === 'INPUT' && inputTypes.indexOf(type) !== -1) || tagName === 'SELECT') {
13267                    event.preventDefault();
13268                    if (tagName === 'INPUT' && ['radio', 'checkbox'].indexOf(type) !== -1) {
13269                        target.checked = !target.checked;
13270                    }
13271                }
13272                else if (this.buttons.indexOf(target) !== -1) {
13273                    event.preventDefault();
13274                    this.performNavigation(target);
13275                }
13276            };
13277            PageButtons.prototype.performNavigation = function (target) {
13278                if (target === this.backButton) {
13279                    this.previousPage();
13280                }
13281                else if (target === this.nextButton) {
13282                    this.nextPage();
13283                }
13284                else if (target === this.fakeSubmitButton) {
13285                    this.validateLastPage();
13286                }
13287            };
13288            return PageButtons;
13289        }(landingpage.LPComponent));
13290        paging.PageButtons = PageButtons;
13291        window.lpFrameWork.element('ee-page-buttons', function (el) { return new PageButtons(el); });
13292    })(paging = landingpage.paging || (landingpage.paging = {}));
13293})(landingpage || (landingpage = {}));
13294var landingpage;
13295(function (landingpage) {
13296    var paging;
13297    (function (paging) {
13298        var EePageContainer = (function (_super) {
13299            __extends(EePageContainer, _super);
13300            function EePageContainer(el) {
13301                var _this = _super.call(this, el) || this;
13302                _this.height = 0;
13303                _this.showHeight = true;
13304                _this.pageService = paging.PageService.getService();
13305                _this.pageAnimationService = new paging.PageAnimationService();
13306                _this.body = _this.el.closest('body');
13307                _this.closestSections = _this.el.closest('.ee_sections');
13308                if (_this.closestSections) {
13309                    _this.removeLegacyAnimation(_this.closestSections);
13310                }
13311                _this.animateSettings = _this.pageAnimationService.getAnimateSettings(_this.closestSections);
13312                _this.style = document.createElement('style');
13313                _this.pageData = _this.pageService.getCurrentPageData();
13314                _this.init();
13315                _this.onPageChanged();
13316                return _this;
13317            }
13318            EePageContainer.prototype.onPageChanged = function () {
13319                var _this = this;
13320                setTimeout(function () {
13321                    landingpage.PageUtilities.addClass(_this.closestSections, 'animating');
13322                    landingpage.PageUtilities.forEach(_this.el, '[ee-page]', function (element) { return _this.setHeightFromCurrentPage(element); });
13323                    _this.showHeight = true;
13324                    _this.updateElement();
13325                    landingpage.PageUtilities.forEach(_this.el, '[ee-page]', function (element) { var _a; return (_a = landingpage.LPComponent.getComponent(element)) === null || _a === void 0 ? void 0 : _a.onPageChanged(); });
13326                }, 1);
13327            };
13328            EePageContainer.prototype.init = function () {
13329                window.lpFrameWork.element('ee-page', function (el) { return new paging.EePage(el); });
13330                if (this.pageData.hideAllPages)
13331                    this.el.style.display = 'none';
13332                this.body.prepend(this.style);
13333                this.updateElement();
13334            };
13335            EePageContainer.prototype.setHeightFromCurrentPage = function (element) {
13336                var _a;
13337                if (element.getAttribute('page-id') === "".concat(this.pageData.current)) {
13338                    this.setHeight((_a = landingpage.LPComponent.getComponent(element)) === null || _a === void 0 ? void 0 : _a.getHeight());
13339                }
13340            };
13341            EePageContainer.prototype.setHeight = function (height) {
13342                var _this = this;
13343                this.height = height;
13344                landingpage.PageUtilities.addClass(this.closestSections, 'animating');
13345                this.updateElement();
13346                window.setTimeout(function () { return _this.endAnimation(); }, this.pageData.delay);
13347            };
13348            EePageContainer.prototype.endAnimation = function () {
13349                var _this = this;
13350                this.createStyleSheet();
13351                this.showHeight = false;
13352                this.updateElement();
13353                window.setTimeout(function () {
13354                    landingpage.PageUtilities.removeClass(_this.closestSections, 'animating');
13355                    window.setTimeout(function () { return landingpage.PageUtilities.addClass(_this.closestSections, 'loaded'); }, 20);
13356                }, this.pageData.delay * 1.1);
13357            };
13358            EePageContainer.prototype.updateElement = function () {
13359                landingpage.PageUtilities.setClass(this.el, 'show-height', this.showHeight);
13360                this.el.style.height = (this.showHeight ? "".concat(this.height, "px") : '');
13361            };
13362            EePageContainer.prototype.createStyleSheet = function () {
13363                var _this = this;
13364                var allSections = this.body.querySelectorAll('.ee_sections'), pageHeights = [], text = '', index;
13365                allSections.forEach(function (el, i) {
13366                    if (_this.closestSections === allSections[i]) {
13367                        landingpage.PageUtilities.addClass(_this.closestSections, "animate-".concat(i));
13368                        index = i;
13369                    }
13370                });
13371                if (this.animateSettings.slideTop || this.animateSettings.slideBottom) {
13372                    var pages = [];
13373                    for (var i = 0; i < this.el.children.length; i++) {
13374                        var page = this.el.children[i];
13375                        if (landingpage.PageUtilities.hasClass(page, 'ee-page-animate')) {
13376                            pages.push(page);
13377                        }
13378                    }
13379                    pageHeights = pages.map(function (el) { return _this.getPageHeights(el); });
13380                }
13381                if (this.animateSettings.slideTop) {
13382                    text = this.getCSSText('top', index, pageHeights);
13383                }
13384                else if (this.animateSettings.slideBottom) {
13385                    text = this.getCSSText('bottom', index, pageHeights);
13386                }
13387                this.style.innerHTML = text;
13388            };
13389            EePageContainer.prototype.getPageHeights = function (el) {
13390                return parseFloat(el.getAttribute('data-page-height'));
13391            };
13392            EePageContainer.prototype.getCSSText = function (pos, index, pageHeights) {
13393                var text = '';
13394                for (var i = 0; i < pageHeights.length; i++) {
13395                    var pageHeight = this.getTransformHeight(pageHeights, i);
13396                    text += this.getCSSTextForPage(pos, index, i + 1, pageHeight);
13397                }
13398                return text;
13399            };
13400            EePageContainer.prototype.getTransformHeight = function (pageHeights, index) {
13401                var prevHeight = pageHeights[index] + ((index !== 0) ? pageHeights[index - 1] : 0), nextHeight = pageHeights[index] + ((index < pageHeights.length - 1) ? pageHeights[index + 1] : 0);
13402                return Math.max(prevHeight, nextHeight);
13403            };
13404            EePageContainer.prototype.getCSSTextForPage = function (pos, index, page, pageHeight) {
13405                var prevHeight = (pos === 'top') ? "".concat(pageHeight, "px") : "-".concat(pageHeight, "px"), nextHeight = (pos === 'top') ? "-".concat(pageHeight, "px") : "".concat(pageHeight, "px");
13406                return ".animate-".concat(index, ".animate-slide-").concat(pos, " .ee-page-animate:nth-child(").concat(page, ").animate-prev{transform:translateY(").concat(prevHeight, ");}") +
13407                    ".animate-".concat(index, ".animate-slide-").concat(pos, " .ee-page-animate:nth-child(").concat(page, ").animate-next{transform:translateY(").concat(nextHeight, ");}");
13408            };
13409            EePageContainer.prototype.removeLegacyAnimation = function (closestSections) {
13410                if (landingpage.PageUtilities.hasClass(closestSections, 'animate-show-all-sections')) {
13411                    landingpage.PageUtilities.removeClass(closestSections, 'animate-show-all-sections');
13412                    landingpage.PageUtilities.addClass(closestSections, 'animate-none');
13413                }
13414            };
13415            return EePageContainer;
13416        }(landingpage.LPComponent));
13417        paging.EePageContainer = EePageContainer;
13418        window.lpFrameWork.element('ee-page-container', function (el) { return new paging.EePageContainer(el); });
13419    })(paging = landingpage.paging || (landingpage.paging = {}));
13420})(landingpage || (landingpage = {}));
13421var landingpage;
13422(function (landingpage) {
13423    var paging;
13424    (function (paging) {
13425        var ProgressBar = (function (_super) {
13426            __extends(ProgressBar, _super);
13427            function ProgressBar(el) {
13428                var _this = _super.call(this, el) || this;
13429                _this.template = "<div class=\"ee-progress-bar-outer\">\n            <div class=\"ee-progress-bar-inner\"></div>\n        </div>";
13430                _this.el.innerHTML = _this.template;
13431                _this.init();
13432                _this.onPageChanged();
13433                return _this;
13434            }
13435            ProgressBar.prototype.onPageChanged = function () {
13436                if (!this.pageData)
13437                    return;
13438                this.bar.style.width = "".concat((this.pageData.current / this.pageData.max * 100).toFixed(2), "%");
13439            };
13440            ProgressBar.prototype.init = function () {
13441                this.pageService = paging.PageService.getService();
13442                this.pageData = this.pageService.getCurrentPageData();
13443                this.bar = this.el.querySelector('.ee-progress-bar-inner');
13444            };
13445            return ProgressBar;
13446        }(landingpage.LPComponent));
13447        paging.ProgressBar = ProgressBar;
13448        window.lpFrameWork.element('ee-page-progress-bar', function (el) { return new ProgressBar(el); });
13449    })(paging = landingpage.paging || (landingpage.paging = {}));
13450})(landingpage || (landingpage = {}));
13451;
13452var landingpage;
13453(function (landingpage) {
13454    var paging;
13455    (function (paging) {
13456        var ProgressDots = (function (_super) {
13457            __extends(ProgressDots, _super);
13458            function ProgressDots(el) {
13459                var _this = _super.call(this, el) || this;
13460                _this.template = "<div class=\"ee-progress-dots-outer\"></div>";
13461                _this.dots = [];
13462                _this.el.innerHTML = _this.template;
13463                _this.initData();
13464                _this.setElements();
13465                _this.onPageChanged();
13466                return _this;
13467            }
13468            ProgressDots.prototype.onPageChanged = function () {
13469                if (!this.pageData)
13470                    return;
13471                for (var i = 0; i < this.pageData.max; i++) {
13472                    var classList = this.dots[i].classList;
13473                    if (i < this.pageData.current) {
13474                        if (!classList.contains('highlighted')) {
13475                            classList.add('highlighted');
13476                        }
13477                    }
13478                    else {
13479                        classList.remove('highlighted');
13480                    }
13481                }
13482            };
13483            ProgressDots.prototype.initData = function () {
13484                this.pageService = paging.PageService.getService();
13485                this.pageData = this.pageService.getCurrentPageData();
13486            };
13487            ProgressDots.prototype.setElements = function () {
13488                for (var i = 0; i < this.pageData.max; i++) {
13489                    var div = document.createElement('div');
13490                    div.className = 'ee-progress-dots-inner';
13491                    this.el.querySelector('.ee-progress-dots-outer').appendChild(div);
13492                    this.dots.push(div);
13493                }
13494            };
13495            return ProgressDots;
13496        }(landingpage.LPComponent));
13497        paging.ProgressDots = ProgressDots;
13498        window.lpFrameWork.element('ee-page-progress-dots', function (el) { return new ProgressDots(el); });
13499    })(paging = landingpage.paging || (landingpage.paging = {}));
13500})(landingpage || (landingpage = {}));
13501;
13502var landingpage;
13503(function (landingpage) {
13504    var paging;
13505    (function (paging) {
13506        var PageAnimationService = (function () {
13507            function PageAnimationService() {
13508                this.animate = ['none', 'slide-top', 'slide-right', 'slide-bottom', 'slide-left', 'flip-horizontal', 'flip-vertical', 'fade'];
13509                this.styles = ['accelerate', 'decelerate', 'easy', 'gentle', 'snappy'];
13510            }
13511            PageAnimationService.prototype.getAnimateSettings = function (closestSections) {
13512                var _a;
13513                var _this = this;
13514                var animateClasses = [], settings = { animate: '', style: '' };
13515                if (closestSections) {
13516                    closestSections === null || closestSections === void 0 ? void 0 : closestSections.classList.forEach(function (item) {
13517                        if (/^animate-/i.test(item)) {
13518                            animateClasses.push(item);
13519                        }
13520                    });
13521                    if (!animateClasses.length) {
13522                        animateClasses = ['none', 'scroll-to-top'];
13523                        (_a = closestSections.classList).add.apply(_a, ['animate-none', 'animate-scroll-to-top']);
13524                    }
13525                }
13526                animateClasses.forEach(function (item) { return _this.buildBasicOptions(item, settings); });
13527                return {
13528                    fade: settings.animate === 'fade',
13529                    slideTop: settings.animate === 'slide-top',
13530                    slideBottom: settings.animate === 'slide-bottom'
13531                };
13532            };
13533            PageAnimationService.prototype.buildBasicOptions = function (item, settings) {
13534                var className = item.replace(/^animate-/i, '');
13535                if (this.animate.indexOf(className) !== -1)
13536                    settings.animate = className;
13537                if (this.styles.indexOf(className) !== -1)
13538                    settings.style = className;
13539            };
13540            return PageAnimationService;
13541        }());
13542        paging.PageAnimationService = PageAnimationService;
13543    })(paging = landingpage.paging || (landingpage.paging = {}));
13544})(landingpage || (landingpage = {}));
13545var landingpage;
13546(function (landingpage) {
13547    var paging;
13548    (function (paging) {
13549        var PageHistoryService = (function () {
13550            function PageHistoryService() {
13551                this.historyIDs = [];
13552            }
13553            PageHistoryService.prototype.setInitialPage = function (currentPage) {
13554                this.historyIDs.push(currentPage);
13555            };
13556            PageHistoryService.prototype.nextPageToHistory = function (newPage) {
13557                this.historyIDs.push(newPage);
13558                return newPage;
13559            };
13560            PageHistoryService.prototype.previousPageFromHistory = function () {
13561                this.historyIDs.pop();
13562                return this.historyIDs[this.historyIDs.length - 1];
13563            };
13564            return PageHistoryService;
13565        }());
13566        paging.PageHistoryService = PageHistoryService;
13567    })(paging = landingpage.paging || (landingpage.paging = {}));
13568})(landingpage || (landingpage = {}));
13569var landingpage;
13570(function (landingpage) {
13571    var paging;
13572    (function (paging) {
13573        var PageValidityService = (function () {
13574            function PageValidityService() {
13575                var _this = this;
13576                this.questionSelector = ['textbox', 'dropdown', 'multiplechoice', 'checkbox', 'likert', 'datetime', 'consent', 'opinion', 'fileupload'].map(function (el) { return ".ee_".concat(el); }).join(',');
13577                this.setQuestionsNotInPages();
13578                this.pageMessengerService = landingpage.PageMessengerService.getService();
13579                this.pageMessengerService.listen('spacetimeBlockLoaded', function () { return _this.setQuestionsNotInPages(); });
13580            }
13581            PageValidityService.getService = function () {
13582                if (!this.serviceInstance) {
13583                    this.serviceInstance = new PageValidityService();
13584                }
13585                return this.serviceInstance;
13586            };
13587            PageValidityService.prototype.validatePage = function (page) {
13588                var invalid = this.getInvalidInputs(page);
13589                if (invalid.length)
13590                    this.markPageInvalid(page);
13591                return !!invalid.length;
13592            };
13593            PageValidityService.prototype.getInvalidInputs = function (page) {
13594                var _this = this;
13595                var invalidQuestionsInPage = page ? landingpage.PageUtilities.filter(page, this.questionSelector, function (question) { return landingpage.PageUtilities.hasAttribute(question, 'lp-has-errors'); }) : [];
13596                var invalidQuestionsNotInPage = this.questionsNotInPages.filter(function (question) { return landingpage.PageUtilities.hasAttribute(question, 'lp-has-errors'); });
13597                var invalidInputs = __spreadArray(__spreadArray([], invalidQuestionsInPage, true), invalidQuestionsNotInPage, true).filter(function (question) { return _this.filterInvalidSelects(question); });
13598                return invalidInputs;
13599            };
13600            PageValidityService.prototype.markPageInvalid = function (page) {
13601                var _this = this;
13602                this.questionsNotInPages.forEach(function (question) { return _this.showQuestionErrors(question); });
13603                if (page) {
13604                    landingpage.PageUtilities.forEach(page, '[data-element-settings]', function (question) { return _this.showQuestionErrors(question); });
13605                }
13606                this.scrollToError();
13607            };
13608            PageValidityService.prototype.markPageValid = function (page) {
13609                this.questionsNotInPages.forEach(function (question) { return landingpage.PageUtilities.removeClass(question, 'show-errors'); });
13610                landingpage.PageUtilities.forEach(page, '[data-element-settings]', function (question) { return landingpage.PageUtilities.removeClass(question, 'show-errors'); });
13611            };
13612            PageValidityService.prototype.scrollToTop = function () {
13613                this.scrollTo(0);
13614            };
13615            PageValidityService.prototype.scrollToSectionTop = function () {
13616                var sections = document.querySelectorAll('.ee_sections');
13617                var sectionStart = (sections.length) ? landingpage.PageUtilities.getOffsetTop(sections[0]) : 0;
13618                this.scrollTo(sectionStart - 100);
13619            };
13620            PageValidityService.prototype.setQuestionsNotInPages = function () {
13621                var visibleQuestions = landingpage.PageUtilities.filter(document, this.questionSelector, function (item) { return getComputedStyle(item).visibility === 'visible'; });
13622                this.questionsNotInPages = visibleQuestions.filter(function (question) { return !question.closest('[ee-page]'); });
13623            };
13624            PageValidityService.prototype.filterInvalidSelects = function (el) {
13625                if (el.tagName === 'SELECT') {
13626                    return el.querySelectorAll('option').length > 1;
13627                }
13628                else {
13629                    return true;
13630                }
13631            };
13632            PageValidityService.prototype.showQuestionErrors = function (question) {
13633                var _this = this;
13634                landingpage.PageUtilities.addClass(question, 'show-errors');
13635                if (question.hasAttribute('lp-id')) {
13636                    this.setComponentInvalidState(question);
13637                }
13638                else {
13639                    landingpage.PageUtilities.forEach(question, '[lp-id]', function (el) { return _this.setComponentInvalidState(el); });
13640                }
13641            };
13642            PageValidityService.prototype.setComponentInvalidState = function (el) {
13643                var component = landingpage.LPComponent.getComponent(el);
13644                if (component.setAriaInvalid) {
13645                    component.setAriaInvalid();
13646                }
13647            };
13648            PageValidityService.prototype.scrollToError = function () {
13649                var visibleErrors = landingpage.PageUtilities.filter(document, '[ng-model].ng-invalid', function (item) { return getComputedStyle(item).visibility === 'visible'; });
13650                var error;
13651                if (visibleErrors.length) {
13652                    error = visibleErrors[0].closest('.ee_element');
13653                }
13654                if (!error)
13655                    return;
13656                var top = landingpage.PageUtilities.getOffsetTop(error), scrollTop = window.scrollY, height = window.innerHeight;
13657                if (top < scrollTop + 40) {
13658                    this.scrollTo(top - 40);
13659                }
13660                else if (top > (scrollTop + height) - (error.offsetHeight + 40)) {
13661                    this.scrollTo((top - height) + error.offsetHeight + 40);
13662                }
13663            };
13664            PageValidityService.prototype.scrollTo = function (top) {
13665                var _this = this;
13666                clearTimeout(this.scrollTimer);
13667                this.scrollTimer = setTimeout(function () {
13668                    _this.scrollToUpdate(Math.max(top, 0));
13669                }, 20);
13670            };
13671            PageValidityService.prototype.scrollToUpdate = function (goal) {
13672                var top = window.scrollY, diff = goal - top, newTop = top + (diff / 2);
13673                if (Math.abs(newTop - goal) < 1)
13674                    newTop = goal;
13675                if (this.previousTop === newTop)
13676                    newTop = goal;
13677                this.previousTop = newTop;
13678                window.scrollTo(0, newTop);
13679                if (newTop !== goal)
13680                    this.scrollTo(goal);
13681            };
13682            return PageValidityService;
13683        }());
13684        paging.PageValidityService = PageValidityService;
13685    })(paging = landingpage.paging || (landingpage.paging = {}));
13686})(landingpage || (landingpage = {}));
13687var landingpage;
13688(function (landingpage) {
13689    var paging;
13690    (function (paging) {
13691        var SectionLogicService = (function () {
13692            function SectionLogicService() {
13693                this.pageMessengerService = new landingpage.PageMessengerService();
13694                this.textRule = new paging.TextRuleService();
13695                this.numberRule = new paging.NumberRuleService();
13696                this.multiplechoiceRule = new paging.MultiplechoiceRuleService();
13697                this.checkboxRuleService = new paging.CheckboxRuleService();
13698                this.dropdownRuleService = new paging.DropdownRuleService();
13699                this.datetimeRuleService = new paging.DatetimeRuleService();
13700                this.dateRuleService = new paging.DateRuleService();
13701                this.timeRuleService = new paging.TimeRuleService();
13702            }
13703            SectionLogicService.prototype.isClauseMet = function (clause) {
13704                var currentPage = this.getPage(clause), inputs = this.getInput(clause, currentPage), value = (inputs === null || inputs === void 0 ? void 0 : input
13704s.length) ? this.getValue(inputs) : null;
13705                return this.clauseIsMet(clause.condition, clause.value, value);
13706            };
13707            SectionLogicService.prototype.isRuleMet = function (rule, clauseResults, metClauses) {
13708                var ruleIsMet = false;
13709                if (rule.action.when === 'all') {
13710                    ruleIsMet = clauseResults.length === metClauses.length;
13711                }
13712                else if (rule.action.when === 'any') {
13713                    ruleIsMet = !!metClauses.length;
13714                }
13715                return ruleIsMet;
13716            };
13717            SectionLogicService.prototype.getPage = function (clause) {
13718                return landingpage.PageUtilities.find(document, '[ee-page]', function (page) { return page.getAttribute('page-uuid') === clause.section; });
13719            };
13720            SectionLogicService.prototype.getInput = function (clause, page) {
13721                var dates = ['datetime', 'date', 'time'], selector = (dates.indexOf(clause.condition.type) !== -1) ? "[name=\"datetime".concat(clause.field, "\"]") : "[name=\"".concat(clause.field, "\"]");
13722                return page.querySelectorAll(selector);
13723            };
13724            SectionLogicService.prototype.getValue = function (inputs) {
13725                var input = inputs[0];
13726                var type = input.getAttribute('type');
13727                if (input.closest('.lp-survey-phone-wrapper')) {
13728                    return this.getPhoneValue(input);
13729                }
13730                else if (input.hasAttribute('lp-survey-datetime-input')) {
13731                    return this.getDateValue(input);
13732                }
13733                else if (input.nodeName === 'SELECT') {
13734                    return parseFloat(input.value);
13735                }
13736                else if (type === 'radio') {
13737                    return this.getRadioValue(inputs);
13738                }
13739                else if (type === 'checkbox') {
13740                    return this.getCheckboxValue(inputs);
13741                }
13742                else if (type === 'number') {
13743                    return parseFloat(input.value);
13744                }
13745                return input.value;
13746            };
13747            SectionLogicService.prototype.getPhoneValue = function (input) {
13748                return input.closest('.lp-survey-phone-wrapper').querySelector('[lp-survey-phone-number]').value;
13749            };
13750            SectionLogicService.prototype.getDateValue = function (input) {
13751                var lpForm = this.pageMessengerService.getData('lpForm'), hasDate = !!input.querySelectorAll('.datetime-date').length, hasTime = !!input.querySelectorAll('.datetime-time').length, hasDateTime = !!input.querySelectorAll('.datetime-datetime').length, inputId = input.getAttribute('input-id'), value = lpForm["datetime".concat(inputId)];
13752                if (value) {
13753                    if (hasDate || hasDateTime) {
13754                        if (hasTime || hasDateTime)
13755                            value.setSeconds(0, 0);
13756                        else
13757                            value.setHours(0, 0, 0, 0);
13758                    }
13759                    else if (hasTime) {
13760                        value.setSeconds(0, 0);
13761                    }
13762                }
13763                return value;
13764            };
13765            SectionLogicService.prototype.getRadioValue = function (inputs) {
13766                var val;
13767                inputs.forEach(function (input) {
13768                    if (input.checked) {
13769                        val = parseFloat(input.value);
13770                    }
13771                });
13772                return val;
13773            };
13774            SectionLogicService.prototype.getCheckboxValue = function (inputs) {
13775                var vals = [];
13776                inputs.forEach(function (input) {
13777                    if (input.checked) {
13778                        vals.push(parseFloat(input.value));
13779                    }
13780                });
13781                return vals;
13782            };
13783            SectionLogicService.prototype.clauseIsMet = function (condition, ruleValue, value) {
13784                if (condition.type === 'text' || condition.type === 'email') {
13785                    return this.textRule.isMet(condition.clause, ruleValue, (value || ''));
13786                }
13787                else if (condition.type === 'number') {
13788                    return this.numberRule.isMet(condition.clause, ruleValue, value);
13789                }
13790                else if (condition.type === 'multiplechoice') {
13791                    return this.multiplechoiceRule.isMet(condition.clause, parseFloat(ruleValue), value);
13792                }
13793                else if (condition.type === 'checkbox') {
13794                    return this.checkboxRuleService.isMet(condition.clause, parseFloat(ruleValue), (value || []));
13795                }
13796                else if (condition.type === 'dropdown') {
13797                    return this.dropdownRuleService.isMet(condition.clause, parseFloat(ruleValue), value);
13798                }
13799                else if (condition.type === 'datetime') {
13800                    return (value) ? this.datetimeRuleService.isMet(condition.clause, ruleValue, value) : false;
13801                }
13802                else if (condition.type === 'date') {
13803                    return (value) ? this.dateRuleService.isMet(condition.clause, ruleValue, value) : false;
13804                }
13805                else if (condition.type === 'time') {
13806                    var rule = new Date(ruleValue), date = value;
13807                    rule.setFullYear(0, 1, 1);
13808                    if (date)
13809                        date.setFullYear(0, 1, 1);
13810                    return (value) ? this.timeRuleService.isMet(condition.clause, rule, date) : false;
13811                }
13812            };
13813            return SectionLogicService;
13814        }());
13815        paging.SectionLogicService = SectionLogicService;
13816    })(paging = landingpage.paging || (landingpage.paging = {}));
13817})(landingpage || (landingpage = {}));
13818var landingpage;
13819(function (landingpage) {
13820    var paging;
13821    (function (paging) {
13822        var CheckboxRuleService = (function () {
13823            function CheckboxRuleService() {
13824            }
13825            CheckboxRuleService.prototype.isMet = function (clause, ruleValue, value) {
13826                switch (clause) {
13827                    case 'equalTo': return value.indexOf(ruleValue) !== -1;
13828                    case 'notEqualTo': return value.indexOf(ruleValue) === -1;
13829                    case 'isEmpty': return !value.length;
13830                    case 'isNotEmpty': return !!value.length;
13831                }
13832            };
13833            return CheckboxRuleService;
13834        }());
13835        paging.CheckboxRuleService = CheckboxRuleService;
13836    })(paging = landingpage.paging || (landingpage.paging = {}));
13837})(landingpage || (landingpage = {}));
13838var landingpage;
13839(function (landingpage) {
13840    var paging;
13841    (function (paging) {
13842        var ruleServiceUtilities = (function () {
13843            function ruleServiceUtilities() {
13844            }
13845            ruleServiceUtilities.prototype.getTargetDate = function (ruleValue, isPast, hasTime) {
13846                var target = new Date();
13847                var _a = ruleValue.split(/\s+/), val = _a[0], timeScale = _a[1];
13848                var numberVal = isPast ? parseInt(val) * -1 : parseInt(val);
13849                if (!hasTime) {
13850                    target.setHours(0, 0, 0, 0);
13851                }
13852                switch (timeScale) {
13853                    case 'days':
13854                        target.setDate(target.getDate() + numberVal);
13855                        break;
13856                    case 'months':
13857                        target.setMonth(target.getMonth() + numberVal);
13858                        break;
13859                    case 'years':
13860                        target.setFullYear(target.getFullYear() + numberVal);
13861                        break;
13862                }
13863                return target;
13864            };
13865            return ruleServiceUtilities;
13866        }());
13867        paging.ruleServiceUtilities = ruleServiceUtilities;
13868    })(paging = landingpage.paging || (landingpage.paging = {}));
13869})(landingpage || (landingpage = {}));
13870var landingpage;
13871(function (landingpage) {
13872    var paging;
13873    (function (paging) {
13874        var DateRuleService = (function () {
13875            function DateRuleService() {
13876                this.ruleServiceUtilities = new paging.ruleServiceUtilities();
13877            }
13878            DateRuleService.prototype.isMet = function (clause, ruleValue, value) {
13879                var date = value.getDate();
13880                var dateValue = new Date(ruleValue);
13881                switch (clause) {
13882                    case 'isBefore': return !isNaN(date) && value < dateValue;
13883                    case 'isOnOrBefore': return !isNaN(date) && value <= dateValue;
13884                    case 'isOnTheDate': return !isNaN(date) && value.toLocaleDateString() === dateValue.toLocaleDateString();
13885                    case 'isAfter': return !isNaN(date) && value > dateValue;
13886                    case 'isOnOrAfter': return !isNaN(date) && value >= dateValue;
13887                    case 'isEmpty': return isNaN(date);
13888                    case 'isNotEmpty': return !isNaN(date);
13889                    case 'isBeforeTodayByAtLeast': return !isNaN(date) && value < this.ruleServiceUtilities.getTargetDate(ruleValue, true, false);
13890                    case 'isAfterTodayByAtLeast': return !isNaN(date) && value > this.ruleServiceUtilities.getTargetDate(ruleValue, false, false);
13891                    case 'isWithinTheLast': return !isNaN(date) && value > this.ruleServiceUtilities.getTargetDate(ruleValue, true, false);
13892                    case 'isWithinTheNext': return !isNaN(date) && value < this.ruleServiceUtilities.getTargetDate(ruleValue, false, false);
13893                }
13894                return false;
13895            };
13896            return DateRuleService;
13897        }());
13898        paging.DateRuleService = DateRuleService;
13899    })(paging = landingpage.paging || (landingpage.paging = {}));
13900})(landingpage || (landingpage = {}));
13901var landingpage;
13902(function (landingpage) {
13903    var paging;
13904    (function (paging) {
13905        var DatetimeRuleService = (function () {
13906            function DatetimeRuleService() {
13907                this.ruleServiceUtilities = new paging.ruleServiceUtilities();
13908            }
13909            DatetimeRuleService.prototype.isMet = function (clause, ruleValue, value) {
13910                var date = value.getDate();
13911                var dateValue = new Date(ruleValue);
13912                switch (clause) {
13913                    case 'isBefore': return !isNaN(date) && value < dateValue;
13914                    case 'isOnOrBefore': return !isNaN(date) && value <= dateValue;
13915                    case 'isOnTheDate': return !isNaN(date) && value.toLocaleDateString() === dateValue.toLocaleDateString();
13916                    case 'isOnTheDateAndTime': return !isNaN(date) && value.getTime() === dateValue.getTime();
13917                    case 'isAtTime': return !isNaN(date) && value.toLocaleTimeString() === dateValue.toLocaleTimeString();
13918                    case 'isAfter': return !isNaN(date) && value > dateValue;
13919                    case 'isOnOrAfter': return !isNaN(date) && value >= dateValue;
13920                    case 'isEmpty': return isNaN(date);
13921                    case 'isNotEmpty': return !isNaN(date);
13922                    case 'isBeforeTodayByAtLeast': return !isNaN(date) && value < this.ruleServiceUtilities.getTargetDate(ruleValue, true, true);
13923                    case 'isAfterTodayByAtLeast': return !isNaN(date) && value > this.ruleServiceUtilities.getTargetDate(ruleValue, false, true);
13924                    case 'isWithinTheLast': return !isNaN(date) && value > this.ruleServiceUtilities.getTargetDate(ruleValue, true, true);
13925                    case 'isWithinTheNext': return !isNaN(date) && value < this.ruleServiceUtilities.getTargetDate(ruleValue, false, true);
13926                }
13927                return false;
13928            };
13929            return DatetimeRuleService;
13930        }());
13931        paging.DatetimeRuleService = DatetimeRuleService;
13932    })(paging = landingpage.paging || (landingpage.paging = {}));
13933})(landingpage || (landingpage = {}));
13934var landingpage;
13935(function (landingpage) {
13936    var paging;
13937    (function (paging) {
13938        var DropdownRuleService = (function () {
13939            function DropdownRuleService() {
13940            }
13941            DropdownRuleService.prototype.isMet = function (clause, ruleValue, value) {
13942                switch (clause) {
13943                    case 'equalTo': return ruleValue === value;
13944                    case 'notEqualTo': return ruleValue !== value;
13945                    case 'isEmpty': return value === null || value === undefined || value === -1;
13946                    case 'isNotEmpty': return value !== null && value !== undefined && value !== -1;
13947                }
13948            };
13949            return DropdownRuleService;
13950        }());
13951        paging.DropdownRuleService = DropdownRuleService;
13952    })(paging = landingpage.paging || (landingpage.paging = {}));
13953})(landingpage || (landingpage = {}));
13954var landingpage;
13955(function (landingpage) {
13956    var paging;
13957    (function (paging) {
13958        var MultiplechoiceRuleService = (function () {
13959            function MultiplechoiceRuleService() {
13960            }
13961            MultiplechoiceRuleService.prototype.isMet = function (clause, ruleValue, value) {
13962                switch (clause) {
13963                    case 'equalTo': return ruleValue === value;
13964                    case 'notEqualTo': return ruleValue !== value;
13965                    case 'isEmpty': return !value;
13966                    case 'isNotEmpty': return !!value;
13967                }
13968            };
13969            return MultiplechoiceRuleService;
13970        }());
13971        paging.MultiplechoiceRuleService = MultiplechoiceRuleService;
13972    })(paging = landingpage.paging || (landingpage.paging = {}));
13973})(landingpage || (landingpage = {}));
13974var landingpage;
13975(function (landingpage) {
13976    var paging;
13977    (function (paging) {
13978        var NumberRuleService = (function () {
13979            function NumberRuleService() {
13980            }
13981            NumberRuleService.prototype.isMet = function (clause, ruleValue, value) {
13982                switch (clause) {
13983                    case 'equalTo': return value === ruleValue;
13984                    case 'notEqualTo': return value !== ruleValue;
13985                    case 'lessThan': return value < ruleValue;
13986                    case 'lessThanOrEqual': return value <= ruleValue;
13987                    case 'greaterThan': return value > ruleValue;
13988                    case 'greaterThanOrEqual': return value >= ruleValue;
13989                    case 'isEmpty': return isNaN(value);
13990                    case 'isNotEmpty': return !isNaN(value);
13991                }
13992            };
13993            return NumberRuleService;
13994        }());
13995        paging.NumberRuleService = NumberRuleService;
13996    })(paging = landingpage.paging || (landingpage.paging = {}));
13997})(landingpage || (landingpage = {}));
13998var landingpage;
13999(function (landingpage) {
14000    var paging;
14001    (function (paging) {
14002        var TextRuleService = (function () {
14003            function TextRuleService() {
14004            }
14005            TextRuleService.prototype.isMet = function (clause, ruleValue, value) {
14006                var stringVal = value.toLowerCase().trim(), stringCondition = ruleValue.toLowerCase().trim();
14007                switch (clause) {
14008                    case 'equalTo': return stringVal === stringCondition;
14009                    case 'notEqualTo': return stringVal !== stringCondition;
14010                    case 'contains': return new RegExp(stringCondition).test(stringVal);
14011                    case 'doesNotContain': return !new RegExp(stringCondition).test(stringVal);
14012                    case 'startsWith': return new RegExp("^".concat(stringCondition)).test(stringVal);
14013                    case 'endsWith': return new RegExp("".concat(stringCondition, "$")).test(stringVal);
14014                    case 'isEmpty': return !stringVal;
14015                    case 'doesNotStartWith': return !!stringVal && !new RegExp("^".concat(stringCondition)).test(stringVal);
14016                    case 'doesNotEndWith': return !!stringVal && !new RegExp("".concat(stringCondition, "$")).test(stringVal);
14017                    case 'isNotEmpty': return !!stringVal;
14018                }
14019            };
14020            return TextRuleService;
14021        }());
14022        paging.TextRuleService = TextRuleService;
14023    })(paging = landingpage.paging || (landingpage.paging = {}));
14024})(landingpage || (landingpage = {}));
14025var landingpage;
14026(function (landingpage) {
14027    var paging;
14028    (function (paging) {
14029        var TimeRuleService = (function () {
14030            function TimeRuleService() {
14031            }
14032            TimeRuleService.prototype.isMet = function (clause, ruleValue, value) {
14033                var date = value.getDate();
14034                switch (clause) {
14035                    case 'isBefore': return !isNaN(date) && value < ruleValue;
14036                    case 'isOnOrBefore': return !isNaN(date) && value <= ruleValue;
14037                    case 'isAtTime': return !isNaN(date) && value.toLocaleTimeString() === ruleValue.toLocaleTimeString();
14038                    case 'isAfter': return !isNaN(date) && value > ruleValue;
14039                    case 'isOnOrAfter': return !isNaN(date) && value >= ruleValue;
14040                    case 'isEmpty': return isNaN(date);
14041                    case 'isNotEmpty': return !isNaN(date);
14042                }
14043                return false;
14044            };
14045            return TimeRuleService;
14046        }());
14047        paging.TimeRuleService = TimeRuleService;
14048    })(paging = landingpage.paging || (landingpage.paging = {}));
14049})(landingpage || (landingpage = {}));
14050var landingpage;
14051(function (landingpage) {
14052    var spacetime;
14053    (function (spacetime) {
14054        var LocationBlock = (function (_super) {
14055            __extends(LocationBlock, _super);
14056            function LocationBlock(el) {
14057                var _this = _super.call(this, el) || this;
14058                _this.pageMessengerService = landingpage.PageMessengerService.getService();
14059                _this.initData();
14060                _this.cloakBeforeLoad();
14061                _this.update();
14062                return _this;
14063            }
14064            LocationBlock.prototype.initData = function () {
14065                var elementSettings = JSON.parse(this.el.getAttribute('data-element-settings'));
14066                this.data = {
14067                    showBlock: false,
14068                    hideUnknown: (elementSettings === null || elementSettings === void 0 ? void 0 : elementSettings.hideUnknown) || false,
14069                    mapData: (elementSettings === null || elementSettings === void 0 ? void 0 : elementSettings.mapData) ? JSON.parse(elementSettings.mapData) : null
14070                };
14071            };
14072            LocationBlock.prototype.cloakBeforeLoad = function () {
14073                this.el.setAttribute('aria-hidden', 'true');
14074                this.el.style.display = 'none';
14075                this.el.style.visibility = 'hidden';
14076            };
14077            LocationBlock.prototype.update = function () {
14078                var _this = this;
14079                this.getLocation();
14080                window.setInterval(function () { return _this.getLocation(); }, 60000);
14081            };
14082            LocationBlock.prototype.getLocation = function () {
14083                var _this = this;
14084                if (navigator.geolocation) {
14085                    navigator.geolocation.getCurrentPosition(function (pos) { return _this.getPosition(pos); }, function () { return _this.handleLocationUnknown(); });
14086                }
14087                else {
14088                    this.handleLocationUnknown();
14089                }
14090            };
14091            LocationBlock.prototype.getPosition = function (pos) {
14092                var oldShowBlock = this.data.showBlock, location = {
14093                    lat: pos.coords.latitude,
14094                    long: pos.coords.longitude
14095                };
14096                this.data.showBlock = this.checkMapLocation(location);
14097                if (this.data.showBlock !== oldShowBlock) {
14098                    this.setDisplay();
14099                    this.broadcastLoad();
14100                }
14101                this.setDisplay();
14102            };
14103            LocationBlock.prototype.checkMapLocation = function (location) {
14104                var inRange = false;
14105                if (this.data.mapData) {
14106                    for (var i = 0; i < this.data.mapData.length; i++) {
14107                        inRange = this.inside(location, this.data.mapData[i].points);
14108                        if (inRange)
14109                            break;
14110                    }
14111                }
14112                return inRange;
14113            };
14114            LocationBlock.prototype.inside = function (point, polygon) {
14115                var x = point.long, y = point.lat, inside = false;
14116                for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
14117                    var point1 = polygon[i], point2 = polygon[j], xi = point1.long, yi = point1.lat, xj = point2.long, yj = point2.lat, intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
14118                    if (intersect)
14119                        inside = !inside;
14120                }
14121                return inside;
14122            };
14123            ;
14124            LocationBlock.prototype.handleLocationUnknown = function () {
14125                this.data.showBlock = !this.data.hideUnknown;
14126                this.broadcastLoad();
14127                this.setDisplay();
14128            };
14129            LocationBlock.prototype.setDisplay = function () {
14130                this.el.setAttribute('aria-hidden', "".concat(!this.data.showBlock));
14131                this.el.style.display = this.data.showBlock ? '' : 'none';
14132                this.el.style.visibility = this.data.showBlock ? '' : 'hidden';
14133                this.el.removeAttribute('aria-busy');
14134            };
14135            LocationBlock.prototype.broadcastLoad = function () {
14136                this.pageMessengerService.broadcast('spacetimeBlockLoaded');
14137            };
14138            return LocationBlock;
14139        }(landingpage.LPComponent));
14140        spacetime.LocationBlock = LocationBlock;
14141        window.lpFrameWork.element('ee-location-block', function (el) { return new LocationBlock(el); });
14142    })(spacetime = landingpage.spacetime || (landingpage.spacetime = {}));
14143})(landingpage || (landingpage = {}));
14144var landingpage;
14145(function (landingpage) {
14146    var spacetime;
14147    (function (spacetime) {
14148        var TimeBlock = (function (_super) {
14149            __extends(TimeBlock, _super);
14150            function TimeBlock(el) {
14151                var _this = _super.call(this, el) || this;
14152                _this.pageMessengerService = landingpage.PageMessengerService.getService();
14153                _this.initData();
14154                _this.update();
14155                return _this;
14156            }
14157            TimeBlock.prototype.initData = function () {
14158                var timeBlockStart = this.el.getAttribute('time-block-start');
14159                var timeBlockEnd = this.el.getAttribute('time-block-end');
14160                var startDate = timeBlockStart ? new Date(parseInt(timeBlockStart)) : null;
14161                var endDate = timeBlockEnd ? new Date(parseInt(timeBlockEnd)) : null;
14162                var hasDates = !!startDate || !!endDate;
14163                var showBlock = !hasDates;
14164                this.data = { showBlock: showBlock, hasDates: hasDates, startDate: startDate, endDate: endDate };
14165            };
14166            TimeBlock.prototype.update = function () {
14167                var _this = this;
14168                if (this.data.hasDates) {
14169                    this.setDisplay();
14170                    window.setInterval(function () { return _this.update(); }, 60000);
14171                }
14172                else {
14173                    this.broadcastLoad();
14174                }
14175            };
14176            TimeBlock.prototype.setDisplay = function () {
14177                var oldShowBlock = this.data.showBlock, now = new Date(), isAfterStart = !this.data.startDate || this.data.startDate < now, isBeforeEnd = !this.data.endDate || this.data.endDate > now;
14178                this.data.showBlock = (isAfterStart && isBeforeEnd);
14179                if (this.data.showBlock !== oldShowBlock) {
14180                    this.broadcastLoad();
14181                }
14182                this.el.setAttribute('aria-hidden', "".concat(!this.data.showBlock));
14183                this.el.style.display = this.data.showBlock ? '' : 'none';
14184                this.el.style.visibility = this.data.showBlock ? '' : 'hidden';
14185                this.el.removeAttribute('aria-busy');
14186            };
14187            TimeBlock.prototype.broadcastLoad = function () {
14188                this.pageMessengerService.broadcast('spacetimeBlockLoaded');
14189            };
14190            return TimeBlock;
14191        }(landingpage.LPComponent));
14192        spacetime.TimeBlock = TimeBlock;
14193        window.lpFrameWork.element('ee-time-block', function (el) { return new TimeBlock(el); });
14194    })(spacetime = landingpage.spacetime || (landingpage.spacetime = {}));
14195})(landingpage || (landingpage = {}));
14196var landingpage;
14197(function (landingpage) {
14198    var surveys;
14199    (function (surveys) {
14200        var ElementHiderBase = (function (_super) {
14201            __extends(ElementHiderBase, _super);
14202            function ElementHiderBase(el, selector, emptyVal) {
14203                var _this = _super.call(this, el) || this;
14204                _this.selector = selector;
14205                _this.emptyVal = emptyVal;
14206                _this.pageMessengerService = new landingpage.PageMessengerService();
14207                _this.init();
14208                return _this;
14209            }
14210            ElementHiderBase.prototype.init = function () {
14211                var dataElementSettings = this.el.getAttribute('data-element-settings');
14212                var settings = JSON.parse(dataElementSettings) || {};
14213                if (!settings.dataField) {
14214                    return;
14215                }
14216                var model = this.el.querySelector(this.selector).getAttribute('ng-model').replace(/lpForm./, '');
14217                this.getFormData(model);
14218            };
14219            ElementHiderBase.prototype.getFormData = function (model) {
14220                var _this = this;
14221                var mappedField = this.el.getAttribute('mapped-field');
14222                var stateCheck = setInterval(function () {
14223                    var lpForm = _this.pageMessengerService.getData('lpForm');
14224                    if (lpForm) {
14225                        clearInterval(stateCheck);
14226                        if (lpForm[model] !== _this.emptyVal && mappedField !== '') {
14227                            _this.el.style.display = 'none';
14228                        }
14229                    }
14230                }, 20);
14231            };
14232            return ElementHiderBase;
14233        }(landingpage.LPComponent));
14234        surveys.ElementHiderBase = ElementHiderBase;
14235    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14236})(landingpage || (landingpage = {}));
14237;
14238var landingpage;
14239(function (landingpage) {
14240    var surveys;
14241    (function (surveys) {
14242        var DropdownElementHider = (function (_super) {
14243            __extends(DropdownElementHider, _super);
14244            function DropdownElementHider(el) {
14245                return _super.call(this, el, 'select', '-1') || this;
14246            }
14247            return DropdownElementHider;
14248        }(surveys.ElementHiderBase));
14249        surveys.DropdownElementHider = DropdownElementHider;
14250        window.lpFrameWork.element('lp-survey-dropdown-element-hider', function (el) { return new DropdownElementHider(el); });
14251    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14252})(landingpage || (landingpage = {}));
14253;
14254var landingpage;
14255(function (landingpage) {
14256    var surveys;
14257    (function (surveys) {
14258        var ErrorMessage = (function (_super) {
14259            __extends(ErrorMessage, _super);
14260            function ErrorMessage(el) {
14261                var _this = _super.call(this, el) || this;
14262                _this.messages = {};
14263                _this.element = _this.el.closest('.ee_element, .other-wrapper');
14264                _this.el.setAttribute('aria-live', 'assertive');
14265                _this.pageMessengerService = new landingpage.PageMessengerService();
14266                _this.pageMessengerService.listen('formChanged', function () { return _this.update(); });
14267                landingpage.PageUtilities.forEach(_this.el, '[ng-message]', function (message) { return _this.storeMessage(message); });
14268                return _this;
14269            }
14270            ErrorMessage.prototype.storeMessage = function (el) {
14271                var message = el.getAttribute('ng-message');
14272                this.messages[message] = el;
14273                el.remove();
14274            };
14275            ErrorMessage.prototype.update = function () {
14276                var error = landingpage.PageUtilities.hasAttribute(this.element, 'lp-has-errors');
14277                for (var prop in this.messages) {
14278                    this.messages[prop].remove();
14279                }
14280                if (error) {
14281                    var message = this.messages[this.element.getAttribute('lp-has-errors')];
14282                    if (message) {
14283                        this.el.appendChild(message);
14284                    }
14285                }
14286            };
14287            return ErrorMessage;
14288        }(landingpage.LPComponent));
14289        surveys.ErrorMessage = ErrorMessage;
14290        window.lpFrameWork.element('ng-messages', function (el) { return new ErrorMessage(el); });
14291    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14292})(landingpage || (landingpage = {}));
14293var landingpage;
14294(function (landingpage) {
14295    var surveys;
14296    (function (surveys) {
14297        var ListElementValidatorBase = (function () {
14298            function ListElementValidatorBase() {
14299                var _this = this;
14300                ListElementValidatorBase.prototype.link = function ($scope, $element, attrs, ngModel) { return _this.init($scope, $element, attrs, ngModel); };
14301                ListElementValidatorBase.prototype.restrict = 'A';
14302                ListElementValidatorBase.prototype.require = '?ngModel';
14303                ListElementValidatorBase.prototype.$scope = true;
14304            }
14305            ListElementValidatorBase.prototype.init = function ($scope, $element, attrs, ngModel) {
14306                var _this = this;
14307                var $inputs = $element.parent().find("input[type=".concat(this.inputType, "]")), $other;
14308                $scope.$watch('lpForm.' + attrs.ngModel, function (checkList) {
14309                    setTimeout(function () { return applyChange(_this.validProperty, _this.hasOther); });
14310                }, true);
14311                if (this.hasOther) {
14312                    $other = $element.parent().find('.other-item-wrapper input[type=text]');
14313                    $other.on('change blur', function () { return applyChange(_this.validProperty, _this.hasOther); });
14314                }
14315                function applyChange(validProperty, hasOther) {
14316                    if (attrs.requiredAnswer)
14317                        $scope.$apply(function () { return setValidity(validProperty, hasOther); });
14318                }
14319                function setValidity(validProperty, hasOther) {
14320                    if (hasOther && $other.is(':visible') && !$other.val()) {
14321                        ngModel.$setValidity(validProperty, false);
14322                    }
14323                    else {
14324                        var checked = $inputs.filter(function (i, el) { return $(el).is(':checked'); });
14325                        ngModel.$setValidity(validProperty, !!checked.length);
14326                    }
14327                }
14328            };
14329            return ListElementValidatorBase;
14330        }());
14331        surveys.ListElementValidatorBase = ListElementValidatorBase;
14332    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14333})(landingpage || (landingpage = {}));
14334;
14335var landingpage;
14336(function (landingpage) {
14337    var surveys;
14338    (function (surveys) {
14339        var MultipleChoiceElementHider = (function (_super) {
14340            __extends(MultipleChoiceElementHider, _super);
14341            function MultipleChoiceElementHider(el) {
14342                return _super.call(this, el, '.options-container', 'null') || this;
14343            }
14344            return MultipleChoiceElementHider;
14345        }(surveys.ElementHiderBase));
14346        surveys.MultipleChoiceElementHider = MultipleChoiceElementHider;
14347        window.lpFrameWork.element('lp-survey-multiple-choice-element-hider', function (el) { return new MultipleChoiceElementHider(el); });
14348    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14349})(landingpage || (landingpage = {}));
14350;
14351var landingpage;
14352(function (landingpage) {
14353    var surveys;
14354    (function (surveys) {
14355        var SurveyAutoSaveService = (function () {
14356            function SurveyAutoSaveService() {
14357            }
14358            SurveyAutoSaveService.getService = function () {
14359                if (!this.serviceInstance) {
14360                    this.serviceInstance = new SurveyAutoSaveService();
14361                }
14362                return this.serviceInstance;
14363            };
14364            SurveyAutoSaveService.prototype.loadData = function (landingPageId) {
14365                try {
14366                    if (!landingPageId || !window.localStorage)
14367                        return null;
14368                    var lpId = "lpform".concat(landingPageId);
14369                    if (localStorage.getItem(lpId) === null)
14370                        return null;
14371                    var data = JSON.parse(localStorage.getItem(lpId));
14372                    return data;
14373                }
14374                catch (ex) {
14375                    return null;
14376                }
14377            };
14378            SurveyAutoSaveService.prototype.saveData = function (landingPageId, storedData) {
14379                try {
14380                    var lpId = "lpform".concat(landingPageId);
14381                    if (!window.localStorage)
14382                        return;
14383                    localStorage.setItem(lpId, JSON.stringify(storedData));
14384                }
14385                catch (ex) { }
14386            };
14387            SurveyAutoSaveService.prototype.clearData = function (landingPageId) {
14388                try {
14389                    if (!landingPageId || !window.localStorage)
14390                        return;
14391                    var lpId = "lpform".concat(landingPageId);
14392                    if (window.localStorage)
14393                        localStorage.removeItem(lpId);
14394                }
14395                catch (ex) { }
14396            };
14397            return SurveyAutoSaveService;
14398        }());
14399        surveys.SurveyAutoSaveService = SurveyAutoSaveService;
14400    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14401})(landingpage || (landingpage = {}));
14402var landingpage;
14403(function (landingpage) {
14404    var surveys;
14405    (function (surveys) {
14406        var SurveyValidatorComponent = (function (_super) {
14407            __extends(SurveyValidatorComponent, _super);
14408            function SurveyValidatorComponent(el) {
14409                var _this = _super.call(this, el) || this;
14410                _this.pageMessengerService = landingpage.PageMessengerService.getService();
14411                _this.setElement();
14412                _this.setModel();
14413                _this.setRequired();
14414                _this.setOther();
14415                _this.setValid();
14416                _this.setAccessibility();
14417                _this.addChangeListener();
14418                return _this;
14419            }
14420            SurveyValidatorComponent.prototype.updateModel = function (model) { };
14421            SurveyValidatorComponent.prototype.setElement = function () {
14422                this.eeElement = this.el.closest('.ee_element');
14423                var dataElementSettings = this.eeElement.getAttribute('data-element-settings');
14424                this.settings = dataElementSettings ? JSON.parse(dataElementSettings) : null;
14425                this.checkHideElement();
14426            };
14427            SurveyValidatorComponent.prototype.setOther = function () {
14428                var _this = this;
14429                var _a;
14430                this.otherIndex = ((_a = this.settings) === null || _a === void 0 ? void 0 : _a.otherIndex) ? "".concat(this.settings.otherIndex) : null;
14431                this.otherInput = this.eeElement.querySelector('.other-wrapper input[type="text"],.other-wrapper textarea');
14432                if (this.otherInput) {
14433                    this.otherInput.addEventListener('mouseup', function () { return _this.otherChanged(); });
14434                    this.otherInput.addEventListener('keyup', function () { return _this.otherChanged(); });
14435                    this.otherInput.addEventListener('change', function () { return _this.otherChanged(); });
14436                    this.otherInput.addEventListener('paste', function () { return setTimeout(function () { return _this.otherChanged(); }, 1); });
14437                }
14438            };
14439            SurveyValidatorComponent.prototype.otherChanged = function () {
14440                var _a;
14441                var prop = this.otherInput.getAttribute('ng-model').replace(/^lpForm\./, '');
14442                var value = (_a = this.otherInput) === null || _a === void 0 ? void 0 : _a.value;
14443                this.setValid();
14444                this.pageMessengerService.broadcast('formChanged', { prop: prop, value: value });
14445            };
14446            ;
14447            SurveyValidatorComponent.prototype.checkHideElement = function () {
14448                var hide = this.eeElement.getAttribute('ng-hide');
14449                if (!hide) {
14450                    return;
14451                }
14452                var parts = hide.split('!=');
14453                parts = parts.map(function (part) { return part.trim(); });
14454                if (parts.length > 1) {
14455                    landingpage.PageUtilities.showHide(this.eeElement, parts[0] === parts[1]);
14456                }
14457            };
14458            SurveyValidatorComponent.prototype.updateOtherModel = function (model) {
14459                var _a;
14460                var prop = this.otherInput.getAttribute('ng-model').replace(/^lpForm\./, '');
14461                var value = this.removeInvalidCharacters((_a = this.otherInput) === null || _a === void 0 ? void 0 : _a.value);
14462                model[prop] = value;
14463            };
14464            SurveyValidatorComponent.prototype.removeInvalidCharacters = function (value) {
14465                var invalidSet = /[\0-\x08\x0B\x0C\x0E-\x1F\uD800-\uDFFF\uFFFE\uFFFF]/g;
14466                return value.replace(invalidSet, '');
14467            };
14468            SurveyValidatorComponent.prototype.addDescribedBy = function (element, isOther) {
14469                if (isOther === void 0) { isOther = false; }
14470                var suffix = isOther ? '-other' : '';
14471                var id = "messages-".concat(this.settings.id).concat(suffix);
14472                if (this.eeElement.querySelector("#".concat(id))) {
14473                    element.setAttribute('aria-describedby', id);
14474                }
14475            };
14476            SurveyValidatorComponent.prototype.setAccessibility = function () {
14477            };
14478            return SurveyValidatorComponent;
14479        }(landingpage.LPComponent));
14480        surveys.SurveyValidatorComponent = SurveyValidatorComponent;
14481    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14482})(landingpage || (landingpage = {}));
14483var landingpage;
14484(function (landingpage) {
14485    var surveys;
14486    (function (surveys) {
14487        var SurveyOtherOptionValidator = (function (_super) {
14488            __extends(SurveyOtherOptionValidator, _super);
14489            function SurveyOtherOptionValidator(el) {
14490                var _this = _super.call(this, el) || this;
14491                setTimeout(function () { return _this.initOther(); }, 1);
14492                return _this;
14493            }
14494            SurveyOtherOptionValidator.prototype.changed = function () {
14495                var value = this.getValue();
14496                this.updateOther(value);
14497                this.setValid();
14498                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: value });
14499            };
14500            SurveyOtherOptionValidator.prototype.initOther = function () {
14501                var value = this.getValue();
14502                this.updateOther(value);
14503            };
14504            SurveyOtherOptionValidator.prototype.updateOther = function (value) {
14505                var otherSelected = this.isOtherSelected(value);
14506                var otherWrapper = this.eeElement.querySelector(this.otherWrapperSelector);
14507                if (otherWrapper) {
14508                    landingpage.PageUtilities.showHide(otherWrapper, otherSelected);
14509                }
14510            };
14511            return SurveyOtherOptionValidator;
14512        }(surveys.SurveyValidatorComponent));
14513        surveys.SurveyOtherOptionValidator = SurveyOtherOptionValidator;
14514    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14515})(landingpage || (landingpage = {}));
14516var landingpage;
14517(function (landingpage) {
14518    var surveys;
14519    (function (surveys) {
14520        var SurveyCheckboxValidator = (function (_super) {
14521            __extends(SurveyCheckboxValidator, _super);
14522            function SurveyCheckboxValidator(el) {
14523                var _a;
14524                var _this = _super.call(this, el) || this;
14525                _this.otherWrapperSelector = '.other-item-wrapper';
14526                _this.otherBox = _this.eeElement.querySelector('input[type="text"]');
14527                (_a = _this.otherBox) === null || _a === void 0 ? void 0 : _a.addEventListener('blur', function () { return _this.setOtherAriaInvalid(); });
14528                return _this;
14529            }
14530            SurveyCheckboxValidator.prototype.updateModel = function (model) {
14531                if (this.isOtherSelected(this.getValue())) {
14532                    this.updateOtherModel(model);
14533                }
14534            };
14535            SurveyCheckboxValidator.prototype.setAriaInvalid = function () {
14536                var _this = this;
14537                setTimeout(function () {
14538                    var error = _this.eeElement.getAttribute('lp-has-errors');
14539                    if (error === 'other-required') {
14540                        error = '';
14541                    }
14542                    landingpage.PageUtilities.setAttribute(_this.el, 'aria-invalid', "".concat(!!error));
14543                    landingpage.PageUtilities.forEach(_this.eeElement, 'input[type="checkbox"]', function (input) { return landingpage.PageUtilities.setAttribute(input, 'aria-invalid', "".concat(!!error)); });
14544                }, 1);
14545            };
14546            SurveyCheckboxValidator.prototype.addChangeListener = function () {
14547                var _this = this;
14548                var _a;
14549                this.el.addEventListener('change', function () { return _this.changed(); });
14550                var inputs = this.eeElement.querySelectorAll('input[type="checkbox"]');
14551                inputs.forEach(function (input) {
14552                    input.addEventListener('blur', function () { _this.setAriaInvalid(); });
14553                    input.addEventListener('keyup', function (event) { return _this.trapEnterKey(event); });
14554                });
14555                (_a = this.eeElement.querySelector('.other-wrapper input[type="checkbox"]')) === null || _a === void 0 ? void 0 : _a.addEventListener('change', function () { return _this.changed(); });
14556            };
14557            SurveyCheckboxValidator.prototype.isOtherSelected = function (value) {
14558                return value[this.settings.otherIndex];
14559            };
14560            SurveyCheckboxValidator.prototype.getValue = function () {
14561                var val = {};
14562                landingpage.PageUtilities.forEach(this.eeElement, 'input[type="checkbox"]', function (el) { return val[el.value] = el.checked; });
14563                return val;
14564            };
14565            SurveyCheckboxValidator.prototype.setModel = function () {
14566                this.model = this.el.getAttribute('ng-model');
14567            };
14568            SurveyCheckboxValidator.prototype.setRequired = function () {
14569                var _a;
14570                this.required = ((_a = this.settings) === null || _a === void 0 ? void 0 : _a.requiredAnswer) || false;
14571            };
14572            SurveyCheckboxValidator.prototype.setAccessibility = function () {
14573                var _this = this;
14574                var inputs = this.el.querySelectorAll('input[type=checkbox]');
14575                inputs.forEach(function (x) {
14576                    var label = document.querySelector("[for=\"".concat(x.getAttribute('id'), "\"]"));
14577                    if (label) {
14578                        x.setAttribute('aria-label', label.innerText);
14579                        _this.addDescribedBy(x);
14580                    }
14581                });
14582            };
14583            SurveyCheckboxValidator.prototype.setOtherAriaInvalid = function () {
14584                var error = this.eeElement.querySelector('.other-wrapper').getAttribute('lp-has-errors');
14585                landingpage.PageUtilities.setAttribute(this.otherBox, 'aria-invalid', "".concat(!!error));
14586            };
14587            SurveyCheckboxValidator.prototype.setValid = function () {
14588                var _a;
14589                var value = this.getValue();
14590                var isBoxChecked = false;
14591                for (var prop in value) {
14592                    if (value[prop])
14593                        isBoxChecked = true;
14594                }
14595                var error = !this.required || isBoxChecked ? null : 'checkboxes';
14596                var otherError = this.otherIndex && value[this.otherIndex] && !((_a = this.otherInput) === null || _a === void 0 ? void 0 : _a.value);
14597                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
14598                landingpage.PageUtilities.setAttribute(this.eeElement.querySelector('.other-wrapper'), 'lp-has-errors', otherError && !error ? 'checkboxes' : null);
14599            };
14600            SurveyCheckboxValidator.prototype.trapEnterKey = function (event) {
14601                if (event.key === 'Enter') {
14602                    this.changed();
14603                    this.setAriaInvalid();
14604                }
14605            };
14606            return SurveyCheckboxValidator;
14607        }(surveys.SurveyOtherOptionValidator));
14608        surveys.SurveyCheckboxValidator = SurveyCheckboxValidator;
14609    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14610})(landingpage || (landingpage = {}));
14611;
14612var landingpage;
14613(function (landingpage) {
14614    var surveys;
14615    (function (surveys) {
14616        var SurveyConsentValidator = (function (_super) {
14617            __extends(SurveyConsentValidator, _super);
14618            function SurveyConsentValidator() {
14619                return _super !== null && _super.apply(this, arguments) || this;
14620            }
14621            Object.defineProperty(SurveyConsentValidator.prototype, "input", {
14622                get: function () {
14623                    if (!this.checkbox) {
14624                        this.checkbox = this.eeElement.querySelector('input[type="checkbox"]');
14625                    }
14626                    return this.checkbox;
14627                },
14628                enumerable: false,
14629                configurable: true
14630            });
14631            SurveyConsentValidator.prototype.setAriaInvalid = function () {
14632                var error = this.eeElement.getAttribute('lp-has-errors');
14633                landingpage.PageUtilities.setAttribute(this.input, 'aria-invalid', "".concat(!!error));
14634            };
14635            SurveyConsentValidator.prototype.addChangeListener = function () {
14636                var _this = this;
14637                this.input.addEventListener('keyup', function (event) { return _this.trapEnterKey(event); });
14638                this.input.addEventListener('change', function () { return _this.changed(); });
14639                this.input.addEventListener('blur', function () { return _this.setAriaInvalid(); });
14640            };
14641            SurveyConsentValidator.prototype.changed = function () {
14642                var value = this.getValue();
14643                this.setValid();
14644                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: value });
14645            };
14646            SurveyConsentValidator.prototype.getValue = function () {
14647                return this.input.checked;
14648            };
14649            SurveyConsentValidator.prototype.setModel = function () {
14650                this.model = this.input.getAttribute('ng-model').replace(/^lpForm\./, '');
14651            };
14652            SurveyConsentValidator.prototype.setRequired = function () {
14653                var _a;
14654                this.required = ((_a = this.settings) === null || _a === void 0 ? void 0 : _a.requiredAnswer) || false;
14655            };
14656            SurveyConsentValidator.prototype.setAccessibility = function () {
14657                var label = document.querySelector("[for=".concat(this.input.getAttribute('id'), "]"));
14658                if (label) {
14659                    this.input.setAttribute('aria-label', label.innerText);
14660                    this.addDescribedBy(this.input);
14661                }
14662            };
14663            SurveyConsentValidator.prototype.setValid = function () {
14664                var value = this.getValue();
14665                var error = this.required && !value ? 'required' : null;
14666                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
14667            };
14668            SurveyConsentValidator.prototype.trapEnterKey = function (event) {
14669                if (event.key === 'Enter') {
14670                    this.changed();
14671                }
14672            };
14673            return SurveyConsentValidator;
14674        }(surveys.SurveyValidatorComponent));
14675        surveys.SurveyConsentValidator = SurveyConsentValidator;
14676    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14677})(landingpage || (landingpage = {}));
14678;
14679var landingpage;
14680(function (landingpage) {
14681    var surveys;
14682    (function (surveys) {
14683        var SurveyDatetimeTemplate = (function () {
14684            function SurveyDatetimeTemplate() {
14685            }
14686            SurveyDatetimeTemplate.getTemplate = function () {
14687                if (!SurveyDatetimeTemplate.template)
14688                    SurveyDatetimeTemplate.init();
14689                return SurveyDatetimeTemplate.template;
14690            };
14691            SurveyDatetimeTemplate.init = function () {
14692                SurveyDatetimeTemplate.setTemplate();
14693            };
14694            SurveyDatetimeTemplate.setTemplate = function () {
14695                SurveyDatetimeTemplate.template = "\n                    <input class=\"ee_answertext datetime-datetime\" max=\"9999-12-31T23:59\" name=\"datetime\" type=\"datetime-local\" />\n                    <input class=\"ee_answertext datetime-date\" max=\"9999-12-31\" name=\"date\" type=\"date\" />\n                    <input class=\"ee_answertext datetime-time\" name=\"time\" type=\"time\" />";
14696            };
14697            return SurveyDatetimeTemplate;
14698        }());
14699        surveys.SurveyDatetimeTemplate = SurveyDatetimeTemplate;
14700    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14701})(landingpage || (landingpage = {}));
14702var landingpage;
14703(function (landingpage) {
14704    var surveys;
14705    (function (surveys) {
14706        var SurveyDropdownValidator = (function (_super) {
14707            __extends(SurveyDropdownValidator, _super);
14708            function SurveyDropdownValidator(el) {
14709                var _a;
14710                var _this = _super.call(this, el) || this;
14711                _this.otherWrapperSelector = '.other-wrapper';
14712                _this.otherBox = _this.eeElement.querySelector('input[type="text"]');
14713                (_a = _this.otherBox) === null || _a === void 0 ? void 0 : _a.addEventListener('blur', function () { return _this.setOtherAriaInvalid(); });
14714                return _this;
14715            }
14716            SurveyDropdownValidator.prototype.updateModel = function (model) {
14717                if (this.isOtherSelected(this.getValue())) {
14718                    this.updateOtherModel(model);
14719                }
14720            };
14721            SurveyDropdownValidator.prototype.setAriaInvalid = function () {
14722                var error = this.eeElement.getAttribute('lp-has-errors');
14723                if (error === 'other-required') {
14724                    error = '';
14725                }
14726                landingpage.PageUtilities.setAttribute(this.el, 'aria-invalid', "".concat(!!error));
14727            };
14728            SurveyDropdownValidator.prototype.addChangeListener = function () {
14729                var _this = this;
14730                this.el.addEventListener('change', function () { return _this.changed(); });
14731                this.el.addEventListener('blur', function () { return _this.setAriaInvalid(); });
14732            };
14733            SurveyDropdownValidator.prototype.isOtherSelected = function (value) {
14734                return value === "".concat(this.settings.otherIndex);
14735            };
14736            SurveyDropdownValidator.prototype.getValue = function () {
14737                return this.el.value;
14738            };
14739            SurveyDropdownValidator.prototype.setModel = function () {
14740                this.model = this.el.getAttribute('ng-model').replace(/^lpForm\./, '');
14741            };
14742            SurveyDropdownValidator.prototype.setRequired = function () {
14743                this.required = !!this.el.getAttribute('required');
14744            };
14745            SurveyDropdownValidator.prototype.setAccessibility = function () {
14746                var label = document.querySelector("[for=".concat(this.el.getAttribute('id'), "]"));
14747                if (label) {
14748                    this.el.setAttribute('aria-label', label.innerText);
14749                    this.addDescribedBy(this.el);
14750                }
14751                this.addDescribedBy(this.eeElement.querySelector('.other-wrapper input'), true);
14752            };
14753            SurveyDropdownValidator.prototype.setOtherAriaInvalid = function () {
14754                var error = this.eeElement.querySelector('.other-wrapper').getAttribute('lp-has-errors');
14755                landingpage.PageUtilities.setAttribute(this.otherBox, 'aria-invalid', "".concat(!!error));
14756            };
14757            SurveyDropdownValidator.prototype.setValid = function () {
14758                var value = this.getValue();
14759                var error = !this.required || Number(value) !== -1 ? null : 'required';
14760                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
14761                if (this.otherIndex && !error && this.otherBox) {
14762                    var isOtherInvalid = (this.otherIndex && value === this.otherIndex && !this.otherInput.value);
14763                    landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', isOtherInvalid ? 'other-required' : null);
14764                    landingpage.PageUtilities.setAttribute(this.eeElement.querySelector('.other-wrapper'), 'lp-has-errors', isOtherInvalid ? 'required' : null);
14765                }
14766            };
14767            return SurveyDropdownValidator;
14768        }(surveys.SurveyOtherOptionValidator));
14769        surveys.SurveyDropdownValidator = SurveyDropdownValidator;
14770    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14771})(landingpage || (landingpage = {}));
14772var landingpage;
14773(function (landingpage) {
14774    var SurveyFileUploadStateService = (function () {
14775        function SurveyFileUploadStateService() {
14776            this.isUploading = false;
14777        }
14778        SurveyFileUploadStateService.getService = function () {
14779            if (!this.serviceInstance) {
14780                this.serviceInstance = new SurveyFileUploadStateService();
14781            }
14782            return this.serviceInstance;
14783        };
14784        SurveyFileUploadStateService.prototype.setUploadingState = function (isUploading) {
14785            this.isUploading = isUploading;
14786        };
14787        SurveyFileUploadStateService.prototype.getUploadingState = function () {
14788            return this.isUploading;
14789        };
14790        return SurveyFileUploadStateService;
14791    }());
14792    landingpage.SurveyFileUploadStateService = SurveyFileUploadStateService;
14793})(landingpage || (landingpage = {}));
14794var landingpage;
14795(function (landingpage) {
14796    var surveys;
14797    (function (surveys) {
14798        var SurveyFileUploadValidator = (function (_super) {
14799            __extends(SurveyFileUploadValidator, _super);
14800            function SurveyFileUploadValidator(el) {
14801                return _super.call(this, el) || this;
14802            }
14803            SurveyFileUploadValidator.prototype.setAriaInvalid = function () {
14804                var error = this.eeElement.getAttribute('lp-has-errors');
14805                landingpage.PageUtilities.setAttribute(this.el, 'aria-invalid', "".concat(!!error));
14806            };
14807            SurveyFileUploadValidator.prototype.addChangeListener = function () {
14808                var _this = this;
14809                var input = this.el.querySelector('input[type=hidden]');
14810                input.addEventListener('change', function () { return _this.changed(); });
14811                input.addEventListener('input', function () { return _this.changed(); });
14812                input.addEventListener('blur', function () { return _this.setAriaInvalid(); });
14813            };
14814            SurveyFileUploadValidator.prototype.changed = function () {
14815                var value = this.getValue();
14816                this.setValid();
14817                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: value });
14818            };
14819            SurveyFileUploadValidator.prototype.getValue = function () {
14820                var el = this.el.querySelector('input[type=hidden]');
14821                return el === null || el === void 0 ? void 0 : el.value;
14822            };
14823            SurveyFileUploadValidator.prototype.setModel = function () {
14824                this.model = this.el.querySelector('input[type=hidden]').getAttribute('name');
14825            };
14826            SurveyFileUploadValidator.prototype.setRequired = function () {
14827                this.required = this.settings.requiredAnswer;
14828            };
14829            SurveyFileUploadValidator.prototype.setValid = function () {
14830                var value = this.getValue() === '' ? undefined : this.getValue();
14831                var error = (!this.required || value !== undefined) ? null : 'required';
14832                error = error || ((this.required && value === '[]')) ? 'required' : null;
14833                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
14834            };
14835            return SurveyFileUploadValidator;
14836        }(surveys.SurveyValidatorComponent));
14837        surveys.SurveyFileUploadValidator = SurveyFileUploadValidator;
14838    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14839})(landingpage || (landingpage = {}));
14840var landingpage;
14841(function (landingpage) {
14842    var surveys;
14843    (function (surveys) {
14844        var SurveyFormDataService = (function () {
14845            function SurveyFormDataService() {
14846            }
14847            SurveyFormDataService.getService = function () {
14848                if (!this.serviceInstance) {
14849                    this.serviceInstance = new SurveyFormDataService();
14850                }
14851                return this.serviceInstance;
14852            };
14853            SurveyFormDataService.prototype.getData = function (lpForm) {
14854                var _this = this;
14855                var defaultSubmitAction = document.querySelector('[name=defaultSubmitAction]').value, respondent = document.querySelector('[name=respondent]').value, captchaInput = document.querySelector('[name=g-recaptcha-response]'), captcha = captchaInput ? captchaInput.value : undefined, formData = { defaultSubmitAction: defaultSubmitAction, respondent: respondent, 'g-recaptcha-response': captcha };
14856                for (var prop in lpForm) {
14857                    var propName = this.getPropertyName(prop);
14858                    if (/^textbox|^radio|^dropdown/i.test(prop)) {
14859                        var val = lpForm[prop];
14860                        formData[propName] = (typeof val === 'number') ? val.toString() : val;
14861                    }
14862                    else if (/^checkbox/i.test(prop)) {
14863                        formData[propName] = this.getArrayFromQuestion(lpForm[prop]);
14864                    }
14865                    else if (/^consent/i.test(prop)) {
14866                        if (lpForm[prop])
14867                            formData[propName] = 'on';
14868                    }
14869                    else if (/^likert/i.test(prop)) {
14870                        this.setQuestionsFromObj(propName, lpForm[prop], formData);
14871                    }
14872                }
14873                landingpage.PageUtilities.forEach(document, '.ee_datetime', function (el) { return _this.getValuesFromDateTime(el, formData); });
14874                landingpage.PageUtilities.forEach(document, '.ee_preferences', function (el) { return _this.getValuesFromPreferences(el, formData); });
14875                landingpage.PageUtilities.forEach(document, '.ee_fileupload', function (el) { return _this.getValuesFromFileUploads(el, formData); });
14876                return formData;
14877            };
14878            SurveyFormDataService.prototype.getPropertyName = function (prop) {
14879                return parseInt(prop.replace(/^textbox|^radio|^dropdown|^checkbox|^consent|^likert/i, ''));
14880            };
14881            SurveyFormDataService.prototype.getArrayFromQuestion = function (obj) {
14882                var arr = [];
14883                for (var key in obj) {
14884                    if (obj[key])
14885                        arr.push(key);
14886                }
14887                return arr;
14888            };
14889            SurveyFormDataService.prototype.setQuestionsFromObj = function (propName, obj, formData) {
14890                for (var key in obj)
14891                    formData["".concat(propName, "_").concat(key)] = obj[key];
14892            };
14893            SurveyFormDataService.prototype.getValuesFromDateTime = function (el, formData) {
14894                landingpage.PageUtilities.forEach(el, 'input[type=date], input[type=datetime-local], input[type=time]', function (input) {
14895                    var name = input.getAttribute('name'), val = input.getAttribute('type') === 'date' ? input.value.replace(/-/g, '\/').replace(/T.+/, '') : input.value, newDate = new Date(val);
14896                    if (typeof val !== 'undefined') {
14897                        if (/^date|^datetime-local/i.test(input.getAttribute('type'))) {
14898                            formData["".concat(name, "_1")] = newDate.getFullYear().toString(),
14899                                formData["".concat(name, "_2")] = (newDate.getMonth() + 1).toString(),
14900                                formData["".concat(name, "_3")] = newDate.getDate().toString();
14901                        }
14902                        if (/^datetime-local/i.test(input.getAttribute('type'))) {
14903                            formData["".concat(name, "_4")] = newDate.getHours().toString(),
14904                                formData["".concat(name, "_5")] = newDate.getMinutes().toString();
14905                        }
14906                        if (/^time/i.test(input.getAttribute('type'))) {
14907                            var splitTime = val.split(/\:|\-/g);
14908                            formData["".concat(name, "_4")] = splitTime[0],
14909                                formData["".concat(name, "_5")] = splitTime[1];
14910                        }
14911                    }
14912                });
14913            };
14914            SurveyFormDataService.prototype.getValuesFromPreferences = function (el, formData) {
14915                var values = [], name;
14916                landingpage.PageUtilities.forEach(el, 'input[type=checkbox]', function (input) {
14917                    name = input.getAttribute('name');
14918                    if (input.checked) {
14919                        values.push(input.value);
14920                    }
14921                });
14922                formData[name] = values;
14923            };
14924            SurveyFormDataService.prototype.getValuesFromFileUploads = function (el, formData) {
14925                landingpage.PageUtilities.forEach(el, 'input[type=hidden]', function (input) {
14926                    var identifierParts = input.getAttribute('id').split('_');
14927                    var fieldId = identifierParts.length > 1 ? parseInt(identifierParts[1], 10) : null;
14928                    if (!fieldId)
14929                        return;
14930                    var fileIds = input.value ? JSON.parse(input.value) : [];
14931                    if (fileIds.length > 0) {
14932                        if (!formData[fieldId]) {
14933                            formData[fieldId] = [];
14934                        }
14935                        for (var i = 0; i < fileIds.length; i++) {
14936                            formData[fieldId].push(fileIds[i]);
14937                        }
14938                    }
14939                });
14940            };
14941            return SurveyFormDataService;
14942        }());
14943        surveys.SurveyFormDataService = SurveyFormDataService;
14944    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14945})(landingpage || (landingpage = {}));
14946var landingpage;
14947(function (landingpage) {
14948    var surveys;
14949    (function (surveys) {
14950        var SurveyHiddenvalue = (function (_super) {
14951            __extends(SurveyHiddenvalue, _super);
14952            function SurveyHiddenvalue(el) {
14953                var _this = _super.call(this, el) || this;
14954                _this.init();
14955                return _this;
14956            }
14957            SurveyHiddenvalue.prototype.init = function () {
14958                var _this = this;
14959                var dataElementSettings = this.el.getAttribute('data-element-settings');
14960                var settings = JSON.parse(dataElementSettings) || {};
14961                var key = settings.queryStringKey;
14962                var form = this.el.closest('form');
14963                var formAction = form.getAttribute('action');
14964                var query = window.location.href.match(/\?(.*)/);
14965                if (!formAction || !query)
14966                    return;
14967                var queryStrings = query[1].split(/&/), keyValuePairs = queryStrings.filter(function (query) { return _this.getMatchingQuery(query, key); }), keyValuePair = keyValuePairs.length ? escape(keyValuePairs[0]) : '';
14968                if (!keyValuePair)
14969                    return;
14970                if (formAction.indexOf(keyValuePair) === -1) {
14971                    var escQ = escape('?');
14972                    var del = formAction.split(escQ).length > 1 ? escape('&') : escQ;
14973                    formAction = formAction + del + keyValuePair;
14974                }
14975                form.setAttribute('action', formAction);
14976            };
14977            SurveyHiddenvalue.prototype.getMatchingQuery = function (query, key) {
14978                var keyValue = query.split(/=/g);
14979                return key === keyValue[0];
14980            };
14981            return SurveyHiddenvalue;
14982        }(landingpage.LPComponent));
14983        surveys.SurveyHiddenvalue = SurveyHiddenvalue;
14984        window.lpFrameWork.element('landingpage-survey-hiddenvalue', function (el) { return new SurveyHiddenvalue(el); });
14985    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
14986})(landingpage || (landingpage = {}));
14987var landingpage;
14988(function (landingpage) {
14989    var surveys;
14990    (function (surveys) {
14991        var SurveyLikertValidator = (function (_super) {
14992            __extends(SurveyLikertValidator, _super);
14993            function SurveyLikertValidator() {
14994                return _super !== null && _super.apply(this, arguments) || this;
14995            }
14996            SurveyLikertValidator.prototype.setAriaInvalid = function () { };
14997            SurveyLikertValidator.prototype.addChangeListener = function () {
14998                var _this = this;
14999                this.el.addEventListener('change', function () { return _this.changed(); });
15000            };
15001            SurveyLikertValidator.prototype.changed = function () {
15002                var value = this.getValue();
15003                this.setValid();
15004                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: value });
15005            };
15006            SurveyLikertValidator.prototype.getValue = function () {
15007                var _this = this;
15008                var value = {};
15009                landingpage.PageUtilities.forEach(this.el, 'fieldset', function (fieldset) { return _this.getFieldsetValue(fieldset, value); });
15010                return value;
15011            };
15012            SurveyLikertValidator.prototype.setModel = function () {
15013                this.model = this.el.getAttribute('ng-model').replace(/^lpForm\./, '');
15014            };
15015            SurveyLikertValidator.prototype.setRequired = function () {
15016                this.required = this.el.getAttribute('likertrequired') === 'true';
15017            };
15018            SurveyLikertValidator.prototype.setValid = function () {
15019                var value = this.getValue();
15020                var error = this.getError(value);
15021                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', this.required ? error : null);
15022            };
15023            SurveyLikertValidator.prototype.getFieldsetValue = function (fieldset, value) {
15024                var _this = this;
15025                var settings = JSON.parse(fieldset.getAttribute('data-element-settings')) || {};
15026                var id = settings.id;
15027                if (id) {
15028                    value[id] = null;
15029                    landingpage.PageUtilities.forEach(fieldset, 'input[type="radio"]', function (input) { return _this.getInputValue(input, id, value); });
15030                }
15031            };
15032            SurveyLikertValidator.prototype.getInputValue = function (input, id, value) {
15033                if (input.checked) {
15034                    value[id] = input.value;
15035                }
15036            };
15037            SurveyLikertValidator.prototype.getError = function (value) {
15038                for (var prop in value) {
15039                    if (value[prop] === null) {
15040                        return 'likertrequired';
15041                    }
15042                }
15043                return null;
15044            };
15045            return SurveyLikertValidator;
15046        }(surveys.SurveyValidatorComponent));
15047        surveys.SurveyLikertValidator = SurveyLikertValidator;
15048        window.lpFrameWork.element('lp-survey-likert-validator', function (el) { return new SurveyLikertValidator(el); });
15049    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
15050})(landingpage || (landingpage = {}));
15051var landingpage;
15052(function (landingpage) {
15053    var surveys;
15054    (function (surveys) {
15055        var SurveyMultipleChoiceValidator = (function (_super) {
15056            __extends(SurveyMultipleChoiceValidator, _super);
15057            function SurveyMultipleChoiceValidator(el) {
15058                var _a;
15059                var _this = _super.call(this, el) || this;
15060                _this.otherWrapperSelector = '.other-item-wrapper';
15061                _this.otherBox = _this.eeElement.querySelector('input[type="text"]');
15062                (_a = _this.otherBox) === null || _a === void 0 ? void 0 : _a.addEventListener('blur', function () { return _this.setOtherAriaInvalid(); });
15063                return _this;
15064            }
15065            SurveyMultipleChoiceValidator.prototype.updateModel = function (model) {
15066                if (this.isOtherSelected(this.getValue())) {
15067                    this.updateOtherModel(model);
15068                }
15069            };
15070            SurveyMultipleChoiceValidator.prototype.setAriaInvalid = function () {
15071                var _this = this;
15072                setTimeout(function () {
15073                    var error = _this.eeElement.getAttribute('lp-has-errors');
15074                    if (error === 'other-required') {
15075                        error = '';
15076                    }
15077                    landingpage.PageUtilities.setAttribute(_this.el, 'aria-invalid', "".concat(!!error));
15078                    landingpage.PageUtilities.forEach(_this.eeElement, 'input[type="radio"]', function (input) { return landingpage.PageUtilities.setAttribute(input, 'aria-invalid', "".concat(!!error)); });
15079                }, 1);
15080            };
15081            SurveyMultipleChoiceValidator.prototype.addChangeListener = function () {
15082                var _this = this;
15083                var _a;
15084                if (!this.model) {
15085                    return;
15086                }
15087                this.el.addEventListener('change', function () { return _this.changed(); });
15088                var inputs = this.el.querySelectorAll('input[type=radio]');
15089                inputs.forEach(function (input) {
15090                    input.addEventListener('blur', function () { return _this.setAriaInvalid(); });
15091                    input.addEventListener('change', function () { return _this.setAriaInvalid(); });
15092                });
15093                (_a = this.eeElement.querySelector('.other-wrapper input[type="radio"]')) === null || _a === void 0 ? void 0 : _a.addEventListener('change', function () { return _this.changed(); });
15094            };
15095            SurveyMultipleChoiceValidator.prototype.isOtherSelected = function (value) {
15096                return value === "".concat(this.settings.otherIndex);
15097            };
15098            SurveyMultipleChoiceValidator.prototype.getValue = function () {
15099                var selected = landingpage.PageUtilities.find(this.eeElement, 'input', function (el) { return el.checked; });
15100                return selected === null || selected === void 0 ? void 0 : selected.value;
15101            };
15102            SurveyMultipleChoiceValidator.prototype.setModel = function () {
15103                var ngModel = this.el.getAttribute('ng-model');
15104                if (!ngModel) {
15105                    return;
15106                }
15107                this.model = ngModel.replace(/^lpForm\./, '');
15108            };
15109            SurveyMultipleChoiceValidator.prototype.setRequired = function () {
15110                if (!this.model) {
15111                    return;
15112                }
15113                this.required = this.el.getAttribute('required-answer') === 'true';
15114            };
15115            SurveyMultipleChoiceValidator.prototype.setAccessibility = function () {
15116                var _this = this;
15117                var inputs = this.el.querySelectorAll('input[type=radio]');
15118                inputs.forEach(function (x) {
15119                    var label = document.querySelector("[for=\"".concat(x.getAttribute('id'), "\"]"));
15120                    if (label) {
15121                        x.setAttribute('aria-label', label.innerText);
15122                        _this.addDescribedBy(x);
15123                    }
15124                });
15125            };
15126            SurveyMultipleChoiceValidator.prototype.setOtherAriaInvalid = function () {
15127                var error = this.eeElement.querySelector('.other-wrapper').getAttribute('lp-has-errors');
15128                landingpage.PageUtilities.setAttribute(this.otherBox, 'aria-invalid', "".concat(!!error));
15129            };
15130            SurveyMultipleChoiceValidator.prototype.setValid = function () {
15131                if (!this.model) {
15132                    return;
15133                }
15134                var value = this.getValue();
15135                var error = !this.required || value !== undefined ? null : 'radio';
15136                var otherBox = this.eeElement.querySelector('input[type="text"]');
15137                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
15138                if (this.otherIndex && !error && otherBox) {
15139                    var otherError = (this.otherIndex && value === this.otherIndex && !this.otherInput.value) ? 'radio' : null;
15140                    landingpage.PageUtilities.setAttribute(this.eeElement.querySelector('.other-wrapper'), 'lp-has-errors', otherError);
15141                }
15142            };
15143            return SurveyMultipleChoiceValidator;
15144        }(surveys.SurveyOtherOptionValidator));
15145        surveys.SurveyMultipleChoiceValidator = SurveyMultipleChoiceValidator;
15146    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
15147})(landingpage || (landingpage = {}));
15148;
15149var landingpage;
15150(function (landingpage) {
15151    var surveys;
15152    (function (surveys) {
15153        var SurveyOpinionTemplate = (function () {
15154            function SurveyOpinionTemplate() {
15155            }
15156            SurveyOpinionTemplate.getTemplate = function (type) {
15157                if (type === 'slider') {
15158                    return SurveyOpinionTemplate.sliderTemplate;
15159                }
15160            };
15161            SurveyOpinionTemplate.sliderTemplate = "<div class=\"opinion-slider-directive\">\n            <div class=\"track\">\n                <div ng-style=\"{ 'left': percent + '%' }
15161\" class=\"slider\"></div>\n            </div>\n        </div>";
15162            return SurveyOpinionTemplate;
15163        }());
15164        surveys.SurveyOpinionTemplate = SurveyOpinionTemplate;
15165    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
15166})(landingpage || (landingpage = {}));
15167var landingpages;
15168(function (landingpages) {
15169    var sharing;
15170    (function (sharing) {
15171        var CookieManager = (function () {
15172            function CookieManager(id) {
15173                this.completeName = "".concat(id, "-Completed");
15174                this.dismissedName = "".concat(id, "-Dismissed");
15175                this.reopenAfterDismissedDelayInDays = "".concat(id, "-ReopenDismissedDays");
15176                this.pageViewsName = "".concat(id, "-PageViews");
15177            }
15178            CookieManager.prototype.read = function (name) {
15179                var nameEQ = "".concat(name, "="), cookies = document.cookie.split(';');
15180                for (var i = 0; i < cookies.length; i++) {
15181                    var cookie = cookies[i];
15182                    while (cookie.charAt(0) === ' ')
15183                        cookie = cookie.substring(1, cookie.length);
15184                    if (cookie.indexOf(nameEQ) === 0)
15185                        return cookie.substring(nameEQ.length, cookie.length);
15186                }
15187                return null;
15188            };
15189            CookieManager.prototype.write = function (name, value, days) {
15190                var expires = "";
15191                if (days) {
15192                    var date = new Date();
15193                    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
15194                    expires = "; expires=".concat(date.toUTCString());
15195                }
15196                document.cookie = "".concat(name, "=").concat(value).concat(expires, ";secure=true; path=/; SameSite=None;");
15197            };
15198            CookieManager.prototype.clear = function (name) {
15199                document.cookie = "".concat(name, "=;secure=true; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; SameSite=None;");
15200            };
15201            return CookieManager;
15202        }());
15203        sharing.CookieManager = CookieManager;
15204    })(sharing = landingpages.sharing || (landingpages.sharing = {}));
15205})(landingpages || (landingpages = {}));
15206var landingpage;
15207(function (landingpage) {
15208    var surveys;
15209    (function (surveys) {
15210        var CookieManager = landingpages.sharing.CookieManager;
15211        var SurveyService = (function () {
15212            function SurveyService() {
15213                this.multipleAllowed = false;
15214                this.showContent = false;
15215                this.metaData = this.getMetaData();
15216                this.posting = false;
15217                this.surveyFormDataService = surveys.SurveyFormDataService.getService();
15218                this.surveyFileUploadStateService = landingpage.SurveyFileUploadStateService.getService();
15219                this.setPageId();
15220                this.setMultipleAllowed();
15221                this.setShowContent();
15222                this.cookieManager = new CookieManager(this.pageID);
15223                this.checkRespondentId();
15224                this.clearCookie();
15225            }
15226            SurveyService.getService = function () {
15227                if (!this.serviceInstance) {
15228                    this.serviceInstance = new SurveyService();
15229                }
15230                return this.serviceInstance;
15231            };
15232            SurveyService.prototype.clearCookie = function () {
15233                if (!this.multipleAllowed)
15234                    return;
15235                this.cookieManager.clear("responder-".concat(this.pageID));
15236            };
15237            SurveyService.prototype.setCompletedCookie = function () {
15238                if (!this.multipleAllowed) {
15239                    this.cookieManager.write("completed-".concat(this.pageID), 'true', 365);
15240                }
15241            };
15242            SurveyService.prototype.isSurveyCompleted = function () {
15243                if (!this.multipleAllowed) {
15244                    if (/__lpcomplete\=true/.test(document.location.search))
15245                        return true;
15246                    return this.cookieManager.read("completed-".concat(this.pageID)) === 'true';
15247                }
15248                return false;
15249            };
15250            SurveyService.prototype.postData = function (form, lpForm, json, callback) {
15251                if (this.posting || this.surveyFileUploadStateService.getUploadingState())
15252                    return;
15253                var formData = this.surveyFormDataService.getData(lpForm), action = form.getAttribute('action'), random = Math.random(), urlAndQuery = action.split('?'), urlArr = urlAndQuery[0].split('/'), query = "pUrl=".concat(window.encodeURIComponent(this.getLocationHref()));
15254                this.posting = true;
15255                var checkboxDataFieldArrayJson = this.getCheckboxDataFieldJSON();
15256                var xhttp = new XMLHttpRequest();
15257                xhttp.onreadystatechange = function () {
15258                    if (xhttp.readyState == 4 && xhttp.status == 200) {
15259                        callback();
15260                    }
15261                };
15262                xhttp.open('POST', "/Response/SurveyLP/".concat(urlArr[urlArr.length - 1], "?").concat(query, "&random=").concat(random), true);
15263                xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
15264                xhttp.setRequestHeader('Cache-Control', 'no-cache, no-store, max-age=0, must-revalidate');
15265                xhttp.send(this.transformRequest(formData, json, checkboxDataFieldArrayJson));
15266            };
15267            SurveyService.prototype.getCheckboxDataFieldJSON = function () {
15268                var checkboxes = document.querySelectorAll('[lp-survey-checkbox-validator] .option-wrapper[data-element-settings]');
15269                var dataValues = [];
15270                checkboxes.forEach(function (element) {
15271                    var data = JSON.parse(element.getAttribute('data-element-settings'));
15272                    var datafield = data.dataField;
15273                    if (datafield) {
15274                        var checked = element.querySelector('input').checked;
15275                        dataValues.push({ datafield: datafield, value: checked });
15276                    }
15277                });
15278                var response = JSON.stringify(dataValues);
15279                return response;
15280            };
15281            SurveyService.prototype.transformRequest = function (obj, json, checkboxDataFieldArrayJson) {
15282                var valueArr = [];
15283                for (var prop in obj) {
15284                    var val = obj[prop];
15285                    if (!!val) {
15286                        if (typeof val === 'string') {
15287                            this.addProperty(valueArr, prop, val);
15288                        }
15289                        else {
15290                            for (var i = 0; i < val.length; i++)
15291                                this.addProperty(valueArr, prop, val[i]);
15292                        }
15293                    }
15294                }
15295                var result = valueArr.join('&');
15296                json.landing_page_id = this.metaData.id;
15297                json.survey_id = this.metaData.survey.surveyId;
15298                if (window.enableInsightPost && this.metaData.survey.submitActions.allowInsights) {
15299                    result += "&insights=".concat(encodeURIComponent(JSON.stringify(json)));
15300                }
15301                result += "&dataFieldsJson=".concat(encodeURIComponent(checkboxDataFieldArrayJson));
15302                return result;
15303            };
15304            SurveyService.prototype.addProperty = function (valueArr, prop, val) {
15305                valueArr.push("".concat(encodeURIComponent(prop), "=").concat(encodeURIComponent(val)));
15306            };
15307            SurveyService.prototype.setPageId = function () {
15308                var locationParts = window.location.pathname.split('/').filter(function (el) { return el.trim().length; });
15309                this.pageID = (locationParts.length >= 2) ? locationParts[1] : '';
15310            };
15311            SurveyService.prototype.getMetaData = function () {
15312                var metaScript = document.querySelector('script[name="meta"]');
15313                if (!metaScript)
15314                    return;
15315                return JSON.parse(metaScript.textContent) || {};
15316            };
15317            SurveyService.prototype.setMultipleAllowed = function () {
15318                if (this.metaData && this.metaData.survey && this.metaData.survey.submitActions) {
15319                    this.multipleAllowed = this.metaData.survey.submitActions.multiple === 'multipleTimes';
15320                }
15321            };
15322            SurveyService.prototype.setShowContent = function () {
15323                if (this.metaData && this.metaData.survey && this.metaData.survey.submitActions) {
15324                    this.showContent = this.metaData.survey.submitActions.redirectType === landingpage.confirmation.ConfirmationType.showContent;
15325                }
15326            };
15327            SurveyService.prototype.checkRespondentId = function () {
15328                var _a;
15329                var resId = ((_a = document.querySelector('[name=respondent]')) === null || _a === void 0 ? void 0 : _a.value) || null;
15330                if (!resId || resId.indexOf('$RESPONDERGUID$') !== -1)
15331                    return;
15332                var cookieName = "respondentid".concat(this.pageID), cookie = this.cookieManager.read(cookieName), cookieCount = "".concat(cookieName, "count"), ccount = Number(this.cookieManager.read(cookieCount)) || 0, qcount = 0;
15333                if (/pfredir=\d+/.test(document.location.href)) {
15334                    qcount = Number(document.location.href.match(/pfredir=(\d+)/)[1]);
15335                }
15336                else {
15337                    this.cookieManager.write(cookieCount, 0);
15338                    ccount = 0;
15339                }
15340                if (resId === cookie) {
15341                    if (qcount > ccount) {
15342                        this.cookieManager.write(cookieCount, qcount);
15343                    }
15344                    else {
15345                        var location_1 = document.location.href.replace(/[&]?pfredir=\d+/, '');
15346                        location_1 = location_1.replace(/\?$/, '');
15347                        document.location.href = location_1 + (/\?/.test(location_1) ? '&' : '?') + 'pfredir=' + (qcount + 1);
15348                    }
15349                }
15350                else {
15351                    this.cookieManager.write(cookieCount, qcount);
15352                    this.cookieManager.write(cookieName, resId, 30);
15353                }
15354            };
15355            SurveyService.prototype.getLocationHref = function () {
15356                var href = document.location.href;
15357                var hash = document.location.hash;
15358                return !!hash ? href.replace(hash.split('?')[0], '') : href;
15359            };
15360            return SurveyService;
15361        }());
15362        surveys.SurveyService = SurveyService;
15363    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
15364})(landingpage || (landingpage = {}));
15365String.prototype.isEmailAddress = function () {
15366    var emailRegex = new RegExp('^(?!\\.)(\\([A-Za-z0-9]+\\))?[\\u00C0-\\u00FFA-Za-z0-9_\u0027%\\-\\\u0026\\!\\#\\$\\*\\+\\/\\=\\?\\^\\`\\{\\}\\~\\|]+(\\.[\\u00C0-\\u00FFA-Za-z0-9_\u0027%\\-\\\u0026\\!\\#\\$\\*\\+\\/\\=\\?\\^\\`\\{\\}\\~\\|]+)*(\\([A-Za-z0-9]+\\))?@([A-Za-z0-9][A-Za-z0-9-]*\\.)+[A-Za-z0-9-]{2,}$');
15367    return emailRegex.test(this);
15368};
15369var landingpage;
15370(function (landingpage) {
15371    var surveys;
15372    (function (surveys) {
15373        var SurveyTextboxValidator = (function (_super) {
15374            __extends(SurveyTextboxValidator, _super);
15375            function SurveyTextboxValidator(el) {
15376                var _this = _super.call(this, el) || this;
15377                _this.el.querySelectorAll('[lp-survey-phone-number],[ng-intl-tel-input]').forEach(function (x) { return new surveys.SurveyPhoneNumber(x); });
15378                return _this;
15379            }
15380            SurveyTextboxValidator.prototype.updateModel = function (model) {
15381                model[this.model] = this.value;
15382            };
15383            Object.defineProperty(SurveyTextboxValidator.prototype, "value", {
15384                get: function () {
15385                    var value = this.getValue();
15386                    if (this.type === 'number') {
15387                        var numberVal = parseFloat(value);
15388                        value = !isNaN(numberVal) ? numberVal : '';
15389                    }
15390                    else if (this.type === 'phone') {
15391                        value = this.removeInvalidCharacters(value);
15392                        value = landingpage.LPComponent.getComponent(this.getPhoneInput()).getNumber();
15393                    }
15394                    else if (this.type === 'text' || this.type === 'email') {
15395                        value = this.removeInvalidCharacters(value);
15396                    }
15397                    return value;
15398                },
15399                enumerable: false,
15400                configurable: true
15401            });
15402            SurveyTextboxValidator.prototype.setAriaInvalid = function () {
15403                var error = this.eeElement.getAttribute('lp-has-errors');
15404                landingpage.PageUtilities.setAttribute(this.input, 'aria-invalid', "".concat(!!error));
15405            };
15406            SurveyTextboxValidator.prototype.addChangeListener = function () {
15407                var _this = this;
15408                if (this.type === 'phone') {
15409                    setTimeout(function () { var _a; return (_a = landingpage.LPComponent.getComponent(_this.getPhoneInput())) === null || _a === void 0 ? void 0 : _a.setCallback(function () { return _this.changed(); }); }, 1);
15410                }
15411                else {
15412                    this.input.addEventListener('mouseup', function () { return _this.changed(); });
15413                    this.input.addEventListener('keyup', function () { return _this.changed(); });
15414                    this.input.addEventListener('change', function () { return _this.changed(); });
15415                    this.input.addEventListener('paste', function () { return setTimeout(function () { return _this.changed(); }, 1); });
15416                    this.input.addEventListener('blur', function () { return _this.setAriaInvalid(); });
15417                }
15418            };
15419            SurveyTextboxValidator.prototype.changed = function () {
15420                this.setValid();
15421                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: this.value });
15422            };
15423            SurveyTextboxValidator.prototype.getValue = function () {
15424                return this.input.value;
15425            };
15426            SurveyTextboxValidator.prototype.setModel = function () {
15427                this.input = this.el.querySelector('input,textarea');
15428                this.type = this.input.getAttribute('type');
15429                if (this.getPhoneInput()) {
15430                    this.type = 'phone';
15431                }
15432                this.model = this.input.getAttribute('ng-model').replace(/^lpForm\./, '');
15433            };
15434            SurveyTextboxValidator.prototype.setRequired = function () {
15435                var _a;
15436                this.required = ((_a = this.settings) === null || _a === void 0 ? void 0 : _a.requiredAnswer) || false;
15437            };
15438            SurveyTextboxValidator.prototype.setAccessibility = function () {
15439                var label = document.querySelector("[for=".concat(this.input.getAttribute('id'), "]"));
15440                if (label) {
15441                    this.input.setAttribute('aria-label', label.innerText);
15442                    this.addDescribedBy(this.input);
15443                }
15444            };
15445            SurveyTextboxValidator.prototype.setValid = function () {
15446                var value = this.getValue();
15447                var error = null;
15448                if (this.required) {
15449                    if (this.type === 'number') {
15450                        error = this.getNumberError(value);
15451                    }
15452                    else if (this.type === 'email') {
15453                        if (!value) {
15454                            error = 'required';
15455                        }
15456                        else {
15457                            error = !this.input.value.isEmailAddress() ? 'email' : null;
15458                        }
15459                    }
15460                    else if (this.type === 'phone') {
15461                        if (!value) {
15462                            error = 'required';
15463                        }
15464                        else {
15465                            error = (this.input.getAttribute('phone-input-valid') !== 'true') ? 'intlTelInput' : null;
15466                        }
15467                    }
15468                    else {
15469                        error = !value ? 'required' : null;
15470                    }
15471                }
15472                else if (this.type === 'phone' && value) {
15473                    error = (this.input.getAttribute('phone-input-valid') !== 'true') ? 'intlTelInput' : null;
15474                }
15475                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
15476            };
15477            SurveyTextboxValidator.prototype.getNumberError = function (value) {
15478                var numberVal = parseFloat(value);
15479                var min = parseInt(this.input.getAttribute('min'));
15480                var max = parseInt(this.input.getAttribute('max'));
15481                if (this.input.validity.badInput) {
15482                    return 'number';
15483                }
15484                else if (value === '') {
15485                    return 'required';
15486                }
15487                if (numberVal < min) {
15488                    return 'min';
15489                }
15490                if (numberVal > max) {
15491                    return 'max';
15492                }
15493                return null;
15494            };
15495            SurveyTextboxValidator.prototype.getPhoneInput = function () {
15496                return this.el.querySelector('[lp-survey-phone-number],[ng-intl-tel-input]');
15497            };
15498            return SurveyTextboxValidator;
15499        }(surveys.SurveyValidatorComponent));
15500        surveys.SurveyTextboxValidator = SurveyTextboxValidator;
15501    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
15502})(landingpage || (landingpage = {}));
15503var landingpage;
15504(function (landingpage) {
15505    var surveys;
15506    (function (surveys) {
15507        var DataFieldType;
15508        (function (DataFieldType) {
15509            DataFieldType[DataFieldType["String"] = 1] = "String";
15510            DataFieldType[DataFieldType["Numeric"] = 2] = "Numeric";
15511            DataFieldType[DataFieldType["Date"] = 3] = "Date";
15512            DataFieldType[DataFieldType["Boolean"] = 4] = "Boolean";
15513        })(DataFieldType || (DataFieldType = {}));
15514        var SurveysFormCtrl = (function () {
15515            function SurveysFormCtrl() {
15516                var _this = this;
15517                this.inputUpdates = [];
15518                this.autoSave = false;
15519                this.validators = [];
15520                this.confirmationService = landingpage.confirmation.ConfirmationService.getService();
15521                this.pageMessengerService = landingpage.PageMessengerService.getService();
15522                this.pageValidityService = landingpage.paging.PageValidityService.getService();
15523                this.semanticFormData = surveys.SemanticFormDataService.getService();
15524                this.surveyAutoSaveService = surveys.SurveyAutoSaveService.getService();
15525                this.surveyService = surveys.SurveyService.getService();
15526                this.fileUploadService = landingpage.SurveyFileUploadService.getService();
15527                var meta = this.surveyService.metaData;
15528                this.landingPageId = meta ? meta.id : 0;
15529                this.lpForm = this.updateDefaults(window.lpFormDefaults);
15530                this.pageMessengerService.setData('lpForm', this.lpForm);
15531                this.initAutoSave(meta);
15532                this.initInputs();
15533                this.initFormDefaults(meta);
15534                this.initValidators();
15535                if (this.surveyService.isSurveyCompleted()) {
15536                    if (meta.survey.submitActions.redirectType > 1)
15537                        this.redirect(meta);
15538                    this.confirmationService.showContent();
15539                    this.pageMessengerService.listen('spacetimeBlockLoaded', function () { return _this.confirmationService.showContent(); });
15540                }
15541                var form = document.querySelector('[name=lpsurveyform]');
15542                if (form) {
15543                    form.addEventListener('submit', function (ev) { return _this.checkInputsOnLastPage(ev); });
15544                }
15545                window.lpFormSubmitForm = function () { return _this.checkInputsOnLastPage(); };
15546                this.pageMessengerService.listen('formChanged', function (data) {
15547                    if (data) {
15548                        _this.lpForm[data.prop] = data.value;
15549                        if (_this.autoSave) {
15550                            _this.surveyAutoSaveService.saveData(_this.landingPageId, _this.lpForm);
15551                        }
15552                    }
15553                });
15554            }
15555            SurveysFormCtrl.prototype.initValidators = function () {
15556                var validators = this.validators;
15557                document.querySelectorAll('[landingpage-survey-textbox]').forEach(function (x) { return validators.push(new surveys.SurveyTextboxValidator(x)); });
15558                document.querySelectorAll('[lp-survey-checkbox-validator]').forEach(function (x) { return validators.push(new surveys.SurveyCheckboxValidator(x)); });
15559                document.querySelectorAll('[landingpage-survey-consent]').forEach(function (x) { return validators.push(new surveys.SurveyConsentValidator(x)); });
15560                document.querySelectorAll('[lp-survey-dropdown-validator]').forEach(function (x) { return validators.push(new surveys.SurveyDropdownValidator(x)); });
15561                document.querySelectorAll('[lp-survey-multiple-choice-validator]').forEach(function (x) { return validators.push(new surveys.SurveyMultipleChoiceValidator(x)); });
15562                document.querySelectorAll('[landingpage-survey-opinion]').forEach(function (x) { return validators.push(new surveys.SurveyOpinionValidator(x)); });
15563                document.querySelectorAll('[landingpage-survey-fileupload]').forEach(function (x) { return validators.push(new surveys.SurveyFileUploadValidator(x)); });
15564            };
15565            SurveysFormCtrl.prototype.redirect = function (meta) {
15566                if (meta.survey.submitActions.redirectType === 2) {
15567                    window.top.location.href = meta.survey.submitActions.redirectUrl;
15568                }
15569                else {
15570                    window.top.location.href = meta.survey.submitActions.landingPage.PublishedUrl;
15571                }
15572            };
15573            SurveysFormCtrl.prototype.initAutoSave = function (meta) {
15574                if (meta && meta.survey && meta.survey.autoSave && meta.survey.autoSave.autoSave) {
15575                    var dataFromStorage = this.surveyAutoSaveService.loadData(this.landingPageId);
15576                    if (dataFromStorage) {
15577                        for (var prop in this.lpForm) {
15578                            if (dataFromStorage[prop] === undefined) {
15579                                dataFromStorage[prop] = this.lpForm[prop];
15580                            }
15581                        }
15582                        this.lpForm = dataFromStorage;
15583                        this.pageMessengerService.setData('lpForm', this.lpForm);
15584                    }
15585                    this.autoSave = meta.survey.autoSave && meta.survey.autoSave.autoSave;
15586                }
15587                else {
15588                    this.surveyAutoSaveService.clearData(this.landingPageId);
15589                    this.fileUploadService.clearData(this.landingPageId);
15590                }
15591            };
15592            SurveysFormCtrl.prototype.checkInputsOnLastPage = function (ev) {
15593                var _this = this;
15594                if (ev === void 0) { ev = null; }
15595                var form = document.querySelector('[name=lpsurveyform]');
15596                if (!form)
15597                    return;
15598                var pages = form.querySelectorAll('[ee-page]'), validationTarget = pages.length ? pages[pages.length - 1] : form, invalidInputsOnLastPage = this.pageValidityService.getInvalidInputs(validationTarget);
15599                if (ev)
15600                    ev.preventDefault();
15601                if (invalidInputsOnLastPage.length) {
15602                    this.pageValidityService.markPageInvalid(validationTarget);
15603                    window.grecaptcha && window.grecaptcha.reset();
15604                }
15605                else {
15606                    this.ensureLpFormUpToDate();
15607                    var semanticData_1 = this.semanticFormData.get(this.lpForm);
15608                    this.surveyService.postData(form, this.lpForm, semanticData_1.form, function () { return _this.completeForm(semanticData_1); });
15609                }
15610            };
15611            SurveysFormCtrl.prototype.ensureLpFormUpToDate = function () {
15612                var _this = this;
15613                this.validators.forEach(function (x) { return x.updateModel(_this.lpForm); });
15614            };
15615            SurveysFormCtrl.prototype.completeForm = function (result) {
15616                this.clearData();
15617                this.surveyService.clearCookie();
15618                this.surveyService.setCompletedCookie();
15619                window.sendMessageOnLoad.sendCompleteMessage(result);
15620                this.confirmationService.doConfirmation(this.surveyService.metaData);
15621            };
15622            SurveysFormCtrl.prototype.clearData = function () {
15623                if (!this.landingPageId === null)
15624                    return;
15625                this.surveyAutoSaveService.clearData(this.landingPageId);
15626                this.fileUploadService.clearData(this.landingPageId);
15627            };
15628            SurveysFormCtrl.prototype.updateDefaults = function (defaults) {
15629                for (var key in defaults) {
15630                    if (/^(dropdown|radio)\d+/.test(key) && /##\$.*##\$.*/.test(defaults[key])) {
15631                        var value = defaults[key], parts = value.split(/##\$/);
15632                        if (parts[1]) {
15633                            this.inputUpdates.push({
15634                                type: key.replace(/\d+/, ''),
15635                                id: key.match(/\d+/)[0],
15636                                datafield: parts[1],
15637                                default: parts[2]
15638                            });
15639                            defaults[key] = null;
15640                        }
15641                        else {
15642                            defaults[key] = parts[2];
15643                        }
15644                    }
15645                }
15646                return defaults;
15647            };
15648            SurveysFormCtrl.prototype.initFormDefaults = function (meta) {
15649                for (var name_1 in this.lpForm) {
15650                    var type = name_1.match(/^[a-z]*/)[0], value = this.lpForm[name_1];
15651                    switch (type) {
15652                        case 'textbox':
15653                            this.initByValue(name_1, value);
15654                            break;
15655                        case 'radio':
15656                            this.initRadio(name_1, value);
15657                            break;
15658                        case 'dropdown':
15659                            this.initByValue(name_1, value);
15660                            break;
15661                        case 'checkbox':
15662                            this.initCheckbox(name_1, value);
15663                            break;
15664                        case 'consent':
15665                            this.initConsent(name_1, value);
15666                            break;
15667                        case 'prefs':
15668                            this.initPrefs(value);
15669                            break;
15670                        case 'file':
15671                            this.initFileUploadIds(meta, name_1, value);
15672                            break;
15673                    }
15674                }
15675            };
15676            SurveysFormCtrl.prototype.initByValue = function (name, value) {
15677                var el = document.querySelector("[ng-model=\"lpForm.".concat(name, "\"]"));
15678                if (el)
15679                    el.value = value;
15680            };
15681            SurveysFormCtrl.prototype.initRadio = function (name, value) {
15682                var el = document.querySelector("[ng-model=\"lpForm.".concat(name, "\"][value=\"").concat(value, "\""));
15683                if (el)
15684                    el.checked = true;
15685                else {
15686                    el = document.querySelector("[ng-model=\"lpForm.".concat(name, "\"][type=\"range\"]"));
15687                    if (el) {
15688                        el.value = value;
15689                    }
15690                }
15691            };
15692            SurveysFormCtrl.prototype.initCheckbox = function (name, checkboxes) {
15693                for (var key in checkboxes) {
15694                    var checkbox = checkboxes[key];
15695                    if (typeof (checkbox) === "boolean") {
15696                        checkbox = { id: key, value: checkbox };
15697                    }
15698                    if (checkbox) {
15699                        var el = document.querySelector("[ng-model=\"lpForm.".concat(name, "[").concat(checkbox.id, "]\"]"));
15700                        if (el) {
15701                            var dfval = checkbox.value.toString().toLowerCase();
15702                            if (dfval === null || dfval === undefined || dfval === '') {
15703                                var eeval = checkbox.eeval.toString().toLowerCase();
15704                                el.checked = eeval === "true" || eeval === "yes" || eeval === "1";
15705                            }
15706                            else {
15707                                el.checked = dfval === "true" || dfval === "yes" || dfval === "1";
15708                            }
15709                            this.lpForm[name][key] = el.checked;
15710                        }
15711                    }
15712                }
15713            };
15714            SurveysFormCtrl.prototype.initConsent = function (name, value) {
15715                var el = document.querySelector("[ng-model=\"lpForm.".concat(name, "\"]"));
15716                if (el)
15717                    el.checked = value;
15718            };
15719            SurveysFormCtrl.prototype.initPrefs = function (value) {
15720                var _loop_1 = function (prop) {
15721                    var els = document.querySelectorAll("[ng-model=\"lpForm.prefs.".concat(prop, "\"]"));
15722                    els.forEach(function (el) { return el.checked = value[prop]; });
15723                };
15724                for (var prop in value) {
15725                    _loop_1(prop);
15726                }
15727            };
15728            SurveysFormCtrl.prototype.initFileUploadIds = function (meta, name, value) {
15729                var el = document.querySelector("[ng-model=\"lpForm.".concat(name, "\"]"));
15730                if (el && meta.survey.submitActions.multiple === "onceOnly")
15731                    el.value = value;
15732            };
15733            SurveysFormCtrl.prototype.initInputs = function () {
15734                if (!this.lpForm)
15735                    return;
15736                for (var i = 0; i < this.inputUpdates.length; i++) {
15737                    var update = this.inputUpdates[i];
15738                    if (!this.lpForm[update.type + update.id]) {
15739                        switch (update.type) {
15740                            case 'dropdown':
15741                                this.updateSelect(update);
15742                                break;
15743                            case 'radio':
15744                                this.updateRadio(update);
15745                                break;
15746                        }
15747                    }
15748                }
15749            };
15750            SurveysFormCtrl.prototype.updateSelect = function (details) {
15751                var el = document.querySelector("#dropdown-".concat(details.id)), options = el.querySelectorAll('option'), found = this.getChosenOption(options, details), value = found.length ? found[0].getAttribute('value') : details.default;
15752                if (!found.length && details.datafield && landingpage.PageUtilities.nextAll(el, 'other-wrapper').length) {
15753                    value = options[options.length - 1].getAttribute('value');
15754                    var name_2 = landingpage.PageUtilities.nextAll(el, 'other-wrapper')[0].querySelector('input').getAttribute('name');
15755                    this.lpForm["textbox".concat(name_2)] = details.datafield;
15756                }
15757                this.lpForm["dropdown".concat(details.id)] = value;
15758            };
15759            SurveysFormCtrl.prototype.updateRadio = function (details) {
15760                var options = document.querySelectorAll("[name=\"".concat(details.id, "\"]")), found = this.getChosenOption(options, details), value = found.length ? found[0].getAttribute('value') : details.default, fieldset = options[0].closest('fieldset'), hasOtherWrapper = !!fieldset.querySelectorAll('.other-wrapper').length;
15761                if (!found.length && details.datafield && hasOtherWrapper) {
15762                    value = options[options.length - 1].getAttribute('value');
15763                    var name_3 = fieldset.querySelector('.other-wrapper input[type="text"],.other-wrapper textarea').getAttribute('name');
15764                    this.lpForm["textbox".concat(name_3)] = details.datafield;
15765                }
15766                this.lpForm["radio".concat(details.id)] = value;
15767            };
15768            SurveysFormCtrl.prototype.getChosenOption = function (options, details) {
15769                var _this = this;
15770                var eeEl = options[0].closest('.ee_element');
15771                var checkForYesNoValues = (this.getFieldType(eeEl) === DataFieldType.Boolean);
15772                return landingpage.PageUtilities.nodeListToArray(options).filter(function (el) {
15773                    var id = el.getAttribute('id'), text = (el.tagName.toLowerCase() === 'option') ? el.textContent : document.querySelector("[for=\"".concat(id, "\"]")).textContent, value = text.trim();
15774                    return (checkForYesNoValues) ? _this.updateYesNoValue(value, details.datafield) : text === details.datafield;
15775                });
15776            };
15777            SurveysFormCtrl.prototype.getFieldType = function (el) {
15778                var mappedFieldType = el.getAttribute('mapped-field-type');
15779                if (mappedFieldType) {
15780                    return parseInt(mappedFieldType);
15781                }
15782                else {
15783                    return DataFieldType.Boolean;
15784                }
15785            };
15786            SurveysFormCtrl.prototype.updateYesNoValue = function (text, datafield) {
15787                if (/(\byes\b|\btrue\b|\bon\b)/i.test(text))
15788                    text = 'true';
15789                if (/(\bno\b|\bfalse\b|\boff\b)/i.test(text))
15790                    text = 'false';
15791                if (text === datafield)
15792                    return true;
15793                return false;
15794            };
15795            return SurveysFormCtrl;
15796        }());
15797        window.lpFrameWork.element('ng-controller', function () { return new SurveysFormCtrl(); });
15798    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
15799})(landingpage || (landingpage = {}));
15800window.onpageshow = function (event) {
15801    if (event.persisted) {
15802        window.location.reload();
15803    }
15804};
15805var landingpage;
15806(function (landingpage) {
15807    var surveys;
15808    (function (surveys) {
15809        var SemanticFormDataService = (function () {
15810            function SemanticFormDataService() {
15811            }
15812            SemanticFormDataService.getService = function () {
15813                if (!this.serviceInstance) {
15814                    this.serviceInstance = new SemanticFormDataService();
15815                }
15816                return this.serviceInstance;
15817            };
15818            SemanticFormDataService.prototype.get = function (lpForm) {
15819                var formData = {
15820                    contactEmail: null,
15821                    dataFields: {},
15822                    form: {},
15823                    formRaw: {}
15824                };
15825                for (var prop in lpForm) {
15826                    var el = document.querySelector("[ng-model='lpForm.".concat(prop, "']")), element = (el === null || el === void 0 ? void 0 : el.closest('.ee_element')) || null, data = element ? JSON.parse(element.getAttribute('data-element-settings')) : {};
15827                    if (!$(el).closest('.other-wrapper').length) {
15828                        if (/^checkbox\d+$/i.test(prop)) {
15829                            this.addCheckboxData(formData.form, lpForm, prop);
15830                        }
15831                        else if (data && prop !== 'prefs') {
15832                            var val = this.getValue(lpForm[prop] || (data.schemaType === 'number' ? 0 : ''), data, lpForm);
15833                            if (data.questionType === 'contact-email' || data.questionType === 'channel-email')
15834                                formData.contactEmail = val;
15835                            this.addDatafield(formData.dataFields, data, val);
15836                            this.addFormfield(formData.form, element, val);
15837                            this.addFormfieldRaw(formData.formRaw, prop, val);
15838                        }
15839                    }
15840                }
15841                this.addHiddenFields(formData.form);
15842                return formData;
15843            };
15844            SemanticFormDataService.prototype.getValue = function (value, data, lpForm) {
15845                if (data.list) {
15846                    if (parseInt(value) === data.otherIndex) {
15847                        return lpForm["textbox".concat(data.otherId)] || '';
15848                    }
15849                    var item = data.list.filter(function (item) { return item.value > -1 && item.value === parseInt(value); });
15850                    return item && item.length ? item[0].text : '';
15851                }
15852                return value;
15853            };
15854            SemanticFormDataService.prototype.addDatafield = function (form, data, val) {
15855                if (!data.dataField)
15856                    return;
15857                form[data.dataField.toLowerCase()] = val;
15858            };
15859            SemanticFormDataService.prototype.addFormfield = function (form, element, val) {
15860                if (!element)
15861                    return;
15862                var labelText = element.querySelector('legend,label'), label = labelText ? this.makeName(labelText) : this.nameFromInput(element);
15863                if (label) {
15864                    if (val instanceof Date) {
15865                        val = val.toISOString();
15866                    }
15867                    form[label] = val;
15868                }
15869            };
15870            SemanticFormDataService.prototype.addFormfieldRaw = function (form, prop, val) {
15871                form[prop] = val;
15872            };
15873            SemanticFormDataService.prototype.addCheckboxData = function (form, lpForm, prop) {
15874                var _this = this;
15875                var _a;
15876                var result = {}, boxes = (_a = document.querySelector("[name=".concat(prop, "]"))) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.ee_list_item_label'), legend = document.querySelector(".fieldset-flex-container:has([name=".concat(prop, "]) legend")), data = $(boxes).closest('.ee_element').data('elementSettings');
15877                if (!boxes || !boxes.length)
15878                    return;
15879                boxes.forEach(function (x) {
15880                    var label = x.querySelector('label'), selected = x.querySelector('[type=checkbox]').checked;
15881                    if (label) {
15882                        result[_this.makeName(label)] = selected;
15883                    }
15884                    else {
15885                        result[_this.nameFromInputId(x)] = selected;
15886                    }
15887                });
15888                if (data && data.otherIndex && lpForm.hasOwnProperty("textbox".concat(data.otherId))) {
15889                    var otherVal = lpForm["textbox".concat(data.otherId)], otherText = data.otherText;
15890                    result[this.toSnakeCase(otherText)] = otherVal;
15891                }
15892                if (legend) {
15893                    form[this.makeName(legend)] = result;
15894                }
15895            };
15896            SemanticFormDataService.prototype.makeName = function (el) {
15897                var _a;
15898                var settings = el && ((_a = $(el).parents('.ee_element,.option-wrapper[data-element-settings]')) === null || _a === void 0 ? void 0 : _a.data('element-settings'));
15899                return (settings === null || settings === void 0 ? void 0 : settings.fieldId) || this.toSnakeCase(el.textContent) || el.getAttribute('for');
15900            };
15901            SemanticFormDataService.prototype.nameFromInput = function (el) {
15902                var placeholderEl = el.querySelector('[placeholder]');
15903                return placeholderEl ? this.toSnakeCase(placeholderEl.getAttribute('placeholder')) : '';
15904            };
15905            SemanticFormDataService.prototype.nameFromInputId = function (el) {
15906                var input = el.querySelector('input');
15907                return input ? this.toSnakeCase(input.getAttribute('id')) : '';
15908            };
15909            SemanticFormDataService.prototype.toSnakeCase = function (value) {
15910                return value.replace(/\s+/g, '_').replace(/[^a-z0-9_]/gi, '').toLowerCase();
15911            };
15912            SemanticFormDataService.prototype.addHiddenFields = function (form) {
15913                var _this = this;
15914                var hiddenFields = document.querySelectorAll('.ee_hiddenvalue');
15915                if (hiddenFields && hiddenFields.length) {
15916                    hiddenFields.forEach(function (x) { return _this.addHiddenField(form, x); });
15917                }
15918            };
15919            SemanticFormDataService.prototype.addHiddenField = function (form, element) {
15920                var data = element.getAttribute('data-element-settings');
15921                if (data) {
15922                    var settings = JSON.parse(data);
15923                    if (settings && settings.queryStringKey) {
15924                        var param = new URLSearchParams(window.location.search).get(settings.queryStringKey);
15925                        form[settings.queryStringKey] = param || '';
15926                    }
15927                }
15928            };
15929            return SemanticFormDataService;
15930        }());
15931        surveys.SemanticFormDataService = SemanticFormDataService;
15932    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
15933})(landingpage || (landingpage = {}));
15934var landingpage;
15935(function (landingpage) {
15936    var confirmation;
15937    (function (confirmation) {
15938        var ConfirmationType;
15939        (function (ConfirmationType) {
15940            ConfirmationType[ConfirmationType["showContent"] = 1] = "showContent";
15941            ConfirmationType[ConfirmationType["url"] = 2] = "url";
15942            ConfirmationType[ConfirmationType["landingPage"] = 3] = "landingPage";
15943        })(ConfirmationType = confirmation.ConfirmationType || (confirmation.ConfirmationType = {}));
15944        var ConfirmationService = (function () {
15945            function ConfirmationService() {
15946                this.pageService = landingpage.paging.PageService.getService();
15947                this.pageData = this.pageService.getCurrentPageData();
15948            }
15949            ConfirmationService.getService = function () {
15950                if (!this.serviceInstance) {
15951                    this.serviceInstance = new ConfirmationService();
15952                }
15953                return this.serviceInstance;
15954            };
15955            ConfirmationService.prototype.doConfirmation = function (metaData) {
15956                var submitActions = metaData.survey.submitActions;
15957                switch (submitActions.redirectType) {
15958                    case ConfirmationType.url:
15959                        this.redirectToUrl(submitActions.redirectUrl);
15960                        return;
15961                    case ConfirmationType.landingPage:
15962                        this.redirectToUrl(submitActions.landingPage.PublishedUrl);
15963                        return;
15964                    case ConfirmationType.showContent:
15965                        this.showContent();
15966                        return;
15967                }
15968            };
15969            ConfirmationService.prototype.showContent = function () {
15970                this.hideQuestionsNotInSections();
15971                this.hideSections();
15972                this.hideActionButtons();
15973                this.showConfirmation();
15974                this.pageService.performScroll();
15975            };
15976            ConfirmationService.prototype.redirectToUrl = function (url) {
15977                window.top.location.href = url;
15978            };
15979            ConfirmationService.prototype.hideQuestionsNotInSections = function () {
15980                var questionTypes = '.ee_textbox,.ee_dropdown,.ee_multiplechoice,.ee_checkbox,.ee_likert,.ee_opinion,.ee_datetime,.ee_consent,.ee_hiddenvalue,.ee_fieldgroup,.ee_progress,.ee_preferences,.ee_fileupload,.file-element';
15981                landingpage.PageUtilities.forEach(document, questionTypes, function (el) {
15982                    if (!el.closest('[ee-page]')) {
15983                        landingpage.PageUtilities.showHide(el, false);
15984                    }
15985                });
15986            };
15987            ConfirmationService.prototype.hideSections = function () {
15988                landingpage.PageUtilities.forEach(document, '[ee-page]', function (el) { return landingpage.PageUtilities.showHide(el, false); });
15989                this.pageData.hideAllPages = true;
15990            };
15991            ConfirmationService.prototype.hideActionButtons = function () {
15992                landingpage.PageUtilities.forEach(document, '.ee_actionbuttons', function (el) { return landingpage.PageUtilities.showHide(el, false); });
15993            };
15994            ConfirmationService.prototype.showConfirmation = function () {
15995                landingpage.PageUtilities.forEach(document, '.ee_confirmation', function (el) { return el.style.display = 'block'; });
15996            };
15997            return ConfirmationService;
15998        }());
15999        confirmation.ConfirmationService = ConfirmationService;
16000    })(confirmation = landingpage.confirmation || (landingpage.confirmation = {}));
16001})(landingpage || (landingpage = {}));
16002var landingpage;
16003(function (landingpage) {
16004    var surveys;
16005    (function (surveys) {
16006        var DatetimeElementService = (function () {
16007            function DatetimeElementService() {
16008            }
16009            DatetimeElementService.prototype.initElement = function (element, showDate, showTime, id) {
16010                if (showDate && showTime) {
16011                    this.updateInput(element, '.datetime-datetime', id, 'datetime');
16012                    element.querySelector('.datetime-date').remove();
16013                    element.querySelector('.datetime-time').remove();
16014                }
16015                else if (!showDate) {
16016                    this.updateInput(element, '.datetime-time', id, 'time');
16017                    element.querySelector('.datetime-datetime').remove();
16018                    element.querySelector('.datetime-date').remove();
16019                }
16020                else if (!showTime) {
16021                    this.updateInput(element, '.datetime-date', id, 'date');
16022                    element.querySelector('.datetime-datetime').remove();
16023                    element.querySelector('.datetime-time').remove();
16024                }
16025            };
16026            DatetimeElementService.prototype.updateInput = function (element, className, id, displayType) {
16027                var el = element.querySelector(className);
16028                el.setAttribute('id', "".concat(displayType, "-").concat(id));
16029                el.setAttribute('name', id);
16030            };
16031            return DatetimeElementService;
16032        }());
16033        surveys.DatetimeElementService = DatetimeElementService;
16034    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
16035})(landingpage || (landingpage = {}));
16036var landingpage;
16037(function (landingpage) {
16038    var surveys;
16039    (function (surveys) {
16040        var SurveyDatetimeInput = (function (_super) {
16041            __extends(SurveyDatetimeInput, _super);
16042            function SurveyDatetimeInput(el) {
16043                var _this = _super.call(this, el) || this;
16044                _this.datetime = {};
16045                _this.settings = {};
16046                _this.invalidInput = false;
16047                _this.parts = ['date', 'time', 'datetime'];
16048                _this.pageMessengerService = new landingpage.PageMessengerService();
16049                _this.datetimeElementService = new surveys.DatetimeElementService();
16050                _this.eeElement = _this.el.closest('.ee_element');
16051                _this.el.innerHTML = surveys.SurveyDatetimeTemplate.getTemplate();
16052                _this.id = _this.el.getAttribute('input-id');
16053                _this.setElement();
16054                _this.setDisplayOption();
16055                _this.setInputStyle();
16056                _this.datetimeElementService.initElement(_this.el, _this.showDate, _this.showTime, _this.id);
16057                _this.parts.forEach(function (item) { return _this.addListeners(item); });
16058                _this.initDate();
16059                _this.checkHideElement();
16060                _this.validate();
16061                _this.setRequired();
16062                return _this;
16063            }
16064            SurveyDatetimeInput.prototype.initDate = function () {
16065                var lpForm = this.pageMessengerService.getData('lpForm') || {};
16066                var date = lpForm["datetime".concat(this.id)];
16067                if (typeof (date) === 'string' && date.length) {
16068                    date = new Date(date.replace(/Z$/i, '').replace(/ /g, 'T'));
16069                }
16070                if (date instanceof Date && !isNaN(date.getDate())) {
16071                    this.setDate(date);
16072                }
16073            };
16074            SurveyDatetimeInput.prototype.checkHideElement = function () {
16075                var hideIfData = this.settings.dataFieldAction === 'hide';
16076                var defaultValue = window.lpFormDefaults["datetime".concat(this.id)];
16077                if (defaultValue === 'Z') {
16078                    defaultValue = '';
16079                }
16080                landingpage.PageUtilities.showHide(this.eeElement, !(defaultValue && hideIfData));
16081            };
16082            SurveyDatetimeInput.prototype.setElement = function () {
16083                this.eeElement = this.el.closest('.ee_element');
16084                var dataElementSettings = this.eeElement.getAttribute('data-element-settings');
16085                this.settings = dataElementSettings ? JSON.parse(dataElementSettings) : {};
16086                this.required = !!this.settings.requiredAnswer;
16087            };
16088            SurveyDatetimeInput.prototype.setDisplayOption = function () {
16089                this.displayOption = this.el.getAttribute('display-option');
16090                landingpage.PageUtilities.addClass(this.el, this.displayOption);
16091                this.showDate = this.displayOption !== 'time';
16092                this.showTime = this.displayOption !== 'date';
16093            };
16094            SurveyDatetimeInput.prototype.setInputStyle = function () {
16095                var inputStyle = this.el.getAttribute('input-style');
16096                if (!inputStyle)
16097                    return;
16098                var style = JSON.parse(inputStyle) || {};
16099                landingpage.PageUtilities.forEach(this.el, 'input[type="date"], input[type="time"], input[type="datetime-local"]', function (input) {
16100                    for (var prop in style) {
16101                        input.style[prop] = style[prop];
16102                    }
16103                });
16104            };
16105            SurveyDatetimeInput.prototype.addListeners = function (item) {
16106                var _this = this;
16107                var input = this.el.querySelector(".datetime-".concat(item));
16108                if (!input)
16109                    return;
16110                input.addEventListener('change', function () { return _this.inputChanged(input); });
16111                input.addEventListener('keyup', function () { return _this.inputChanged(input); });
16112            };
16113            SurveyDatetimeInput.prototype.inputChanged = function (input) {
16114                var inputType = input.getAttribute('type');
16115                this.invalidInput = !!(input.validity && input.validity.badInput);
16116                if (/^time/i.test(inputType)) {
16117                    var _a = input.value.split(/\:|\-/g).map(function (part) { return parseInt(part, 10); }), hour = _a[0], minute = _a[1];
16118                    this.invalidInput = this.invalidInput || isNaN(hour) || isNaN(minute);
16119                    this.datetime = __assign(__assign({}, this.datetime), { hour: hour, minute: minute });
16120                }
16121                else {
16122                    var newDate = new Date(inputType === 'date' ? input.value.replace(/-/g, '\/').replace(/T.+/, '') : input.value);
16123                    this.datetime = __assign(__assign({}, this.datetime), { year: newDate.getFullYear(), month: newDate.getMonth() + 1, day: newDate.getDate(), hour: newDate.getHours(), minute: newDate.getMinutes() });
16124                }
16125                this.validate();
16126            };
16127            SurveyDatetimeInput.prototype.validate = function () {
16128                var date = this.createDateObject();
16129                var nullDate = date === null;
16130                var validDate = date ? !isNaN(date.getDate()) : false;
16131                var error = this.getDateError(validDate, nullDate);
16132                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
16133                if (nullDate || validDate) {
16134                    this.pageMessengerService.broadcast('formChanged', { prop: "datetime".concat(this.id), value: date });
16135                }
16136                else {
16137                    this.pageMessengerService.broadcast('formChanged');
16138                }
16139            };
16140            SurveyDatetimeInput.prototype.setRequired = function () {
16141                if (!this.el.getAttribute('required-answer'))
16142                    return;
16143                var answerInput = this.el.querySelector('.ee_answertext');
16144                if (answerInput) {
16145                    answerInput.setAttribute('required', 'required');
16146                }
16147            };
16148            SurveyDatetimeInput.prototype.createDateObject = function () {
16149                var date = new Date();
16150                var values = this.datetime;
16151                if (this.showDate) {
16152                    date.setFullYear(values.year || undefined);
16153                    date.setMonth(values.month ? values.month - 1 : undefined);
16154                    date.setDate(values.day || undefined);
16155                }
16156                if (this.showTime) {
16157                    date.setHours(values.hour == null ? undefined : values.hour);
16158                    date.setMinutes(values.minute == null ? undefined : values.minute);
16159                }
16160                if (isNaN(date.getDate()) && !values.year && !values.month && !values.day && !values.hour && !values.minute) {
16161                    return null;
16162                }
16163                return date;
16164            };
16165            SurveyDatetimeInput.prototype.getDateError = function (validDate, nullDate) {
16166                if (this.invalidInput || (!validDate && !nullDate))
16167                    return 'date';
16168                if (this.required && nullDate)
16169                    return 'required';
16170                return null;
16171            };
16172            SurveyDatetimeInput.prototype.setDate = function (date) {
16173                var _this = this;
16174                this.invalidInput = false;
16175                var inputDate = (new Date(date.getTime() - date.getTimezoneOffset() * 60000).toISOString()).slice(0, -1);
16176                if (this.showDate) {
16177                    this.datetime.year = date.getFullYear();
16178                    this.datetime.month = date.getMonth() + 1;
16179                    this.datetime.day = date.getDate();
16180                    if (!this.showTime)
16181                        inputDate = inputDate.split("T")[0];
16182                }
16183                if (this.showTime) {
16184                    this.datetime.hour = date.getHours();
16185                    this.datetime.minute = date.getMinutes();
16186                    if (!this.showDate)
16187                        inputDate = inputDate.substring(11, 16);
16188                }
16189                this.parts.forEach(function (label) {
16190                    var input = _this.el.querySelector("input.datetime-".concat(label));
16191                    if (input) {
16192                        input.value = inputDate;
16193                    }
16194                });
16195                this.validate();
16196            };
16197            return SurveyDatetimeInput;
16198        }(landingpage.LPComponent));
16199        surveys.SurveyDatetimeInput = SurveyDatetimeInput;
16200        window.lpFrameWork.element('lp-survey-datetime-input', function (el) { return new SurveyDatetimeInput(el); });
16201    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
16202})(landingpage || (landingpage = {}));
16203var landingpage;
16204(function (landingpage) {
16205    var SurveyFileUploadCaptchaStateService = (function () {
16206        function SurveyFileUploadCaptchaStateService() {
16207            this.isCaptchaRequired = false;
16208            this.captchaToken = "";
16209            this.captchaAuthorizationToken = "";
16210        }
16211        SurveyFileUploadCaptchaStateService.getService = function () {
16212            if (!this.serviceInstance) {
16213                this.serviceInstance = new SurveyFileUploadCaptchaStateService();
16214            }
16215            return this.serviceInstance;
16216        };
16217        SurveyFileUploadCaptchaStateService.prototype.setAdditionalVerificationRequired = function (isRequired) {
16218            this.isCaptchaRequired = isRequired;
16219        };
16220        SurveyFileUploadCaptchaStateService.prototype.requiresAdditionalVerification = function () {
16221            return this.isCaptchaRequired;
16222        };
16223        SurveyFileUploadCaptchaStateService.prototype.setCaptchaToken = function (token) {
16224            this.captchaToken = token;
16225        };
16226        SurveyFileUploadCaptchaStateService.prototype.getCaptchaToken = function () {
16227            return this.captchaToken;
16228        };
16229        SurveyFileUploadCaptchaStateService.prototype.setCaptchaAuthorizationToken = function (token) {
16230            this.captchaAuthorizationToken = token;
16231        };
16232        SurveyFileUploadCaptchaStateService.prototype.getCaptchaAuthorizationToken = function () {
16233            return this.captchaAuthorizationToken;
16234        };
16235        return SurveyFileUploadCaptchaStateService;
16236    }());
16237    landingpage.SurveyFileUploadCaptchaStateService = SurveyFileUploadCaptchaStateService;
16238})(landingpage || (landingpage = {}));
16239var landingpage;
16240(function (landingpage) {
16241    var surveys;
16242    (function (surveys) {
16243        var SurveyFileUploadInput = (function (_super) {
16244            __extends(SurveyFileUploadInput, _super);
16245            function SurveyFileUploadInput(el) {
16246                var _this = _super.call(this, el) || this;
16247                _this.uploadQueue = [];
16248                _this.pendingReuploadFiles = [];
16249                _this.captchaLoaded = false;
16250                _this.defaultSettings = {
16251                    requiredAnswer: false,
16252                    maxFileLimit: 1,
16253                    maxFileSize: 1,
16254                    acceptedFormats: []
16255                };
16256                _this.onTurnstileSuccess = function () {
16257                    _this.displayTurnstile(false);
16258                    _this.attemptToReuploadPreviouslyFailedFiles();
16259                };
16260                _this.onTurnstileError = function () {
16261                    window.turnstile.reset(_this.turnstileWidgetId);
16262                };
16263                _this.eeElement = _this.el.closest('.ee_element');
16264                _this.surveyService = surveys.SurveyService.getService();
16265                var meta = _this.surveyService.metaData;
16266                _this.landingPageId = meta ? meta.id : 0;
16267                _this.setElement();
16268                _this.addListeners();
16269                _this.surveyFileUploadService = landingpage.SurveyFileUploadService.getService();
16270                _this.surveyFileUploadStateService = landingpage.SurveyFileUploadStateService.getService();
16271                _this.captchaStateService = landingpage.SurveyFileUploadCaptchaStateService.getService();
16272                _this.initUploadedFiles();
16273                return _this;
16274            }
16275            SurveyFileUploadInput.prototype.initUploadedFiles = function () {
16276                var _this = this;
16277                var fileIdentifiersInput = this.el.querySelector('[type=hidden]');
16278                var fileIdentifiers = fileIdentifiersInput.value ? JSON.parse(fileIdentifiersInput.value) : [];
16279                if (!fileIdentifiers || !fileIdentifiers.length)
16280                    return;
16281                var uploadedFiles = this.surveyFileUploadService.getFiles(this.landingPageId, this.fieldId);
16282                var filesToUpload = uploadedFiles.filter(function (f) { return fileIdentifiers.indexOf(f.id) > -1; });
16283                filesToUpload.forEach(function (file) {
16284                    var fileNameElement = _this.createFileElement(file.fileName, file.size, '');
16285                    var fileStatusSpan = fileNameElement.querySelector('.file-name-and-status img:first-child');
16286                    fileStatusSpan.setAttribute('class', 'icon success');
16287                    _this.eeElement.insertAdjacentElement('afterend', fileNameElement);
16288                });
16289            };
16290            SurveyFileUploadInput.prototype.setElement = function () {
16291                var dataElementSettings = this.eeElement.getAttribute('data-element-settings');
16292                this.settings = dataElementSettings ? JSON.parse(dataElementSettings) : this.defaultSettings;
16293                if (!this.settings.maxFileLimit)
16294                    this.settings.maxFileLimit = 1;
16295                if (!this.settings.maxFileSize)
16296                    this.settings.maxFileSize = 1;
16297                if (!this.settings.acceptedFormats)
16298                    this.settings.acceptedFormats = [];
16299                this.fieldId = this.settings.id;
16300            };
16301            SurveyFileUploadInput.prototype.addListeners = function () {
16302                var element = this.eeElement;
16303                if (!element)
16304                    return;
16305                element.addEventListener('dragover', this.dragOver.bind(this));
16306                element.addEventListener('dragleave', this.dragLeave.bind(this));
16307                element.addEventListener('drop', this.drop.bind(this));
16308                element.addEventListener('change', this.change.bind(this));
16309            };
16310            SurveyFileUploadInput.prototype.dragOver = function (event) {
16311                event.preventDefault();
16312                event.stopPropagation();
16313                this.toggleDragOverClass(true);
16314            };
16315            SurveyFileUploadInput.prototype.dragLeave = function (event) {
16316                event.preventDefault();
16317                event.stopPropagation();
16318                this.toggleDragOverClass(false);
16319            };
16320            SurveyFileUploadInput.prototype.toggleDragOverClass = function (isDragOver) {
16321                var uploadElement = this.el.querySelector('.answer-container');
16322                var elClass = uploadElement.getAttribute('class');
16323                var containsDragOver = elClass.indexOf('drag-over') > -1;
16324                if (containsDragOver === isDragOver && isDragOver)
16325                    return;
16326                uploadElement.setAttribute('class', isDragOver ? "".concat(elClass, " drag-over") : elClass.replace('drag-over', '').trim());
16327            };
16328            SurveyFileUploadInput.prototype.drop = function (event) {
16329                event.preventDefault();
16330                event.stopPropagation();
16331                this.toggleDragOverClass(false);
16332                this.handleFiles(event.dataTransfer.files);
16333            };
16334            SurveyFileUploadInput.prototype.change = function (event) {
16335                this.handleFiles(event.target.files);
16336                event.target['value'] = '';
16337            };
16338            SurveyFileUploadInput.prototype.handleFiles = function (files) {
16339                for (var i = 0; i < files.length; i++) {
16340                    this.uploadQueue.push(files[i]);
16341                }
16342                this.processQueue();
16343            };
16344            SurveyFileUploadInput.prototype.processQueue = function () {
16345                if (this.surveyFileUploadStateService.getUploadingState() || this.uploadQueue.length === 0)
16346                    return;
16347                this.surveyFileUploadStateService.setUploadingState(true);
16348                var file = this.uploadQueue.shift();
16349                this.addFile(file);
16350            };
16351            SurveyFileUploadInput.prototype.addFile = function (file) {
16352                var error = this.validate(file);
16353                var fileIdentifiersInput = this.el.querySelector('[type=hidden]');
16354                var fileIdentifiers = fileIdentifiersInput.value ? JSON.parse(fileIdentifiersInput.value) : [];
16355                var fileNameElement = this.createFileElement(file.name, file.size, error);
16356                this.eeElement.insertAdjacentElement('afterend', fileNameElement);
16357                if (error) {
16358                    if (this.isSurveyLevelErrorMessage(error)) {
16359                        this.pendingReuploadFiles.push({ file: file, fileNameElement: fileNameElement });
16360                    }
16361                    this.surveyFileUploadStateService.setUploadingState(false);
16362                    this.processQueue();
16363                    return;
16364                }
16365                this.uploadFile(file, fileNameElement, fileIdentifiers, fileIdentifiersInput);
16366            };
16367            SurveyFileUploadInput.prototype.createFileElement = function (fileName, fileSize, error) {
16368                var fileElementDiv = document.createElement('div');
16369                fileElementDiv.setAttribute('class', 'file-element');
16370                var fileInfoDiv = document.createElement('div');
16371                fileInfoDiv.setAttribute('class', 'uploaded-file');
16372                fileElementDiv.appendChild(fileInfoDiv);
16373                var fileNameAndStatusDiv = document.createElement('div');
16374                fileNameAndStatusDiv.setAttribute('class', 'file-name-and-status');
16375                var fileStatusContainer = document.createElement('div');
16376                fileStatusContainer.setAttribute('class', 'icon-container');
16377                var fileStatusImg = document.createElement('img');
16378                fileStatusImg.setAttribute('class', 'in-progress');
16379                fileStatusContainer.appendChild(fileStatusImg);
16380                fileNameAndStatusDiv.appendChild(fileStatusContainer);
16381                var fileNameSpan = document.createElement('span');
16382                fileNameSpan.textContent = fileName;
16383                fileNameAndStatusDiv.appendChild(fileNameSpan);
16384                fileInfoDiv.appendChild(fileNameAndStatusDiv);
16385                if (error) {
16386                    this.createValidationErrorDiv(fileElementDiv, error);
16387                }
16388                var fileActionsDiv = document.createElement('div');
16389                fileActionsDiv.setAttribute('class', 'file-actions');
16390                var fileSizeSpan = document.createElement('span');
16391                fileSizeSpan.textContent = this.formatFileSize(fileSize);
16392                fileActionsDiv.appendChild(fileSizeSpan);
16393                var removeButton = this.createRemoveButton(fileName, fileElementDiv);
16394                fileActionsDiv.appendChild(removeButton);
16395                fileInfoDiv.appendChild(fileActionsDiv);
16396                return fileElementDiv;
16397            };
16398            SurveyFileUploadInput.prototype.formatFileSize = function (bytes) {
16399                var KB = 1024;
16400                var MB = 1048576;
16401                if (bytes >= MB) {
16402                    return "".concat((bytes / MB).toFixed(2), "MB");
16403                }
16404                return "".concat(Math.floor(bytes / KB), "KB");
16405            };
16406            SurveyFileUploadInput.prototype.createValidationErrorDiv = function (fileElementDiv, error) {
16407                var fileStatusImg = this.getFileStatusImage(fileElementDiv);
16408                var validationErrorDiv = document.createElement('div');
16409                validationErrorDiv.setAttribute('class', 'validation-error');
16410                fileStatusImg.setAttribute('class', 'icon error');
16411                validationErrorDiv.textContent = error;
16412                fileElementDiv.prepend(validationErrorDiv);
16413            };
16414            SurveyFileUploadInput.prototype.createRemoveButton = function (fileName, fileNameElement) {
16415                var _this = this;
16416                var removeButton = document.createElement('button');
16417                removeButton.setAttribute('class', 'remove-file-button');
16418                removeButton.addEventListener('click', function () { return _this.removeFile(fileName, fileNameElement); });
16419                return removeButton;
16420            };
16421            SurveyFileUploadInput.prototype.removeFile = function (fileName, fileNameElement) {
16422                var _this = this;
16423                if (this.surveyFileUploadStateService.getUploadingState())
16424                    return;
16425                var button = fileNameElement.querySelector('button');
16426                if (button)
16427                    button.removeEventListener('click', function () { return _this.removeFile(fileName, fileNameElement); });
16428                this.eeElement.parentElement.removeChild(fileNameElement);
16429                var fileStatusSpan = fileNameElement.querySelector('.file-name-and-status img:first-child');
16430                if (fileStatusSpan.classList.contains('error')) {
16431                    this.pendingReuploadFiles =
16432                        this.pendingReuploadFiles.filter(function (f) { return !f.fileNameElement.isEqualNode(fileNameElement); });
16433                    return;
16434                }
16435                var fileIdentifiersInput = this.el.querySelector('[type=hidden]');
16436                var fileIdentifiers = JSON.parse(fileIdentifiersInput.value || '[]');
16437                var storageFile = this.surveyFileUploadService.getFiles(this.landingPageId, this.fieldId).filter(function (f) { return f.fileName === fileName; })[0];
16438                if (!storageFile)
16439                    return;
16440                fileIdentifiers = fileIdentifiers.filter(function (f) { return f !== storageFile.id; });
16441                fileIdentifiersInput.value = JSON.stringify(fileIdentifiers);
16442                this.surveyFileUploadService.deleteFile(this.landingPageId, this.fieldId, storageFile);
16443                fileIdentifiersInput.dispatchEvent(new Event('change'));
16444                this.deleteFileFromServer(storageFile.id);
16445                this.attemptToReuploadPreviouslyFailedFiles();
16446            };
16447            SurveyFileUploadInput.prototype.deleteFileFromServer = function (fileId) {
16448                var url = this.getUrl(false);
16449                if (!url || !fileId)
16450                    return;
16451                var respondent = document.querySelector('[name=respondent]').value;
16452                var formData = new FormData();
16453                formData.append('respondent', respondent);
16454                formData.append('ID', fileId);
16455                var xhr = new XMLHttpRequest();
16456                xhr.open('DELETE', url);
16457                xhr.send(formData);
16458            };
16459            SurveyFileUploadInput.prototype.uploadFile = function (file, fileNameElement, fileIdentifiers, fileIdentifiersInput) {
16460                var _this = this;
16461                this.surveyFileUploadStateService.setUploadingState(true);
16462                var xhr = new XMLHttpRequest();
16463                var progressBarContainer = this.createProgressBar();
16464                fileNameElement.appendChild(progressBarContainer);
16465                xhr.upload.addEventListener('progress', function (event) { return _this.updateProgressBar(event, progressBarContainer); });
16466                xhr.addEventListener('load', function () { return _this.handleUploadComplete(xhr, file, fileNameElement, progressBarContainer, fileIdentifiers, fileIdentifiersInput); });
16467                xhr.addEventListener('error', function () { return _this.handleUploadError(false, fileNameElement, progressBarContainer); });
16468                var url = this.getUrl(true);
16469                if (!url)
16470                    return;
16471                var respondent = document.querySelector('[name=respondent]').value;
16472                var formData = new FormData();
16473                formData.append('file', file);
16474                formData.append('respondent', respondent);
16475                formData.append('fieldId', this.fieldId);
16476                xhr.withCredentials = true;
16477                if (this.captchaStateService.requiresAdditionalVerification()) {
16478                    formData.append('g-recaptcha-response', this.captchaStateService.getCaptchaToken());
16479                }
16480                xhr.open('POST', url);
16481                if (this.captchaStateService.requiresAdditionalVerification()) {
16482                    xhr.setRequestHeader("Authorization", "Bearer " + this.captchaStateService.getCaptchaAuthorizationToken());
16483                }
16484                xhr.send(formData);
16485            };
16486            SurveyFileUploadInput.prototype.createProgressBar = function () {
16487                var progressBarContainer = document.createElement('div');
16488                progressBarContainer.className = 'progress-bar-container';
16489                var progressBar = document.createElement('div');
16490                progressBar.className = 'progress-bar-in-progress';
16491                progressBarContainer.appendChild(progressBar);
16492                return progressBarContainer;
16493            };
16494            SurveyFileUploadInput.prototype.updateProgressBar = function (event, progressBarContainer) {
16495                if (event.lengthComputable) {
16496                    var progressBar = progressBarContainer.querySelector('.progress-bar-in-progress');
16497                    var percentComplete = (event.loaded / event.total) * 100;
16498                    progressBar.style.width = "".concat(percentComplete, "%");
16499                }
16500            };
16501            SurveyFileUploadInput.prototype.handleUploadComplete = function (xhr, file, fileNameElement, progressBarContainer, fileIdentifiers, fileIdentifiersInput) {
16502                if (xhr.status === 200) {
16503                    var response = JSON.parse(xhr.responseText);
16504                    this.surveyFileUploadService.saveFile(this.landingPageId, this.fieldId, { id: response, fileName: file.name, size: file.size });
16505                    progressBarContainer.style.display = 'none';
16506                    var fileStatusSpan = this.getFileStatusImage(fileNameElement);
16507                    fileStatusSpan.setAttribute('class', 'icon success');
16508                    fileIdentifiers.push(response);
16509                    fileIdentifiersInput.value = JSON.stringify(fileIdentifiers);
16510                    fileIdentifiersInput.dispatchEvent(new Event('change'));
16511                    if (this.captchaStateService.requiresAdditionalVerification() && this.isCaptchaLoaded()) {
16512                        var captchaResponseToken = xhr.getResponseHeader('Captcha-Authorization-Token');
16513                        this.captchaStateService.setCaptchaAuthorizationToken(captchaResponseToken || '');
16514                        this.removeCaptcha();
16515                    }
16516                }
16517                else if (this.responseIndicatesSecurityChallenge(xhr.status)) {
16518                    var cfMitigatedHeader = xhr.getResponseHeader('cf-mitigated');
16519                    this.handleUploadError(true, fileNameElement, progressBarContainer);
16520                    this.pendingReuploadFiles.push({ file: file, fileNameElement: fileNameElement });
16521                    if (window.turnstile && cfMitigatedHeader === 'challenge') {
16522                        this.initTurnstile();
16523                        return;
16524                    }
16525                    else {
16526                        this.captchaStateService.setCaptchaToken('');
16527                        this.initRecaptcha();
16528                        return;
16529                    }
16530                }
16531                this.surveyFileUploadStateService.setUploadingState(false);
16532                this.processQueue();
16533            };
16534            SurveyFileUploadInput.prototype.handleUploadError = function (requiresSecurityChallenge, fileNameElement, progressBarContainer) {
16535                var errorMessage = requiresSecurityChallenge ? window.landingPageStrings['fileUpload.limitReachedError'] :
16536                    window.landingPageStrings['fileUpload.serverError'];
16537                progressBarContainer.style.display = 'none';
16538                this.createValidationErrorDiv(fileNameElement, errorMessage);
16539                this.surveyFileUploadStateService.setUploadingState(false);
16540                if (!requiresSecurityChallenge) {
16541                    this.processQueue();
16542                }
16543            };
16544            SurveyFileUploadInput.prototype.getFileStatusImage = function (fileNameElement) {
16545                return fileNameElement.querySelector('.file-name-and-status img:first-child');
16546            };
16547            SurveyFileUploadInput.prototype.validate = function (file) {
16548                var allowedFileTypes = this.settings.acceptedFormats.map(function (type) { return type.toLowerCase(); });
16549                var maxFileSize = this.settings.maxFileSize * 1024 * 1024;
16550                var fileExtension = file.name.split('.').pop().toLowerCase();
16551                var localStorageFiles = this.surveyFileUploadService.getFiles(this.landingPageId, this.fieldId);
16552                var fileIdentifiersInput = this.el.querySelector('[type=hidden]');
16553                var fileIdentifiers = fileIdentifiersInput.value ? JSON.parse(fileIdentifiersInput.value) : [];
16554                var storageFile = localStorageFiles.filter(function (f) { return f.fileName === file.name; })[0];
16555                if (!allowedFileTypes.some(function (type) { return type.split('/').includes(fileExtension); })) {
16556                    return this.getValidationMessage(this.settings.incorrectFileFormatMessage, this.settings.acceptedFormats.join(', '));
16557                }
16558                if (file.size > maxFileSize) {
16559                    return this.getValidationMessage(this.settings.fileSizeExceededMessage, this.settings.maxFileSize);
16560                }
16561                if (localStorageFiles.length >= this.settings.maxFileLimit || fileIdentifiers >= this.settings.maxFileLimit) {
16562                    return this.getValidationMessage(this.settings.tooManyFilesMessage, this.settings.maxFileLimit);
16563                }
16564                if (storageFile && fileIdentifiers.filter(function (id) { return id == storageFile.id; })[0]) {
16565                    return this.settings.fileAlreadyAddedMessage;
16566                }
16567                if (!this.surveyFileUploadService.checkTotalFilesSize(this.landingPageId, file.size)) {
16568                    return window.landingPageStrings['fileUpload.totalFileSizeExceeded'];
16569                }
16570                if (file.name && file.name.indexOf(',') !== -1) {
16571                    return this.settings.fileNameCannotContainCommaMessage;
16572                }
16573                return '';
16574            };
16575            SurveyFileUploadInput.prototype.isSurveyLevelErrorMessage = function (error) {
16576                return error === this.getValidationMessage(this.settings.tooManyFilesMessage, this.settings.maxFileLimit)
16577                    || error === this.getValidationMessage(this.settings.fileSizeExceededMessage, this.settings.maxFileSize)
16578                    || error === this.settings.fileAlreadyAddedMessage;
16579            };
16580            SurveyFileUploadInput.prototype.attemptToReuploadPreviouslyFailedFiles = function () {
16581                var files = this.pendingReuploadFiles.map(function (entry) { return entry.file; });
16582                var fileList = this.createFileList(files);
16583                for (var _i = 0, _a = this.pendingReuploadFiles; _i < _a.length; _i++) {
16584                    var fileEntry = _a[_i];
16585                    this.removeFile(fileEntry.file.name, fileEntry.fileNameElement);
16586                }
16587                this.pendingReuploadFiles = [];
16588                if (fileList.length > 0) {
16589                    this.handleFiles(fileList);
16590                }
16591            };
16592            SurveyFileUploadInput.prototype.createFileList = function (files) {
16593                var dataTransfer = new DataTransfer();
16594                for (var _i = 0, files_1 = files; _i < files_1.length; _i++) {
16595                    var file = files_1[_i];
16596                    dataTransfer.items.add(file);
16597                }
16598                return dataTransfer.files;
16599            };
16600            SurveyFileUploadInput.prototype.getUrl = function (withChallenge) {
16601                var form = document.querySelector('[name=lpsurveyform]');
16602                if (!form)
16603                    return '';
16604                var action = form.getAttribute('action');
16605                var urlArr = action.split('?')[0].split('/');
16606                var route = urlArr[urlArr.length - 1];
16607                if (this.captchaStateService.requiresAdditionalVerification() && withChallenge) {
16608                    return "/Response/FileUploadLPWithChallenge/".concat(route);
16609                }
16610                return "/Response/FileUploadLP/".concat(route);
16611            };
16612            SurveyFileUploadInput.prototype.getValidationMessage = function (message, param) {
16613                if (message.match(/\{0}/)) {
16614                    message = message.replace("{0}", param);
16615                }
16616                return message;
16617            };
16618            SurveyFileUploadInput.prototype.initTurnstile = function () {
16619                if (this.isTurnstileLoaded()) {
16620                    this.displayTurnstile(true);
16621                    window.turnstile.reset(this.turnstileWidgetId);
16622                    return;
16623                }
16624                this.el.insertAdjacentHTML('beforeend', '<div class="cf-turnstile"\n>');
16625                var placeholder = this.el.querySelector('.cf-turnstile');
16626                this.turnstileWidgetId = window.turnstile.render(placeholder, {
16627                    sitekey: '0x4AAAAAABg1qFu0MhBsZjt1',
16628                    callback: this.onTurnstileSuccess,
16629                    'error-callback': this.onTurnstileError,
16630                    theme: 'light',
16631                    action: 'submit',
16632                    mode: 'invisible'
16633                });
16634                this.turnstileLoaded = true;
16635            };
16636            SurveyFileUploadInput.prototype.initRecaptcha = function () {
16637                var _this = this;
16638                if (this.isCaptchaLoaded())
16639                    return;
16640                this.captchaStateService.setAdditionalVerificationRequired(true);
16641                var recaptchaContainer = this.el.querySelector('.recaptcha-container');
16642                if (!recaptchaContainer) {
16643                    this.el.insertAdjacentHTML('beforeend', '<div class="recaptcha-container"></div>');
16644                    recaptchaContainer = this.el.querySelector('.recaptcha-container');
16645                }
16646                this.recaptchaId = window.grecaptcha.render(recaptchaContainer, {
16647                    'sitekey': '6LeOsI0UAAAAAARhdf5auu8GQpO9Yy5oP0BvsWFU',
16648                    'callback': function (token) {
16649                        _this.captchaStateService.setCaptchaToken(token);
16650                        _this.attemptToReuploadPreviouslyFailedFiles();
16651                    }
16652                });
16653                window.setTimeout(function () {
16654                    _this.captchaLoaded = true;
16655                }, 1000);
16656            };
16657            SurveyFileUploadInput.prototype.removeCaptcha = function () {
16658                try {
16659                    window.grecaptcha.reset(this.recaptchaId);
16660                }
16661                catch (e) { }
16662                var recaptchaContainer = this.el.querySelector('.recaptcha-container');
16663                if (recaptchaContainer) {
16664                    recaptchaContainer.remove();
16665                    this.captchaLoaded = false;
16666                    this.recaptchaId = '';
16667                }
16668            };
16669            SurveyFileUploadInput.prototype.displayTurnstile = function (display) {
16670                var turnstileWidget = this.el.querySelector('.cf-turnstile');
16671                if (turnstileWidget) {
16672                    turnstileWidget.setAttribute('style', display ? 'display: block;' : 'display: none;');
16673                }
16674            };
16675            SurveyFileUploadInput.prototype.isTurnstileLoaded = function () {
16676                return window.turnstile && this.turnstileLoaded;
16677            };
16678            SurveyFileUploadInput.prototype.isCaptchaLoaded = function () {
16679                return window.grecaptcha && window.grecaptcha.render && window.grecaptcha.execute && this.captchaLoaded;
16680            };
16681            SurveyFileUploadInput.prototype.responseIndicatesSecurityChallenge = function (status) {
16682                return status === 429 || status === 403;
16683            };
16684            return SurveyFileUploadInput;
16685        }(landingpage.LPComponent));
16686        surveys.SurveyFileUploadInput = SurveyFileUploadInput;
16687        window.lpFrameWork.element('landingpage-survey-fileupload', function (el) { return new SurveyFileUploadInput(el); });
16688    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
16689})(landingpage || (landingpage = {}));
16690var landingpage;
16691(function (landingpage) {
16692    var SurveyFileUploadService = (function () {
16693        function SurveyFileUploadService() {
16694        }
16695        SurveyFileUploadService.getService = function () {
16696            if (!this.serviceInstance) {
16697                this.serviceInstance = new SurveyFileUploadService();
16698            }
16699            return this.serviceInstance;
16700        };
16701        SurveyFileUploadService.prototype.saveFile = function (landingPageId, fieldId, file) {
16702            if (!landingPageId || !window.localStorage)
16703                return;
16704            var value = localStorage.getItem("surveyFileUploads".concat(landingPageId));
16705            var uploadedFieldFiles = value ? JSON.parse(value) : [];
16706            var fieldFiles = uploadedFieldFiles.filter(function (f) { return f.fieldId === fieldId; });
16707            var files = fieldFiles.length > 0 ? fieldFiles[0] : null;
16708            if (!files) {
16709                files = { fieldId: fieldId, files: [] };
16710                uploadedFieldFiles.push(files);
16711            }
16712            var storageFile = files.files.filter(function (f) { return f.id === file.id; });
16713            if (storageFile.length > 0)
16714                return;
16715            files.files.push(file);
16716            localStorage.setItem("surveyFileUploads".concat(landingPageId), JSON.stringify(uploadedFieldFiles));
16717        };
16718        SurveyFileUploadService.prototype.checkTotalFilesSize = function (landingPageId, fileSize) {
16719            if (!landingPageId || !window.localStorage)
16720                return;
16721            var value = localStorage.getItem("surveyFileUploads".concat(landingPageId));
16722            var uploadedFieldFiles = value ? JSON.parse(value) : [];
16723            if (!uploadedFieldFiles)
16724                return true;
16725            var totalSize = 0;
16726            uploadedFieldFiles.forEach(function (f) { return f.files.forEach(function (file) { return totalSize += file.size; }); });
16727            totalSize += fileSize;
16728            return totalSize <= 104857600;
16729        };
16730        SurveyFileUploadService.prototype.deleteFile = function (landingPageId, fieldId, file) {
16731            if (!landingPageId || !window.localStorage)
16732                return;
16733            var value = localStorage.getItem("surveyFileUploads".concat(landingPageId));
16734            var uploadedFieldFiles = value ? JSON.parse(value) : [];
16735            if (!uploadedFieldFiles)
16736                return;
16737            var fieldFiles = uploadedFieldFiles.filter(function (f) { return f.fieldId === fieldId; });
16738            var files = fieldFiles.length > 0 ? fieldFiles[0] : null;
16739            if (!files)
16740                return;
16741            var storageFile = files.files.filter(function (f) { return f.id === file.id; });
16742            if (storageFile.length > 0) {
16743                var index = files.files.indexOf(storageFile[0]);
16744                files.files.splice(index, 1);
16745                localStorage.setItem("surveyFileUploads".concat(landingPageId), JSON.stringify(uploadedFieldFiles));
16746            }
16747        };
16748        SurveyFileUploadService.prototype.getFiles = function (landingPageId, fieldId) {
16749            if (!landingPageId || !window.localStorage)
16750                return;
16751            var value = localStorage.getItem("surveyFileUploads".concat(landingPageId));
16752            var uploadedFieldFiles = value ? JSON.parse(value) : [];
16753            if (!uploadedFieldFiles)
16754                return [];
16755            var fieldFiles = uploadedFieldFiles.filter(function (f) { return f.fieldId === fieldId; });
16756            var files = fieldFiles.length > 0 ? fieldFiles[0] : null;
16757            if (!files)
16758                return [];
16759            return files.files;
16760        };
16761        SurveyFileUploadService.prototype.clearData = function (landingPageId) {
16762            try {
16763                if (!landingPageId || !window.localStorage)
16764                    return;
16765                var surveyFileUploadsId = "surveyFileUploads".concat(landingPageId);
16766                if (window.localStorage)
16767                    localStorage.removeItem(surveyFileUploadsId);
16768            }
16769            catch (ex) { }
16770        };
16771        return SurveyFileUploadService;
16772    }());
16773    landingpage.SurveyFileUploadService = SurveyFileUploadService;
16774})(landingpage || (landingpage = {}));
16775var landingpage;
16776(function (landingpage) {
16777    var surveys;
16778    (function (surveys) {
16779        var SurveyOpinionBase = (function (_super) {
16780            __extends(SurveyOpinionBase, _super);
16781            function SurveyOpinionBase() {
16782                return _super !== null && _super.apply(this, arguments) || this;
16783            }
16784            SurveyOpinionBase.prototype.setSettings = function (opinion) {
16785                var elementSettings = opinion.getAttribute('data-element-settings');
16786                this.settings = JSON.parse(elementSettings) || {};
16787            };
16788            SurveyOpinionBase.prototype.setMappedValue = function (el) {
16789                var mappedField = el.getAttribute('mapped-field');
16790                this.mappedValue = parseInt(mappedField) || null;
16791            };
16792            SurveyOpinionBase.prototype.checkInput = function (id, selected) {
16793                if (!selected)
16794                    return;
16795                var input = document.getElementById("".concat(id, "_").concat(selected));
16796                setTimeout(function () { input.checked = true; }, 1);
16797                this.setProp("radio".concat(id), selected);
16798            };
16799            SurveyOpinionBase.prototype.setProp = function (prop, value) {
16800                this.pageMessengerService.broadcast('formChanged', { prop: prop, value: value });
16801            };
16802            return SurveyOpinionBase;
16803        }(landingpage.LPComponent));
16804        surveys.SurveyOpinionBase = SurveyOpinionBase;
16805    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
16806})(landingpage || (landingpage = {}));
16807;
16808var landingpage;
16809(function (landingpage) {
16810    var surveys;
16811    (function (surveys) {
16812        var SurveyOpinionRangeInput = (function (_super) {
16813            __extends(SurveyOpinionRangeInput, _super);
16814            function SurveyOpinionRangeInput(el) {
16815                var _this = _super.call(this, el) || this;
16816                _this.pageMessengerService = new landingpage.PageMessengerService();
16817                var opinion = _this.el.closest('.ee_opinion');
16818                _this.setSettings(opinion);
16819                _this.setMappedValue(opinion);
16820                _this.setRangeValue(_this.settings.id, _this.mappedValue);
16821                return _this;
16822            }
16823            SurveyOpinionRangeInput.prototype.setRangeValue = function (id, selected) {
16824                var elId = "radio".concat(id);
16825                var input = document.getElementById(elId);
16826                var value;
16827                if (selected) {
16828                    input.value = "".concat(selected);
16829                    value = selected;
16830                }
16831                else {
16832                    value = parseInt(input.value);
16833                }
16834                this.setProp(elId, value);
16835            };
16836            return SurveyOpinionRangeInput;
16837        }(surveys.SurveyOpinionBase));
16838        surveys.SurveyOpinionRangeInput = SurveyOpinionRangeInput;
16839        window.lpFrameWork.element('lp-survey-opinion-range-input', function (el) { return new SurveyOpinionRangeInput(el); });
16840    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
16841})(landingpage || (landingpage = {}));
16842;
16843var landingpage;
16844(function (landingpage) {
16845    var surveys;
16846    (function (surveys) {
16847        var SurveyOpinionTilesInput = (function (_super) {
16848            __extends(SurveyOpinionTilesInput, _super);
16849            function SurveyOpinionTilesInput(el) {
16850                var _this = _super.call(this, el) || this;
16851                _this.pageMessengerService = new landingpage.PageMessengerService();
16852                var opinion = _this.el.closest('.ee_opinion');
16853                var optionsContainer = _this.el.parentNode.querySelector('.options-container');
16854                _this.setSettings(opinion);
16855                _this.setMappedValue(opinion);
16856                _this.checkInput(_this.settings.id, _this.mappedValue);
16857                landingpage.PageUtilities.forEach(optionsContainer, 'label', function (button) {
16858                    button.addEventListener('click', function (event) { return _this.buttonClicked(event); });
16859                });
16860                return _this;
16861            }
16862            SurveyOpinionTilesInput.prototype.buttonClicked = function (event) {
16863                var input = event.target.previousElementSibling;
16864                var isChecked = input.checked;
16865                var prop = input.getAttribute('ng-model').replace(/lpForm\./i, '');
16866                if (!isChecked)
16867                    return;
16868                event.preventDefault();
16869                this.setProp(prop, null);
16870            };
16871            return SurveyOpinionTilesInput;
16872        }(surveys.SurveyOpinionBase));
16873        surveys.SurveyOpinionTilesInput = SurveyOpinionTilesInput;
16874        window.lpFrameWork.element('lp-survey-opinion-tiles-input', function (el) { return new SurveyOpinionTilesInput(el); });
16875    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
16876})(landingpage || (landingpage = {}));
16877;
16878var landingpage;
16879(function (landingpage) {
16880    var surveys;
16881    (function (surveys) {
16882        var SurveyOpinionValidator = (function (_super) {
16883            __extends(SurveyOpinionValidator, _super);
16884            function SurveyOpinionValidator() {
16885                return _super !== null && _super.apply(this, arguments) || this;
16886            }
16887            SurveyOpinionValidator.prototype.setAriaInvalid = function () {
16888                var _this = this;
16889                setTimeout(function () {
16890                    var error = _this.eeElement.getAttribute('lp-has-errors');
16891                    landingpage.PageUtilities.forEach(_this.eeElement, 'input[type="radio"]', function (input) { return landingpage.PageUtilities.setAttribute(input, 'aria-invalid', "".concat(!!error)); });
16892                }, 1);
16893            };
16894            SurveyOpinionValidator.prototype.addChangeListener = function () {
16895                var _this = this;
16896                this.el.addEventListener('change', function () { return _this.changed(); });
16897                if (this.settings.displayOption === 'tiles') {
16898                    this.el.addEventListener('click', function () { return setTimeout(function () { return _this.changed(); }, 1); });
16899                }
16900                if (this.settings.displayOption === 'slider') {
16901                    this.el.addEventListener('mouseup', function () { return _this.changed(); });
16902                }
16903                if (this.settings.displayOption === 'range') {
16904                    this.el.addEventListener('change', function () { return _this.changed(); });
16905                }
16906                var inputs = this.el.querySelectorAll('input[type=radio]');
16907                inputs.forEach(function (input) {
16908                    input.addEventListener('blur', function () { return _this.changedAndUpdateAria(); });
16909                    input.addEventListener('change', function () { return _this.changedAndUpdateAria(); });
16910                    input.addEventListener('keyup', function () { return _this.changedAndUpdateAria(); });
16911                });
16912            };
16913            SurveyOpinionValidator.prototype.changed = function () {
16914                var value = this.getValue();
16915                this.setValid();
16916                this.pageMessengerService.broadcast('formChanged', { prop: this.model, value: value });
16917            };
16918            SurveyOpinionValidator.prototype.getValue = function () {
16919                var selected;
16920                if (this.settings.displayOption === 'range') {
16921                    selected = this.eeElement.querySelector('input[type="range"]');
16922                }
16923                else {
16924                    selected = landingpage.PageUtilities.find(this.eeElement, 'input', function (el) { return el.checked; });
16925                }
16926                return selected === null || selected === void 0 ? void 0 : selected.value;
16927            };
16928            SurveyOpinionValidator.prototype.setModel = function () {
16929                this.model = "radio".concat(this.settings.id);
16930            };
16931            SurveyOpinionValidator.prototype.setRequired = function () {
16932                this.required = this.settings.requiredAnswer;
16933            };
16934            SurveyOpinionValidator.prototype.setValid = function () {
16935                var value = this.getValue();
16936                var error = !this.required || value !== undefined ? null : 'required';
16937                landingpage.PageUtilities.setAttribute(this.eeElement, 'lp-has-errors', error);
16938            };
16939            SurveyOpinionValidator.prototype.changedAndUpdateAria = function () {
16940                this.changed();
16941                this.setAriaInvalid();
16942            };
16943            return SurveyOpinionValidator;
16944        }(surveys.SurveyValidatorComponent));
16945        surveys.SurveyOpinionValidator = SurveyOpinionValidator;
16946    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
16947})(landingpage || (landingpage = {}));
16948;
16949var landingpage;
16950(function (landingpage) {
16951    var surveys;
16952    (function (surveys) {
16953        var SurveyOpinionSliderInput = (function (_super) {
16954            __extends(SurveyOpinionSliderInput, _super);
16955            function SurveyOpinionSliderInput(el) {
16956                var _this = _super.call(this, el) || this;
16957                _this.validPercentages = [];
16958                _this.moveFn = function (moveEvent) {
16959                    _this.move(moveEvent.clientX);
16960                };
16961                _this.touchMoveFn = function (event) {
16962                    var touch = _this.getFirstTouch(event);
16963                    _this.move(touch.clientX);
16964                };
16965                _this.moveEnd = function () {
16966                    document.removeEventListener('mousemove', _this.moveFn);
16967                    document.removeEventListener('mouseup', _this.moveEnd);
16968                    document.removeEventListener('touchmove', _this.touchMoveFn);
16969                    document.removeEventListener('touchend', _this.moveEnd);
16970                    _this.el.closest('form.surveys-forms').classList.remove('opinion-slider-dragging');
16971                };
16972                _this.pageMessengerService = new landingpage.PageMessengerService();
16973                var opinion = _this.el.closest('.ee_opinion');
16974                _this.slider = _this.el.querySelector('.slider');
16975                _this.setSettings(opinion);
16976                _this.setMappedValue(opinion);
16977                _this.setStartsAtZero();
16978                for (var i = 0; i < _this.settings.scaleCount; i++)
16979                    _this.validPercentages.push((i / (_this.settings.scaleCount - 1)) * 100);
16980                _this.percent = 50;
16981                var percent = _this.validPercentages[_this.mappedValue - 1] || null;
16982                if (percent) {
16983                    var percentageResult = _this.toValidPercent(percent);
16984                    _this.applyPercent(percentageResult);
16985                    _this.checkInput(_this.settings.id, _this.mappedValue);
16986                }
16987                _this.el.addEventListener('mousedown', function (event) { return _this.mouseDown(event); });
16988                _this.el.addEventListener('touchstart', function (event) { return _this.touchStart(event); });
16989                landingpage.PageUtilities.forEach(_this.el.closest('.ee_element'), 'input', function (el) { return el.addEventListener('keyup', function () { return _this.onKeyUp(); }); });
16990                return _this;
16991            }
16992            SurveyOpinionSliderInput.prototype.setStartsAtZero = function () {
16993                this.startsAtZero = this.el.closest('.ee_element').querySelector('input').value === '0';
16994            };
16995            SurveyOpinionSliderInput.prototype.mouseDown = function (event) {
16996                var percentageResult = this.getPercentageResult(event.clientX);
16997                this.applyPercent(percentageResult);
16998                document.addEventListener('mousemove', this.moveFn);
16999                document.addEventListener('mouseup', this.moveEnd);
17000            };
17001            SurveyOpinionSliderInput.prototype.touchStart = function (event) {
17002                var $touch = this.getFirstTouch(event), percentageResult = this.getPercentageResult($touch.clientX);
17003                this.applyPercent(percentageResult);
17004                document.addEventListener('touchmove', this.touchMoveFn);
17005                document.addEventListener('touchend', this.moveEnd);
17006            };
17007            SurveyOpinionSliderInput.prototype.move = function (clientX) {
17008                var percentageResult = this.getPercentageResult(clientX);
17009                this.applyPercent(percentageResult);
17010            };
17011            SurveyOpinionSliderInput.prototype.getFirstTouch = function (event) {
17012                return event.changedTouches[0];
17013            };
17014            SurveyOpinionSliderInput.prototype.onKeyUp = function () {
17015                var checked = landingpage.PageUtilities.filter(this.el.closest('.ee_element'), 'input', function (el) { return el.checked; });
17016                if (checked.length) {
17017                    var percent = this.toValidPercent(this.validPercentages[parseInt(checked[0].value) - 1]);
17018                    this.applyPercent(percent);
17019                }
17020                else {
17021                    this.moveSlider(50);
17022                }
17023            };
17024            SurveyOpinionSliderInput.prototype.getPercentageResult = function (clientX) {
17025                var percent = this.getPercentageOnSlider(clientX);
17026                return this.toValidPercent(percent);
17027            };
17028            SurveyOpinionSliderInput.prototype.getPercentageOnSlider = function (clientX) {
17029                var rect = this.el.getBoundingClientRect(), percentageOnSlider = (clientX - rect.left) / rect.width;
17030                return percentageOnSlider * 100;
17031            };
17032            SurveyOpinionSliderInput.prototype.toValidPercent = function (percent) {
17033                var lowestDiff, validPercent, selected;
17034                for (var i = 0; i < this.validPercentages.length; i++) {
17035                    var valid = this.validPercentages[i], diff = Math.abs(valid - percent);
17036                    if (typeof lowestDiff === 'undefined' || diff < lowestDiff) {
17037                        lowestDiff = diff;
17038                        validPercent = valid;
17039                        selected = this.startsAtZero ? i : i + 1;
17040                    }
17041                }
17042                return { selected: selected, validPercent: validPercent };
17043            };
17044            SurveyOpinionSliderInput.prototype.applyPercent = function (percentageResult) {
17045                this.moveSlider(percentageResult.validPercent);
17046                this.el.closest('form.surveys-forms').classList.add('opinion-slider-dragging');
17047                this.checkInput(this.settings.id, percentageResult.selected);
17048            };
17049            SurveyOpinionSliderInput.prototype.moveSlider = function (validPercent) {
17050                this.percent = Math.max(Math.min(validPercent, 100), 0);
17051                this.slider.style.left = "".concat(this.percent, "%");
17052            };
17053            return SurveyOpinionSliderInput;
17054        }(surveys.SurveyOpinionBase));
17055        surveys.SurveyOpinionSliderInput = SurveyOpinionSliderInput;
17056        window.lpFrameWork.element('lp-survey-opinion-slider-input', function (el) { return new SurveyOpinionSliderInput(el); });
17057    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
17058})(landingpage || (landingpage = {}));
17059;
17060var landingpage;
17061(function (landingpage) {
17062    var surveys;
17063    (function (surveys) {
17064        ;
17065        var SurveyPhoneNumber = (function (_super) {
17066            __extends(SurveyPhoneNumber, _super);
17067            function SurveyPhoneNumber(el) {
17068                var _this = _super.call(this, el) || this;
17069                _this.wrapElement();
17070                _this.initIntlTel();
17071                _this.validate();
17072                _this.el.addEventListener('keyup', function () { return _this.validate(); });
17073                return _this;
17074            }
17075            SurveyPhoneNumber.prototype.setCallback = function (fn) {
17076                this.callback = fn;
17077                this.validate();
17078            };
17079            SurveyPhoneNumber.prototype.getNumber = function () {
17080                return this.intlTelInput.getNumber();
17081            };
17082            SurveyPhoneNumber.prototype.wrapElement = function () {
17083                var wrapper = document.createElement('div');
17084                landingpage.PageUtilities.addClass(wrapper, 'lp-survey-phone-wrapper');
17085                this.el.after(wrapper);
17086                wrapper.appendChild(this.el);
17087            };
17088            SurveyPhoneNumber.prototype.initIntlTel = function () {
17089                var _this = this;
17090                var inputOptions = this.getInputOptions();
17091                this.intlTelInput = window.intlTelInput(this.el, inputOptions);
17092                this.el.removeAttribute('name');
17093                this.el.addEventListener('countrychange', function () { return _this.validate(); });
17094            };
17095            SurveyPhoneNumber.prototype.getInputOptions = function () {
17096                var _this = this;
17097                var allowDropdownAttr = this.el.getAttribute('allow-dropdown');
17098                var allowDropdown = allowDropdownAttr ? allowDropdownAttr === 'true' : false;
17099                var countrySelectorMode = allowDropdown ? 'DROPDOWN' : 'OFF';
17100                var initialCountry = (this.el.getAttribute('default-country') || '').toLowerCase();
17101                var hiddenInputs = function () { return ({ phone: _this.el.getAttribute('name') }); };
17102                var countryOrder = ['us', 'gb'];
17103                return { initialCountry: initialCountry, countrySelectorMode: countrySelectorMode, hiddenInputs: hiddenInputs, countryOrder: countryOrder, placeholderNumberPolicy: 'AGGRESSIVE' };
17104            };
17105            SurveyPhoneNumber.prototype.validate = function () {
17106                landingpage.PageUtilities.setAttribute(this.el, 'phone-input-valid', "".concat(this.intlTelInput.isValidNumber()));
17107                if (this.callback) {
17108                    this.callback();
17109                }
17110            };
17111            return SurveyPhoneNumber;
17112        }(landingpage.LPComponent));
17113        surveys.SurveyPhoneNumber = SurveyPhoneNumber;
17114    })(surveys = landingpage.surveys || (landingpage.surveys = {}));
17115})(landingpage || (landingpage = {}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.