@gravity-rail/cli 0.18.1 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/gr.js CHANGED
@@ -12,6 +12,7 @@ import readline2__default from 'readline';
12
12
  import os, { homedir } from 'os';
13
13
  import * as readline5 from 'readline/promises';
14
14
  import { stdout, stdin } from 'process';
15
+ import { writeFile } from 'fs/promises';
15
16
  import { EventEmitter } from 'events';
16
17
 
17
18
  createRequire(import.meta.url);
@@ -207,7 +208,7 @@ var init_pagination = __esm({
207
208
  }
208
209
  });
209
210
 
210
- // ../sdk/dist/chunk-PJFEGUHM.js
211
+ // ../sdk/dist/chunk-7OLBLLV7.js
211
212
  function getCookieValue(name) {
212
213
  if (typeof document === "undefined") return void 0;
213
214
  const cookies = document.cookie.split(";");
@@ -265,8 +266,8 @@ function setOrgAuthHeader(headers2, token) {
265
266
  headers2.set(orgAuthHeaderName(token), token);
266
267
  }
267
268
  var ApiError, BaseApiClient;
268
- var init_chunk_PJFEGUHM = __esm({
269
- "../sdk/dist/chunk-PJFEGUHM.js"() {
269
+ var init_chunk_7OLBLLV7 = __esm({
270
+ "../sdk/dist/chunk-7OLBLLV7.js"() {
270
271
  ApiError = class extends Error {
271
272
  statusCode;
272
273
  /** Legacy string-array errors — kept for non-validation callers. */
@@ -516,7 +517,11 @@ ${formattedErrors}`, response.status);
516
517
  throw error;
517
518
  }
518
519
  const errorMessage = typeof errorData.detail === "string" ? errorData.detail : errorData.message || response.statusText;
519
- throw new ApiError(errorMessage, response.status);
520
+ const simpleError = new ApiError(errorMessage, response.status);
521
+ if (typeof errorData.code === "string") {
522
+ simpleError.errorData = errorData;
523
+ }
524
+ throw simpleError;
520
525
  }
521
526
  if (response.status === 204) {
522
527
  return void 0;
@@ -688,7 +693,7 @@ ${formattedErrors}`, response.status);
688
693
  var metadata_min_json_default;
689
694
  var init_metadata_min_json = __esm({
690
695
  "../../node_modules/libphonenumber-js/metadata.min.json.js"() {
691
- metadata_min_json_default = { "version": 4, "country_calling_codes": { "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"], "7": ["RU", "KZ"], "20": ["EG"], "27": ["ZA"], "30": ["GR"], "31": ["NL"], "32": ["BE"], "33": ["FR"], "34": ["ES"], "36": ["HU"], "39": ["IT", "VA"], "40": ["RO"], "41": ["CH"], "43": ["AT"], "44": ["GB", "GG", "IM", "JE"], "45": ["DK"], "46": ["SE"], "47": ["NO", "SJ"], "48": ["PL"], "49": ["DE"], "51": ["PE"], "52": ["MX"], "53": ["CU"], "54": ["AR"], "55": ["BR"], "56": ["CL"], "57": ["CO"], "58": ["VE"], "60": ["MY"], "61": ["AU", "CC", "CX"], "62": ["ID"], "63": ["PH"], "64": ["NZ"], "65": ["SG"], "66": ["TH"], "81": ["JP"], "82": ["KR"], "84": ["VN"], "86": ["CN"], "90": ["TR"], "91": ["IN"], "92": ["PK"], "93": ["AF"], "94": ["LK"], "95": ["MM"], "98": ["IR"], "211": ["SS"], "212": ["MA", "EH"], "213": ["DZ"], "216": ["TN"], "218": ["LY"], "220": ["GM"], "221": ["SN"], "222": ["MR"], "223": ["ML"], "224": ["GN"], "225": ["CI"], "226": ["BF"], "227": ["NE"], "228": ["TG"], "229": ["BJ"], "230": ["MU"], "231": ["LR"], "232": ["SL"], "233": ["GH"], "234": ["NG"], "235": ["TD"], "236": ["CF"], "237": ["CM"], "238": ["CV"], "239": ["ST"], "240": ["GQ"], "241": ["GA"], "242": ["CG"], "243": ["CD"], "244": ["AO"], "245": ["GW"], "246": ["IO"], "247": ["AC"], "248": ["SC"], "249": ["SD"], "250": ["RW"], "251": ["ET"], "252": ["SO"], "253": ["DJ"], "254": ["KE"], "255": ["TZ"], "256": ["UG"], "257": ["BI"], "258": ["MZ"], "260": ["ZM"], "261": ["MG"], "262": ["RE", "YT"], "263": ["ZW"], "264": ["NA"], "265": ["MW"], "266": ["LS"], "267": ["BW"], "268": ["SZ"], "269": ["KM"], "290": ["SH", "TA"], "291": ["ER"], "297": ["AW"], "298": ["FO"], "299": ["GL"], "350": ["GI"], "351": ["PT"], "352": ["LU"], "353": ["IE"], "354": ["IS"], "355": ["AL"], "356": ["MT"], "357": ["CY"], "358": ["FI", "AX"], "359": ["BG"], "370": ["LT"], "371": ["LV"], "372": ["EE"], "373": ["MD"], "374": ["AM"], "375": ["BY"], "376": ["AD"], "377": ["MC"], "378": ["SM"], "380": ["UA"], "381": ["RS"], "382": ["ME"], "383": ["XK"], "385": ["HR"], "386": ["SI"], "387": ["BA"], "389": ["MK"], "420": ["CZ"], "421": ["SK"], "423": ["LI"], "500": ["FK"], "501": ["BZ"], "502": ["GT"], "503": ["SV"], "504": ["HN"], "505": ["NI"], "506": ["CR"], "507": ["PA"], "508": ["PM"], "509": ["HT"], "590": ["GP", "BL", "MF"], "591": ["BO"], "592": ["GY"], "593": ["EC"], "594": ["GF"], "595": ["PY"], "596": ["MQ"], "597": ["SR"], "598": ["UY"], "599": ["CW", "BQ"], "670": ["TL"], "672": ["NF"], "673": ["BN"], "674": ["NR"], "675": ["PG"], "676": ["TO"], "677": ["SB"], "678": ["VU"], "679": ["FJ"], "680": ["PW"], "681": ["WF"], "682": ["CK"], "683": ["NU"], "685": ["WS"], "686": ["KI"], "687": ["NC"], "688": ["TV"], "689": ["PF"], "690": ["TK"], "691": ["FM"], "692": ["MH"], "850": ["KP"], "852": ["HK"], "853": ["MO"], "855": ["KH"], "856": ["LA"], "880": ["BD"], "886": ["TW"], "960": ["MV"], "961": ["LB"], "962": ["JO"], "963": ["SY"], "964": ["IQ"], "965": ["KW"], "966": ["SA"], "967": ["YE"], "968": ["OM"], "970": ["PS"], "971": ["AE"], "972": ["IL"], "973": ["BH"], "974": ["QA"], "975": ["BT"], "976": ["MN"], "977": ["NP"], "992": ["TJ"], "993": ["TM"], "994": ["AZ"], "995": ["GE"], "996": ["KG"], "998": ["UZ"] }, "countries": { "AC": ["247", "00", "(?:[01589]\\d|[2-467])\\d{4}", [5, 6]], "AD": ["376", "00", "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", [6, 8, 9], [["(\\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"]]]], "AE": ["971", "00", "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\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"]], "0"], "AF": ["93", "00", "[2-7]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], "0"], "AG": ["1", "011", "(?:268|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([457]\\d{6})$|1", "268$1", 0, "268"], "AI": ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "264$1", 0, "264"], "AL": ["355", "00", "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", [6, 7, 8, 9], [["(\\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"]], "0"], "AM": ["374", "00", "(?:[1-489]\\d|55|60|77)\\d{6}", [8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], ["(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], "0"], "AO": ["244", "00", "[29]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]]], "AR": ["54", "00", "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["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])", "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)", "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]", "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]"], "0$1", 1], ["(\\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], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "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]))", "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)", "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]", "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]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\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", 0, "$1 $2 $3-$4"]], "0", 0, "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)?", "9$1"], "AS": ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "684$1", 0, "684"], "AT": ["43", "00", "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}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], ["(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"], ["(\\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"]], "0"], "AU": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\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)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?: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}", [9]], ["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}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "AW": ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], "AX": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "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}", [5, 6, 7, 8, 9, 10, 11, 12], 0, "0", 0, 0, 0, 0, "18", 0, "00"], "AZ": ["994", "00", "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", [9], [["(\\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)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], "BA": ["387", "00", "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", [8, 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"]], "0"], "BB": ["1", "011", "(?:246|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "246$1", 0, "246"], "BD": ["880", "00", "[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], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|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]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"], ["(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], "0"], "BE": ["32", "00", "4\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\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"]], "0"], "BF": ["226", "00", "[024-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]]], "BG": ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\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"]], "0"], "BH": ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], "BI": ["257", "00", "(?:[267]\\d|31)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]]], "BJ": ["229", "00", "(?:01\\d|8)\\d{7}", [8, 10], [["(\\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"]]]], "BL": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "BM": ["1", "011", "(?:441|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "441$1", 0, "441"], "BN": ["673", "00", "[2-578]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]]], "BO": ["591", "00(?:1\\d)?", "(?:[2-7]\\d\\d|8001)\\d{5}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[23]|4[46]|50"]], ["(\\d{8})", "$1", ["[5-7]"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"]]], "0", 0, "0(1\\d)?"], "BQ": ["599", "00", "(?:[34]1|7\\d)\\d{5}", [7], 0, 0, 0, 0, 0, 0, "[347]"], "BR": ["55", "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)", "[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], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]], ["(\\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)"], ["(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)"]], "0", 0, "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2"], "BS": ["1", "011", "(?:242|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([3-8]\\d{6})$|1", "242$1", 0, "242"], "BT": ["975", "00", "[178]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\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]"]]]], "BW": ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\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"]]]], "BY": ["375", "810", "(?:[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}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3})", "$1 $2", ["800"], "8 $1"], ["(\\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"], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[89]"], "8 $1"]], "8", 0, "0|80?", 0, 0, 0, 0, "8~10"], "BZ": ["501", "00", "(?:0800\\d|[2-8])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]], ["(\\d)(\\d{3})(\\d{4})(\\d{3})", "$1-$2-$3-$4", ["0"]]]], "CA": ["1", "011", "[2-9]\\d{9}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [["(?: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}", [10]], ["", [10]], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]], ["900[2-9]\\d{6}", [10]], ["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}", [10]], 0, ["310\\d{4}", [7]], 0, ["600[2-9]\\d{6}", [10]]]], "CC": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "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], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["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}", [9]], ["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}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CD": ["243", "00", "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", [7, 8, 9, 10], [["(\\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"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["5"], "0$1"]], "0"], "CF": ["236", "00", "8776\\d{4}|(?:[27]\\d|61)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-8]"]]]], "CG": ["242", "00", "222\\d{6}|(?:0\\d|80)\\d{7}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]]], "CH": ["41", "00", "8\\d{11}|[2-9]\\d{8}", [9, 12], [["(\\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"]], "0"], "CI": ["225", "00", "[02]\\d{9}", [10], [["(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]]], "CK": ["682", "00", "[2-578]\\d{4}", [5], [["(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]]], "CL": ["56", "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0", "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", [9, 10, 11], [["(\\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)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9(?:10|[2-9])"]], ["(\\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"]]]], "CM": ["237", "00", "[26]\\d{8}|88\\d{6,7}", [8, 9], [["(\\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"]]]], "CN": ["86", "00|1(?:[12]\\d|79)\\d\\d00", "(?:(?: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], [["(\\d{2})(\\d{5,6})", "$1 $2", ["(?: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]", "(?: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", "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", "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", "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"], "0$1"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["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]", "(?: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]", "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])", "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])"], "0$1"], ["(\\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", 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", 1], ["(\\d{3})(\\d{7,8})", "$1 $2", ["9"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", 1]], "0", 0, "(1(?:[12]\\d|79)\\d\\d)|0", 0, 0, 0, 0, "00"], "CO": ["57", "00(?:4(?:[14]4|56)|[579])", "(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["46"]], ["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|9[14]"]], ["(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1", 0, "$1 $2 $3"]], "0", 0, "0([3579]|4(?:[14]4|56))?"], "CR": ["506", "00", "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}", [8, 10], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"]]], 0, 0, "(19(?:0[0-2468]|1[09]|20|66|77|99))"], "CU": ["53", "119", "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", [6, 7, 8, 10], [["(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], ["(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], ["(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], "0"], "CV": ["238", "0", "(?:[2-59]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-589]"]]]], "CW": ["599", "00", "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[3467]"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]]], 0, 0, 0, 0, 0, "[69]"], "CX": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "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], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["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}", [9]], ["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}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CY": ["357", "00", "(?:[279]\\d|[58]0)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]]], "CZ": ["420", "00", "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", [9, 10, 11, 12], [["(\\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"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]]], "DE": ["49", "00", "[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], [["(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"], ["(\\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"], ["(\\d{4})(\\d{2,11})", "$1 $2", ["[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]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"], ["(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"], ["(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"], ["(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"], ["(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"], ["(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|3[13])"], "0$1"], ["(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"], ["(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"], ["(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]], "0"], "DJ": ["253", "00", "(?:2\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]]], "DK": ["45", "00", "[2-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]]], "DM": ["1", "011", "(?:[58]\\d\\d|767|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "767$1", 0, "767"], "DO": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "8001|8[024]9"], "DZ": ["213", "00", "(?:[1-4]|[5-79]\\d|80)\\d{7}", [8, 9], [["(\\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"]], "0"], "EC": ["593", "00", "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}", [8, 9, 10, 11], [["(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)", 0, "$1-$2-$3"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], "0"], "EE": ["372", "00", "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}", [7, 8, 10], [["(\\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])"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "EG": ["20", "00", "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}", [8, 9, 10], [["(\\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"]], "0"], "EH": ["212", "00", "[5-8]\\d{8}", [9], 0, "0", 0, 0, 0, 0, 0, [["528[89]\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|3[01]|5[0-5]))\\d{6}"], ["80[0-7]\\d{6}"], ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]], "ER": ["291", "00", "[178]\\d{6}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], "0"], "ES": ["34", "00", "(?:400|[5-9]\\d\\d)\\d{6}", [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]"]]]], "ET": ["251", "00", "(?:11|[2-57-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-57-9]"], "0$1"]], "0"], "FI": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "[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], [["(\\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"]], "0", 0, 0, 0, 0, "1[03-79]|[2-9]", 0, "00"], "FJ": ["679", "0(?:0|52)", "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "FK": ["500", "00", "[2-7]\\d{4}", [5]], "FM": ["691", "00", "(?:[39]\\d\\d|820)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]]], "FO": ["298", "00", "[2-9]\\d{5}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"]]], 0, 0, "(10(?:01|[12]0|88))"], "FR": ["33", "00", "[1-9]\\d{8}", [9], [["(\\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"]], "0"], "GA": ["241", "00", "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", [7, 8], [["(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], "GB": ["44", "00", "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", [7, 9, 10], [["(\\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"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], "0", 0, "0|180020", 0, 0, 0, [["(?: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}", [9, 10]], ["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}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["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}", [10]], ["56\\d{8}", [10]]], 0, " x"], "GD": ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], "GE": ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9], [["(\\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"]], "0"], "GF": ["594", "00", "(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|80[6-9]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], "GG": ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0|180020", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["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}", [10]], ["56\\d{8}", [10]]]], "GH": ["233", "00", "[235]\\d{8}|800\\d{5,6}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2358]"], "0$1"]], "0"], "GI": ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], "GL": ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], "GM": ["220", "00", "[2-9]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "GN": ["224", "00", "722\\d{6}|(?:3|6\\d)\\d{7}", [8, 9], [["(\\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]"]]]], "GP": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\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"]], "0", 0, 0, 0, 0, 0, [["(?: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}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "GQ": ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], "GR": ["30", "00", "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", [10, 11, 12], [["(\\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]"]], ["(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]]]], "GT": ["502", "00", "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "GU": ["1", "011", "(?:[58]\\d\\d|671|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "671$1", 0, "671"], "GW": ["245", "00", "[49]\\d{8}|4\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["40"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]]]], "GY": ["592", "001", "(?:[2-8]\\d{3}|9008)\\d{3}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "HK": ["852", "00(?:30|5[09]|[126-9]?)", "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", [5, 6, 7, 8, 9, 11], [["(\\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"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "HN": ["504", "00", "8\\d{10}|[237-9]\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]]], "HR": ["385", "00", "[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}", [7, 8, 9], [["(\\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"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6|7[245]"], "0$1"], ["(\\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"]], "0"], "HT": ["509", "00", "[2-589]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]]], "HU": ["36", "00", "[235-7]\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\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"]], "06"], "ID": ["62", "00[89]", "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}", [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\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"], ["(\\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"]], "0"], "IE": ["353", "00", "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}", [7, 8, 9, 10], [["(\\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"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["81"], "(0$1)"], ["(\\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"]], "0"], "IL": ["972", "0(?:0|1[2-9])", "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}", [7, 8, 9, 10, 11, 12], [["(\\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"]], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3-$4", ["1[7-9]"]], ["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]]], "0"], "IM": ["44", "00", "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([25-8]\\d{5})$|0|180020", "1624$1", 0, "74576|(?:16|7[56])24"], "IN": ["91", "00", "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", [8, 9, 10, 11, 12, 13], [["(\\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)"], 0, 1], ["(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], 0, 1], ["(\\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], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["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]", "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]", "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]"], "0$1", 1], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["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]"], "0$1", 1], ["(\\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"], 0, 1], ["(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], 0, 1]], "0"], "IO": ["246", "00", "3\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["3"]]]], "IQ": ["964", "00", "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "IR": ["98", "00", "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", [4, 5, 6, 7, 10], [["(\\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"]], "0"], "IS": ["354", "00|1(?:0(?:01|[12]0)|100)", "(?:38\\d|[4-9])\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "IT": ["39", "00", "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], [["(\\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"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]], ["(\\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]"]]], 0, 0, 0, 0, 0, 0, [["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}"], ["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]], ["80(?:0\\d{3}|3)\\d{3}", [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}", [6, 8, 9, 10]], ["1(?:78\\d|99)\\d{6}", [9, 10]], ["3[2-8]\\d{9,10}", [11, 12]], 0, 0, ["55\\d{8}", [10]], ["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]]], "JE": ["44", "00", "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([0-24-8]\\d{5})$|0|180020", "1534$1", 0, 0, [["1534[0-24-8]\\d{5}"], ["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"], ["80(?:07(?:35|81)|8901)\\d{4}"], ["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"], ["701511\\d{4}"], 0, ["(?: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}"], ["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}"], ["56\\d{8}"]]], "JM": ["1", "011", "(?:[58]\\d\\d|658|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "658|876"], "JO": ["962", "00", "(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}", [8, 9], [["(\\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"]], "0"], "JP": ["81", "010", "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], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\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"], ["(\\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"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["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])", "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]", "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]"], "0$1"], ["(\\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"]], "0", 0, "(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0", "$1"], "KE": ["254", "000", "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}", [7, 8, 9, 10], [["(\\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"]], "0"], "KG": ["996", "00", "8\\d{9}|[235-9]\\d{8}", [9, 10], [["(\\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"]], "0"], "KH": ["855", "00[14-9]", "1\\d{9}|[1-9]\\d{7,8}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "KI": ["686", "00", "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}", [5, 8], 0, "0"], "KM": ["269", "00", "[3478]\\d{6}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[3478]"]]]], "KN": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "869$1", 0, "869"], "KP": ["850", "00|99", "85\\d{6}|(?:19\\d|[2-7])\\d{7}", [8, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"]], "0"], "KR": ["82", "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))", "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], [["(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1"], ["(\\d{4})(\\d{4})", "$1-$2", ["1"]], ["(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[36]0|8"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1"]], "0", 0, "0(8(?:[1-46-8]|5\\d\\d))?"], "KW": ["965", "00", "18\\d{5}|(?:[2569]\\d|41)\\d{6}", [7, 8], [["(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], ["(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]]], "KY": ["1", "011", "(?:345|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "345$1", 0, "345"], "KZ": ["7", "810", "8\\d{13}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "7", 0, "8~10"], "LA": ["856", "00", "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", [8, 9, 10], [["(\\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"]], "0"], "LB": ["961", "00", "[27-9]\\d{7}|[13-9]\\d{6}", [7, 8], [["(\\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]"]]], "0"], "LC": ["1", "011", "(?:[58]\\d\\d|758|900)\\d{7}", [10], 0, "1", 0, "([2-8]\\d{6})$|1", "758$1", 0, "758"], "LI": ["423", "00", "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", [7, 9], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]], "0", 0, "(1001)|0"], "LK": ["94", "00", "[1-9]\\d{8}", [9], [["(\\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"]], "0"], "LR": ["231", "00", "(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", [7, 8, 9], [["(\\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"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-578]"], "0$1"]], "0"], "LS": ["266", "00", "(?:[256]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]]], "LT": ["370", "00", "(?:[3469]\\d|52|[78]0)\\d{6}", [8], [["(\\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]], "0", 0, "[08]"], "LU": ["352", "00", "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], [["(\\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])"]], ["(\\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])"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4", ["20"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})", "$1 $2 $3 $4", ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["80[01]|90[015]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["20"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4 $5", ["20"]]], 0, 0, "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"], "LV": ["371", "00", "(?:[268]\\d|78|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2679]|8[01]"]]]], "LY": ["218", "00", "[2-9]\\d{8}", [9], [["(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], "0"], "MA": ["212", "00", "[5-8]\\d{8}", [9], [["(\\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"]], "0", 0, 0, 0, 0, "[5-8]"], "MC": ["377", "00", "(?:[3489]|[67]\\d)\\d{7}", [8, 9], [["(\\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"]], "0"], "MD": ["373", "00", "(?:[235-7]\\d|[89]0)\\d{6}", [8], [["(\\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"]], "0"], "ME": ["382", "00", "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]], "0"], "MF": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "MG": ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([24-9]\\d{6})$|0", "20$1"], "MH": ["692", "011", "329\\d{4}|(?:[256]\\d|45)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-6]"]]], "1"], "MK": ["389", "00", "[2-578]\\d{7}", [8], [["(\\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"]], "0"], "ML": ["223", "00", "[24-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]]], "MM": ["95", "00", "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], [["(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["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]"], "0$1"], ["(\\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"], ["(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"]], "0"], "MN": ["976", "001", "[12]\\d{7,9}|[5-9]\\d{7}", [8, 9, 10], [["(\\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"]], "0"], "MO": ["853", "00", "0800\\d{3}|(?:28|[68]\\d)\\d{6}", [7, 8], [["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]]], "MP": ["1", "011", "[58]\\d{9}|(?:67|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "670$1", 0, "670"], "MQ": ["596", "00", "7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\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"]], "0"], "MR": ["222", "00", "(?:[2-4]\\d\\d|800)\\d{5}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-48]"]]]], "MS": ["1", "011", "(?:[58]\\d\\d|664|900)\\d{7}", [10], 0, "1", 0, "([34]\\d{6})$|1", "664$1", 0, "664"], "MT": ["356", "00", "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]]], "MU": ["230", "0(?:0|[24-7]0|3[03])", "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], ["(\\d{5})(\\d{5})", "$1 $2", ["8"]]], 0, 0, 0, 0, 0, 0, 0, "020"], "MV": ["960", "0(?:0|19)", "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", [7, 10], [["(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MW": ["265", "00", "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", [7, 9], [["(\\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"]], "0"], "MX": ["52", "0[09]", "[2-9]\\d{9}", [10], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MY": ["60", "00", "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", [8, 9, 10], [["(\\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"]], "0"], "MZ": ["258", "00", "(?:2|8\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "NA": ["264", "00", "[68]\\d{7,8}", [8, 9], [["(\\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"]], "0"], "NC": ["687", "00", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]]], "NE": ["227", "00", "[027-9]\\d{7}", [8], [["(\\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]"]]]], "NF": ["672", "00", "[13]\\d{5}", [6], [["(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]], ["(\\d)(\\d{5})", "$1 $2", ["[13]"]]], 0, 0, "([0-258]\\d{4})$", "3$1"], "NG": ["234", "009", "(?:20|9\\d)\\d{8}|[78]\\d{9,13}", [10, 11, 12, 13, 14], [["(\\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"]], "0"], "NI": ["505", "00", "(?:1800|[25-8]\\d{3})\\d{4}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]]], "NL": ["31", "00", "(?:[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}", [5, 6, 7, 8, 9, 10, 11], [["(\\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"]], "0"], "NO": ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"], "NP": ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11], [["(\\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"]]], "0"], "NR": ["674", "00", "(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[24-9]"]]]], "NU": ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["8"]]]], "NZ": ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\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], [["(\\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"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], ["(\\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"]], "0", 0, 0, 0, 0, 0, 0, "00"], "OM": ["968", "00", "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", [7, 8, 9], [["(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]], ["(\\d{2})(\\d{6})", "$1 $2", ["2"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]]], "PA": ["507", "00", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11], [["(\\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"]]]], "PE": ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"], ["(\\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"]]], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "], "PF": ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9], [["(\\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"]]]], "PG": ["675", "00|140[1-3]", "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "PH": ["63", "00", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], ["(\\d{4})(\\d{4,6})", "$1 $2", ["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]))"], "(0$1)"], ["(\\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"]]], "0"], "PK": ["92", "00", "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}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["1"]], ["(\\d{3})(\\d{6,7})", "$1 $2", ["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]"], "(0$1)"], ["(\\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)"]], "0"], "PL": ["48", "00", "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{5})", "$1", ["19"]], ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], ["(\\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"]], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]]], "PM": ["508", "00", "[78]\\d{8}|[2-9]\\d{5}", [6, 9], [["(\\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"]], "0"], "PR": ["1", "011", "(?:[589]\\d\\d|787)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "787|939"], "PS": ["970", "00", "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", [8, 9, 10], [["(\\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"]]], "0"], "PT": ["351", "00", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]]], "PW": ["680", "01[12]", "(?:[24-8]\\d\\d|345|900)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "PY": ["595", "00", "[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], [["(\\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)"], ["(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"], ["(\\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"]]], "0"], "QA": ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["2[136]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], "RE": ["262", "00", "709\\d{6}|(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}"], ["(?: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}"], ["80\\d{7}"], ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"], ["8(?:1[019]|2[0156]|84|90)\\d{6}"]]], "RO": ["40", "00", "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", [6, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"], ["(\\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"]], "0", 0, 0, 0, 0, 0, 0, 0, " int "], "RS": ["381", "00", "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], [["(\\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"]], "0"], "RU": ["7", "810", "8\\d{13}|[347-9]\\d{9}", [10, 14], [["(\\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", ["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]"], "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)"]], "8", 0, 0, 0, 0, "[3489]", 0, "8~10"], "RW": ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], "SA": ["966", "00", "(?:[15]\\d|800|92)\\d{7}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["9"]], ["(\\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"]]], "0"], "SB": ["677", "0[01]", "[6-9]\\d{6}|[1-6]\\d{4}", [5, 7], [["(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]], "SC": ["248", "010|0[0-2]", "(?:[2489]\\d|64)\\d{5}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "SD": ["249", "00", "[19]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "SE": ["46", "00", "(?:[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], [["(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1", 0, "$1 $2"], ["(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3"], ["(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\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", 0, "$1 $2 $3"], ["(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1", 0, "$1 $2 $3"], ["(\\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", 0, "$1 $2 $3 $4"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\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", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1", 0, "$1 $2 $3 $4 $5"]], "0"], "SG": ["65", "0[0-3]\\d", "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", [8, 10, 11], [["(\\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"]]]], "SH": ["290", "00", "(?:[256]\\d|8)\\d{3}", [4, 5], 0, 0, 0, 0, 0, 0, "[256]"], "SI": ["386", "00|10(?:22|66|88|99)", "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", [5, 6, 7, 8], [["(\\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)"]], "0", 0, 0, 0, 0, 0, 0, "00"], "SJ": ["47", "00", "0\\d{4}|(?:[489]\\d|79)\\d{6}", [5, 8], 0, 0, 0, 0, 0, 0, "79"], "SK": ["421", "00", "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}", [6, 7, 9], [["(\\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"], ["(\\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"]], "0"], "SL": ["232", "00", "(?:[237-9]\\d|66)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[236-9]"], "(0$1)"]], "0"], "SM": ["378", "00", "(?:0549|[5-7]\\d)\\d{6}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], ["(\\d{4})(\\d{6})", "$1 $2", ["0"]]], 0, 0, "([89]\\d{5})$", "0549$1"], "SN": ["221", "00", "(?:[378]\\d|93)\\d{7}", [9], [["(\\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]"]]]], "SO": ["252", "00", "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", [6, 7, 8, 9], [["(\\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"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[346-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|[6-9]\\d)\\d{5}", [6, 7], [["(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]], ["(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]], ["(\\d{3})(\\d{4})", "$1-$2", ["[6-9]"]]]], "SS": ["211", "00", "[19]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "ST": ["239", "00", "(?:22|9\\d)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]]], "SV": ["503", "00", "[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\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]"]]]], "SX": ["1", "011", "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "(5\\d{6})$|1", "721$1", 0, "721"], "SY": ["963", "00", "[1-359]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-4]|5[1-3]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[59]"], "0$1", 1]], "0"], "SZ": ["268", "00", "0800\\d{4}|(?:[237]\\d|900)\\d{6}", [8, 9], [["(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]], ["(\\d{5})(\\d{4})", "$1 $2", ["9"]]]], "TA": ["290", "00", "8\\d{3}", [4], 0, 0, 0, 0, 0, 0, "8"], "TC": ["1", "011", "(?:[58]\\d\\d|649|900)\\d{7}", [10], 0, "1", 0, "([2-479]\\d{6})$|1", "649$1", 0, "649"], "TD": ["235", "00|16", "(?:22|[3689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[236-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "TG": ["228", "00", "[279]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]]], "TH": ["66", "00[1-9]", "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", [8, 9, 10, 13], [["(\\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"]]], "0"], "TJ": ["992", "810", "(?:[0-57-9]\\d|66)\\d{7}", [9], [["(\\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"]]], 0, 0, 0, 0, 0, 0, 0, "8~10"], "TK": ["690", "00", "[2-47]\\d{3,6}", [4, 5, 6, 7]], "TL": ["670", "00", "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]], ["(\\d{4})(\\d{4})", "$1 $2", ["7"]]]], "TM": ["993", "810", "[1-7]\\d{7}", [8], [["(\\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"]], "8", 0, 0, 0, 0, 0, 0, "8~10"], "TN": ["216", "00", "[2-57-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]]], "TO": ["676", "00", "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}", [5, 7], [["(\\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]"]]]], "TR": ["90", "00", "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}", [7, 10, 12, 13], [["(\\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], ["(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", 1]], "0"], "TT": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-46-8]\\d{6})$|1", "868$1", 0, "868"], "TV": ["688", "00", "(?:2|7\\d\\d|90)\\d{4}", [5, 6, 7], [["(\\d{2})(\\d{3})", "$1 $2", ["2"]], ["(\\d{2})(\\d{4})", "$1 $2", ["90"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "TW": ["886", "0(?:0[25-79]|19)", "[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}", [7, 8, 9, 10, 11], [["(\\d{2})(\\d)(\\d{4})", "$1 $2 $3", ["202"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["826"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["83"], "0$1"], ["(\\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"]], "0", 0, 0, 0, 0, 0, 0, 0, "#"], "TZ": ["255", "00[056]", "(?:[25-8]\\d|41|90)\\d{7}", [9], [["(\\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"]], "0"], "UA": ["380", "00", "[89]\\d{9}|[3-9]\\d{8}", [9, 10], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["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]"], "0$1"], ["(\\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"]], "0", 0, 0, 0, 0, 0, 0, "0~0"], "UG": ["256", "00[057]", "800\\d{6}|(?:[29]0|[347]\\d)\\d{7}", [9], [["(\\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", ["[34]"], "0$1"]], "0"], "US": ["1", "011", "[2-9]\\d{9}|3\\d{6}", [10], [["(\\d{3})(\\d{4})", "$1-$2", ["310"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], 0, 1, "$1-$2-$3"]], "1", 0, 0, 0, 0, 0, [["(?: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}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["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}"]]], "UY": ["598", "0(?:0|1[3-9]\\d)", "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], [["(\\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"]]], "0", 0, 0, 0, 0, 0, 0, "00", " int. "], "UZ": ["998", "00", "(?:20|33|[5-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]]], "VA": ["39", "00", "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], 0, 0, 0, 0, 0, 0, "06698"], "VC": ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "784$1", 0, "784"], "VE": ["58", "00", "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", [10], [["(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1"]], "0"], "VG": ["1", "011", "(?:284|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-578]\\d{6})$|1", "284$1", 0, "284"], "VI": ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "340$1", 0, "340"], "VN": ["84", "00", "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{6,7}|7\\d{6}", [7, 8, 9, 10], [["(\\d{4})(\\d{4,6})", "$1 $2", ["1(?:2[02]|[89])"], 0, 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]], "0"], "VU": ["678", "00", "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", [5, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]]], "WF": ["681", "00", "(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[47-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "WS": ["685", "0", "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}", [5, 6, 7, 10], [["(\\d{5})", "$1", ["[2-5]|6[1-9]"]], ["(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "XK": ["383", "00", "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", [8, 9, 10, 11, 12], [["(\\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"]], "0"], "YE": ["967", "00", "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", [7, 8, 9], [["(\\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"]], "0"], "YT": ["262", "00", "(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["26(?:89\\d|9(?:0[0-467]|15|5[0-4]|6\\d|[78]0))\\d{4}"], ["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"], ["80\\d{7}"], 0, 0, 0, 0, 0, ["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]], "ZA": ["27", "00", "[1-79]\\d{8}|8\\d{4,9}", [5, 6, 7, 8, 9, 10], [["(\\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"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "ZM": ["260", "00", "800\\d{6}|(?:21|[579]\\d|63)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[579]"], "0$1"]], "0"], "ZW": ["263", "00", "2(?:[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], [["(\\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"], ["(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"], ["(\\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"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["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]"], "0$1"], ["(\\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"]], "0"] }, "nonGeographic": { "800": ["800", 0, "(?:00|[1-9]\\d)\\d{6}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]], 0, 0, 0, 0, 0, 0, [0, 0, ["(?:00|[1-9]\\d)\\d{6}"]]], "808": ["808", 0, "[1-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, ["[1-9]\\d{7}"]]], "870": ["870", 0, "7\\d{11}|[235-7]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-7]"]]], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"], 0, 0, 0, 0, 0, 0, ["2\\d{8}", [9]]]], "878": ["878", 0, "10\\d{10}", [12], [["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]], "881": ["881", 0, "6\\d{9}|[0-36-9]\\d{8}", [9, 10], [["(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], ["(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], 0, 0, 0, 0, 0, 0, [0, ["6\\d{9}|[0-36-9]\\d{8}"]]], "882": ["882", 0, "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", [7, 8, 9, 10, 11, 12], [["(\\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]"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]], ["(\\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]"]]], 0, 0, 0, 0, 0, 0, [0, ["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}", [7, 8, 9, 10, 12]], 0, 0, 0, ["348[57]\\d{7}", [11]], 0, 0, ["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}"]]], "883": ["883", 0, "(?:[1-4]\\d|51)\\d{6,10}", [8, 9, 10, 11, 12], [["(\\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]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["(?: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}"]]], "888": ["888", 0, "\\d{11}", [11], [["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, ["\\d{11}"]]], "979": ["979", 0, "[1359]\\d{8}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, ["[1359]\\d{8}"]]] } };
696
+ metadata_min_json_default = { "version": 4, "country_calling_codes": { "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"], "7": ["RU", "KZ"], "20": ["EG"], "27": ["ZA"], "30": ["GR"], "31": ["NL"], "32": ["BE"], "33": ["FR"], "34": ["ES"], "36": ["HU"], "39": ["IT", "VA"], "40": ["RO"], "41": ["CH"], "43": ["AT"], "44": ["GB", "GG", "IM", "JE"], "45": ["DK"], "46": ["SE"], "47": ["NO", "SJ"], "48": ["PL"], "49": ["DE"], "51": ["PE"], "52": ["MX"], "53": ["CU"], "54": ["AR"], "55": ["BR"], "56": ["CL"], "57": ["CO"], "58": ["VE"], "60": ["MY"], "61": ["AU", "CC", "CX"], "62": ["ID"], "63": ["PH"], "64": ["NZ"], "65": ["SG"], "66": ["TH"], "81": ["JP"], "82": ["KR"], "84": ["VN"], "86": ["CN"], "90": ["TR"], "91": ["IN"], "92": ["PK"], "93": ["AF"], "94": ["LK"], "95": ["MM"], "98": ["IR"], "211": ["SS"], "212": ["MA", "EH"], "213": ["DZ"], "216": ["TN"], "218": ["LY"], "220": ["GM"], "221": ["SN"], "222": ["MR"], "223": ["ML"], "224": ["GN"], "225": ["CI"], "226": ["BF"], "227": ["NE"], "228": ["TG"], "229": ["BJ"], "230": ["MU"], "231": ["LR"], "232": ["SL"], "233": ["GH"], "234": ["NG"], "235": ["TD"], "236": ["CF"], "237": ["CM"], "238": ["CV"], "239": ["ST"], "240": ["GQ"], "241": ["GA"], "242": ["CG"], "243": ["CD"], "244": ["AO"], "245": ["GW"], "246": ["IO"], "247": ["AC"], "248": ["SC"], "249": ["SD"], "250": ["RW"], "251": ["ET"], "252": ["SO"], "253": ["DJ"], "254": ["KE"], "255": ["TZ"], "256": ["UG"], "257": ["BI"], "258": ["MZ"], "260": ["ZM"], "261": ["MG"], "262": ["RE", "YT"], "263": ["ZW"], "264": ["NA"], "265": ["MW"], "266": ["LS"], "267": ["BW"], "268": ["SZ"], "269": ["KM"], "290": ["SH", "TA"], "291": ["ER"], "297": ["AW"], "298": ["FO"], "299": ["GL"], "350": ["GI"], "351": ["PT"], "352": ["LU"], "353": ["IE"], "354": ["IS"], "355": ["AL"], "356": ["MT"], "357": ["CY"], "358": ["FI", "AX"], "359": ["BG"], "370": ["LT"], "371": ["LV"], "372": ["EE"], "373": ["MD"], "374": ["AM"], "375": ["BY"], "376": ["AD"], "377": ["MC"], "378": ["SM"], "380": ["UA"], "381": ["RS"], "382": ["ME"], "383": ["XK"], "385": ["HR"], "386": ["SI"], "387": ["BA"], "389": ["MK"], "420": ["CZ"], "421": ["SK"], "423": ["LI"], "500": ["FK"], "501": ["BZ"], "502": ["GT"], "503": ["SV"], "504": ["HN"], "505": ["NI"], "506": ["CR"], "507": ["PA"], "508": ["PM"], "509": ["HT"], "590": ["GP", "BL", "MF"], "591": ["BO"], "592": ["GY"], "593": ["EC"], "594": ["GF"], "595": ["PY"], "596": ["MQ"], "597": ["SR"], "598": ["UY"], "599": ["CW", "BQ"], "670": ["TL"], "672": ["NF"], "673": ["BN"], "674": ["NR"], "675": ["PG"], "676": ["TO"], "677": ["SB"], "678": ["VU"], "679": ["FJ"], "680": ["PW"], "681": ["WF"], "682": ["CK"], "683": ["NU"], "685": ["WS"], "686": ["KI"], "687": ["NC"], "688": ["TV"], "689": ["PF"], "690": ["TK"], "691": ["FM"], "692": ["MH"], "850": ["KP"], "852": ["HK"], "853": ["MO"], "855": ["KH"], "856": ["LA"], "880": ["BD"], "886": ["TW"], "960": ["MV"], "961": ["LB"], "962": ["JO"], "963": ["SY"], "964": ["IQ"], "965": ["KW"], "966": ["SA"], "967": ["YE"], "968": ["OM"], "970": ["PS"], "971": ["AE"], "972": ["IL"], "973": ["BH"], "974": ["QA"], "975": ["BT"], "976": ["MN"], "977": ["NP"], "992": ["TJ"], "993": ["TM"], "994": ["AZ"], "995": ["GE"], "996": ["KG"], "998": ["UZ"] }, "countries": { "AC": ["247", "00", "(?:[01589]\\d|[2-467])\\d{4}", [5, 6]], "AD": ["376", "00", "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", [6, 8, 9], [["(\\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"]]]], "AE": ["971", "00", "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\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"]], "0"], "AF": ["93", "00", "[2-7]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], "0"], "AG": ["1", "011", "(?:268|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([457]\\d{6})$|1", "268$1", 0, "268"], "AI": ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "264$1", 0, "264"], "AL": ["355", "00", "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", [6, 7, 8, 9], [["(\\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"]], "0"], "AM": ["374", "00", "(?:[1-489]\\d|55|60|77)\\d{6}", [8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], ["(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], "0"], "AO": ["244", "00", "[29]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]]], "AR": ["54", "00", "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["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])", "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)", "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]", "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]"], "0$1", 1], ["(\\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], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "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]))", "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)", "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]", "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]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\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", 0, "$1 $2 $3-$4"]], "0", 0, "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)?", "9$1"], "AS": ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "684$1", 0, "684"], "AT": ["43", "00", "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}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], ["(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"], ["(\\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"]], "0"], "AU": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\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)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?: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}", [9]], ["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}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "AW": ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], "AX": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "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}", [5, 6, 7, 8, 9, 10, 11, 12], 0, "0", 0, 0, 0, 0, "18", 0, "00"], "AZ": ["994", "00", "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", [9], [["(\\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)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], "BA": ["387", "00", "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", [8, 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"]], "0"], "BB": ["1", "011", "(?:246|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "246$1", 0, "246"], "BD": ["880", "00", "[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], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|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]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"], ["(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], "0"], "BE": ["32", "00", "4\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\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"]], "0"], "BF": ["226", "00", "[024-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]]], "BG": ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\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"]], "0"], "BH": ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], "BI": ["257", "00", "(?:[267]\\d|31)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]]], "BJ": ["229", "00", "(?:01\\d|8)\\d{7}", [8, 10], [["(\\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"]]]], "BL": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "BM": ["1", "011", "(?:441|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "441$1", 0, "441"], "BN": ["673", "00", "[2-578]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]]], "BO": ["591", "00(?:1\\d)?", "(?:[2-7]\\d\\d|8001)\\d{5}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[23]|4[46]|50"]], ["(\\d{8})", "$1", ["[5-7]"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"]]], "0", 0, "0(1\\d)?"], "BQ": ["599", "00", "(?:[34]1|7\\d)\\d{5}", [7], 0, 0, 0, 0, 0, 0, "[347]"], "BR": ["55", "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)", "[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], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]], ["(\\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)"], ["(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)"]], "0", 0, "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2"], "BS": ["1", "011", "(?:242|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([3-8]\\d{6})$|1", "242$1", 0, "242"], "BT": ["975", "00", "[178]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\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]"]]]], "BW": ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\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"]]]], "BY": ["375", "810", "(?:[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}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3})", "$1 $2", ["800"], "8 $1"], ["(\\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"], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[89]"], "8 $1"]], "8", 0, "0|80?", 0, 0, 0, 0, "8~10"], "BZ": ["501", "00", "(?:0800\\d|[2-8])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]], ["(\\d)(\\d{3})(\\d{4})(\\d{3})", "$1-$2-$3-$4", ["0"]]]], "CA": ["1", "011", "[2-9]\\d{9}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [["(?: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}", [10]], ["", [10]], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]], ["900[2-9]\\d{6}", [10]], ["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}", [10]], 0, ["310\\d{4}", [7]], 0, ["600[2-9]\\d{6}", [10]]]], "CC": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "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], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["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}", [9]], ["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}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CD": ["243", "00", "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", [7, 8, 9, 10], [["(\\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"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["5"], "0$1"]], "0"], "CF": ["236", "00", "8776\\d{4}|(?:[27]\\d|61)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-8]"]]]], "CG": ["242", "00", "222\\d{6}|(?:0\\d|80)\\d{7}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]]], "CH": ["41", "00", "8\\d{11}|[2-9]\\d{8}", [9, 12], [["(\\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"]], "0"], "CI": ["225", "00", "[02]\\d{9}", [10], [["(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]]], "CK": ["682", "00", "[2-578]\\d{4}", [5], [["(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]]], "CL": ["56", "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0", "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", [9, 10, 11], [["(\\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)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9(?:10|[2-9])"]], ["(\\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"]]]], "CM": ["237", "00", "[26]\\d{8}|88\\d{6,7}", [8, 9], [["(\\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"]]]], "CN": ["86", "00|1(?:[12]\\d|79)\\d\\d00", "(?:(?: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], [["(\\d{2})(\\d{5,6})", "$1 $2", ["(?: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]", "(?: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", "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", "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", "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"], "0$1"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["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]", "(?: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]", "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])", "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])"], "0$1"], ["(\\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", 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", 1], ["(\\d{3})(\\d{7,8})", "$1 $2", ["9"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", 1]], "0", 0, "(1(?:[12]\\d|79)\\d\\d)|0", 0, 0, 0, 0, "00"], "CO": ["57", "00(?:4(?:[14]4|56)|[579])", "(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["46"]], ["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|9[14]"]], ["(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1", 0, "$1 $2 $3"]], "0", 0, "0([3579]|4(?:[14]4|56))?"], "CR": ["506", "00", "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}", [8, 10], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"]]], 0, 0, "(19(?:0[0-2468]|1[09]|20|66|77|99))"], "CU": ["53", "119", "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", [6, 7, 8, 10], [["(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], ["(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], ["(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], "0"], "CV": ["238", "0", "(?:[2-59]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-589]"]]]], "CW": ["599", "00", "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[3467]"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]]], 0, 0, 0, 0, 0, "[69]"], "CX": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "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], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["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}", [9]], ["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}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CY": ["357", "00", "(?:[279]\\d|[58]0)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]]], "CZ": ["420", "00", "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", [9, 10, 11, 12], [["(\\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"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]]], "DE": ["49", "00", "[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], [["(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"], ["(\\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"], ["(\\d{4})(\\d{2,11})", "$1 $2", ["[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]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"], ["(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"], ["(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"], ["(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"], ["(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"], ["(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|3[13])"], "0$1"], ["(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"], ["(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"], ["(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]], "0"], "DJ": ["253", "00", "(?:2\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]]], "DK": ["45", "00", "[2-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]]], "DM": ["1", "011", "(?:[58]\\d\\d|767|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "767$1", 0, "767"], "DO": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "8001|8[024]9"], "DZ": ["213", "00", "(?:[1-4]|[5-79]\\d|80)\\d{7}", [8, 9], [["(\\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"]], "0"], "EC": ["593", "00", "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}", [8, 9, 10, 11], [["(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)", 0, "$1-$2-$3"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], "0"], "EE": ["372", "00", "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}", [7, 8, 10], [["(\\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])"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "EG": ["20", "00", "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}", [8, 9, 10], [["(\\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"]], "0"], "EH": ["212", "00", "[5-8]\\d{8}", [9], 0, "0", 0, 0, 0, 0, 0, [["528[89]\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|3[01]|5[0-5]))\\d{6}"], ["80[0-7]\\d{6}"], ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]], "ER": ["291", "00", "[178]\\d{6}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], "0"], "ES": ["34", "00", "(?:400|[5-9]\\d\\d)\\d{6}", [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]"]]]], "ET": ["251", "00", "(?:11|[2-57-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-57-9]"], "0$1"]], "0"], "FI": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "[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], [["(\\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"]], "0", 0, 0, 0, 0, "1[03-79]|[2-9]", 0, "00"], "FJ": ["679", "0(?:0|52)", "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "FK": ["500", "00", "[2-7]\\d{4}", [5]], "FM": ["691", "00", "(?:[39]\\d\\d|820)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]]], "FO": ["298", "00", "[2-9]\\d{5}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"]]], 0, 0, "(10(?:01|[12]0|88))"], "FR": ["33", "00", "[1-9]\\d{8}", [9], [["(\\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"]], "0"], "GA": ["241", "00", "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", [7, 8], [["(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], "GB": ["44", "00", "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", [7, 9, 10], [["(\\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"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], "0", 0, "0|180020", 0, 0, 0, [["(?: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}", [9, 10]], ["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}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["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}", [10]], ["56\\d{8}", [10]]], 0, " x"], "GD": ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], "GE": ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9], [["(\\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"]], "0"], "GF": ["594", "00", "(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|80[6-9]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], "GG": ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0|180020", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["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}", [10]], ["56\\d{8}", [10]]]], "GH": ["233", "00", "[235]\\d{8}|800\\d{5,6}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2358]"], "0$1"]], "0"], "GI": ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], "GL": ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], "GM": ["220", "00", "[48]\\d{8}|[2-9]\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|4(?:[0-35]|4[16-9])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[48]"]]]], "GN": ["224", "00", "722\\d{6}|(?:3|6\\d)\\d{7}", [8, 9], [["(\\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]"]]]], "GP": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\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"]], "0", 0, 0, 0, 0, 0, [["(?: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}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "GQ": ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], "GR": ["30", "00", "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", [10, 11, 12], [["(\\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]"]], ["(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]]]], "GT": ["502", "00", "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "GU": ["1", "011", "(?:[58]\\d\\d|671|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "671$1", 0, "671"], "GW": ["245", "00", "[49]\\d{8}|4\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["40"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]]]], "GY": ["592", "001", "(?:[2-8]\\d{3}|9008)\\d{3}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "HK": ["852", "00(?:30|5[09]|[126-9]?)", "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", [5, 6, 7, 8, 9, 11], [["(\\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"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "HN": ["504", "00", "8\\d{10}|[237-9]\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]]], "HR": ["385", "00", "[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}", [7, 8, 9], [["(\\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"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6|7[245]"], "0$1"], ["(\\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"]], "0"], "HT": ["509", "00", "[2-589]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]]], "HU": ["36", "00", "[235-7]\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\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"]], "06"], "ID": ["62", "00[89]", "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}", [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\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"], ["(\\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"]], "0"], "IE": ["353", "00", "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}", [7, 8, 9, 10], [["(\\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"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["81"], "(0$1)"], ["(\\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"]], "0"], "IL": ["972", "0(?:0|1(?:05|[2-9]))", "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}", [7, 8, 9, 10, 11, 12], [["(\\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"]], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3-$4", ["1[7-9]"]], ["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]]], "0"], "IM": ["44", "00", "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([25-8]\\d{5})$|0|180020", "1624$1", 0, "74576|(?:16|7[56])24"], "IN": ["91", "00", "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", [8, 9, 10, 11, 12, 13], [["(\\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)"], 0, 1], ["(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], 0, 1], ["(\\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], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["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]", "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]", "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]"], "0$1", 1], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["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]"], "0$1", 1], ["(\\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"], 0, 1], ["(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], 0, 1]], "0"], "IO": ["246", "00", "3\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["3"]]]], "IQ": ["964", "00", "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "IR": ["98", "00", "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", [4, 5, 6, 7, 10], [["(\\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"]], "0"], "IS": ["354", "00|1(?:0(?:01|[12]0)|100)", "(?:38\\d|[4-9])\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "IT": ["39", "00", "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], [["(\\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"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]], ["(\\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]"]]], 0, 0, 0, 0, 0, 0, [["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}"], ["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]], ["80(?:0\\d{3}|3)\\d{3}", [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}", [6, 8, 9, 10]], ["1(?:78\\d|99)\\d{6}", [9, 10]], ["3[2-8]\\d{9,10}", [11, 12]], 0, 0, ["55\\d{8}", [10]], ["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]]], "JE": ["44", "00", "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([0-24-8]\\d{5})$|0|180020", "1534$1", 0, 0, [["1534[0-24-8]\\d{5}"], ["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"], ["80(?:07(?:35|81)|8901)\\d{4}"], ["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"], ["701511\\d{4}"], 0, ["(?: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}"], ["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}"], ["56\\d{8}"]]], "JM": ["1", "011", "(?:[58]\\d\\d|658|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "658|876"], "JO": ["962", "00", "(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}", [8, 9], [["(\\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"]], "0"], "JP": ["81", "010", "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], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\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"], ["(\\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"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["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])", "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]", "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]"], "0$1"], ["(\\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"]], "0", 0, "(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0", "$1"], "KE": ["254", "000", "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}", [7, 8, 9, 10], [["(\\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"]], "0"], "KG": ["996", "00", "8\\d{9}|[235-9]\\d{8}", [9, 10], [["(\\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"]], "0"], "KH": ["855", "00[14-9]", "1\\d{9}|[1-9]\\d{7,8}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "KI": ["686", "00", "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}", [5, 8], 0, "0"], "KM": ["269", "00", "[3478]\\d{6}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[3478]"]]]], "KN": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "869$1", 0, "869"], "KP": ["850", "00|99", "85\\d{6}|(?:19\\d|[2-7])\\d{7}", [8, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"]], "0"], "KR": ["82", "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))", "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], [["(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1"], ["(\\d{4})(\\d{4})", "$1-$2", ["1"]], ["(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[36]0|8"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1"]], "0", 0, "0(8(?:[1-46-8]|5\\d\\d))?"], "KW": ["965", "00", "18\\d{5}|(?:[2569]\\d|41)\\d{6}", [7, 8], [["(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], ["(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]]], "KY": ["1", "011", "(?:345|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "345$1", 0, "345"], "KZ": ["7", "810", "8\\d{13}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "7", 0, "8~10"], "LA": ["856", "00", "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", [8, 9, 10], [["(\\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"]], "0"], "LB": ["961", "00", "[27-9]\\d{7}|[13-9]\\d{6}", [7, 8], [["(\\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]"]]], "0"], "LC": ["1", "011", "(?:[58]\\d\\d|758|900)\\d{7}", [10], 0, "1", 0, "([2-8]\\d{6})$|1", "758$1", 0, "758"], "LI": ["423", "00", "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", [7, 9], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]], "0", 0, "(1001)|0"], "LK": ["94", "00", "[1-9]\\d{8}", [9], [["(\\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"]], "0"], "LR": ["231", "00", "(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", [7, 8, 9], [["(\\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"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-578]"], "0$1"]], "0"], "LS": ["266", "00", "(?:[256]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]]], "LT": ["370", "00", "(?:[3469]\\d|52|[78]0)\\d{6}", [8], [["(\\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]], "0", 0, "[08]"], "LU": ["352", "00", "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], [["(\\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])"]], ["(\\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])"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4", ["20"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})", "$1 $2 $3 $4", ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["80[01]|90[015]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["20"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4 $5", ["20"]]], 0, 0, "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"], "LV": ["371", "00", "(?:[268]\\d|78|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2679]|8[01]"]]]], "LY": ["218", "00", "[2-9]\\d{8}", [9], [["(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], "0"], "MA": ["212", "00", "[5-8]\\d{8}", [9], [["(\\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"]], "0", 0, 0, 0, 0, "[5-8]"], "MC": ["377", "00", "(?:[3489]|[67]\\d)\\d{7}", [8, 9], [["(\\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"]], "0"], "MD": ["373", "00", "(?:[235-7]\\d|[89]0)\\d{6}", [8], [["(\\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"]], "0"], "ME": ["382", "00", "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]], "0"], "MF": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "MG": ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([24-9]\\d{6})$|0", "20$1"], "MH": ["692", "011", "329\\d{4}|(?:[256]\\d|45)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-6]"]]], "1"], "MK": ["389", "00", "[2-578]\\d{7}", [8], [["(\\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"]], "0"], "ML": ["223", "00", "[24-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]]], "MM": ["95", "00", "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], [["(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["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]"], "0$1"], ["(\\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"], ["(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"]], "0"], "MN": ["976", "001", "[12]\\d{7,9}|[5-9]\\d{7}", [8, 9, 10], [["(\\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"]], "0"], "MO": ["853", "00", "0800\\d{3}|(?:28|[68]\\d)\\d{6}", [7, 8], [["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]]], "MP": ["1", "011", "[58]\\d{9}|(?:67|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "670$1", 0, "670"], "MQ": ["596", "00", "7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\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"]], "0"], "MR": ["222", "00", "(?:[2-4]\\d\\d|800)\\d{5}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-48]"]]]], "MS": ["1", "011", "(?:[58]\\d\\d|664|900)\\d{7}", [10], 0, "1", 0, "([34]\\d{6})$|1", "664$1", 0, "664"], "MT": ["356", "00", "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]]], "MU": ["230", "0(?:0|[24-7]0|3[03])", "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], ["(\\d{5})(\\d{5})", "$1 $2", ["8"]]], 0, 0, 0, 0, 0, 0, 0, "020"], "MV": ["960", "0(?:0|19)", "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", [7, 10], [["(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MW": ["265", "00", "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", [7, 9], [["(\\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"]], "0"], "MX": ["52", "0[09]", "[2-9]\\d{9}", [10], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MY": ["60", "00", "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", [8, 9, 10], [["(\\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"]], "0"], "MZ": ["258", "00", "(?:2|8\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "NA": ["264", "00", "[68]\\d{7,8}", [8, 9], [["(\\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"]], "0"], "NC": ["687", "00", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]]], "NE": ["227", "00", "[027-9]\\d{7}", [8], [["(\\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]"]]]], "NF": ["672", "00", "[13]\\d{5}", [6], [["(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]], ["(\\d)(\\d{5})", "$1 $2", ["[13]"]]], 0, 0, "([0-258]\\d{4})$", "3$1"], "NG": ["234", "009", "(?:20|9\\d)\\d{8}|[78]\\d{9,13}", [10, 11, 12, 13, 14], [["(\\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"]], "0"], "NI": ["505", "00", "(?:1800|[25-8]\\d{3})\\d{4}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]]], "NL": ["31", "00", "(?:[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}", [5, 6, 7, 8, 9, 10, 11], [["(\\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"]], "0"], "NO": ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"], "NP": ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11], [["(\\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"]]], "0"], "NR": ["674", "00", "(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[24-9]"]]]], "NU": ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["8"]]]], "NZ": ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\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], [["(\\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"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], ["(\\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"]], "0", 0, 0, 0, 0, 0, 0, "00"], "OM": ["968", "00", "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", [7, 8, 9], [["(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]], ["(\\d{2})(\\d{6})", "$1 $2", ["2"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]]], "PA": ["507", "00", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11], [["(\\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"]]]], "PE": ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"], ["(\\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"]]], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "], "PF": ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9], [["(\\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"]]]], "PG": ["675", "00|140[1-3]", "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "PH": ["63", "00", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], ["(\\d{4})(\\d{4,6})", "$1 $2", ["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]))"], "(0$1)"], ["(\\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"]]], "0"], "PK": ["92", "00", "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}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["1"]], ["(\\d{3})(\\d{6,7})", "$1 $2", ["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]"], "(0$1)"], ["(\\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)"]], "0"], "PL": ["48", "00", "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{5})", "$1", ["19"]], ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], ["(\\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"]], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]]], "PM": ["508", "00", "[78]\\d{8}|[2-9]\\d{5}", [6, 9], [["(\\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"]], "0"], "PR": ["1", "011", "(?:[589]\\d\\d|787)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "787|939"], "PS": ["970", "00", "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", [8, 9, 10], [["(\\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"]]], "0"], "PT": ["351", "00", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]]], "PW": ["680", "01[12]", "(?:[24-8]\\d\\d|345|900)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "PY": ["595", "00", "[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], [["(\\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)"], ["(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"], ["(\\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"]]], "0"], "QA": ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["2[136]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], "RE": ["262", "00", "709\\d{6}|(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}"], ["(?: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}"], ["80\\d{7}"], ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"], ["8(?:1[019]|2[0156]|84|90)\\d{6}"]]], "RO": ["40", "00", "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", [6, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"], ["(\\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"]], "0", 0, 0, 0, 0, 0, 0, 0, " int "], "RS": ["381", "00", "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], [["(\\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"]], "0"], "RU": ["7", "810", "8\\d{13}|[347-9]\\d{9}", [10, 14], [["(\\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", ["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]"], "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)"]], "8", 0, 0, 0, 0, "[3489]", 0, "8~10"], "RW": ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], "SA": ["966", "00", "(?:[15]\\d|800|92)\\d{7}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["9"]], ["(\\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"]]], "0"], "SB": ["677", "0[01]", "[6-9]\\d{6}|[1-6]\\d{4}", [5, 7], [["(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]], "SC": ["248", "010|0[0-2]", "(?:[2489]\\d|64)\\d{5}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "SD": ["249", "00", "[19]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "SE": ["46", "00", "(?:[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], [["(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1", 0, "$1 $2"], ["(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3"], ["(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\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", 0, "$1 $2 $3"], ["(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1", 0, "$1 $2 $3"], ["(\\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", 0, "$1 $2 $3 $4"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\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", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1", 0, "$1 $2 $3 $4 $5"]], "0"], "SG": ["65", "0[0-3]\\d", "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", [8, 10, 11], [["(\\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"]]]], "SH": ["290", "00", "(?:[256]\\d|8)\\d{3}", [4, 5], 0, 0, 0, 0, 0, 0, "[256]"], "SI": ["386", "00|10(?:22|66|88|99)", "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", [5, 6, 7, 8], [["(\\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)"]], "0", 0, 0, 0, 0, 0, 0, "00"], "SJ": ["47", "00", "0\\d{4}|(?:[489]\\d|79)\\d{6}", [5, 8], 0, 0, 0, 0, 0, 0, "79"], "SK": ["421", "00", "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}", [6, 7, 9], [["(\\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"], ["(\\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"]], "0"], "SL": ["232", "00", "(?:[237-9]\\d|66)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[236-9]"], "(0$1)"]], "0"], "SM": ["378", "00", "(?:0549|[5-7]\\d)\\d{6}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], ["(\\d{4})(\\d{6})", "$1 $2", ["0"]]], 0, 0, "([89]\\d{5})$", "0549$1"], "SN": ["221", "00", "(?:[378]\\d|93)\\d{7}", [9], [["(\\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]"]]]], "SO": ["252", "00", "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", [6, 7, 8, 9], [["(\\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"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[346-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|[6-9]\\d)\\d{5}", [6, 7], [["(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]], ["(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]], ["(\\d{3})(\\d{4})", "$1-$2", ["[6-9]"]]]], "SS": ["211", "00", "[19]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "ST": ["239", "00", "(?:22|9\\d)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]]], "SV": ["503", "00", "[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\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]"]]]], "SX": ["1", "011", "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "(5\\d{6})$|1", "721$1", 0, "721"], "SY": ["963", "00", "[1-359]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-4]|5[1-3]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[59]"], "0$1", 1]], "0"], "SZ": ["268", "00", "0800\\d{4}|(?:[237]\\d|900)\\d{6}", [8, 9], [["(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]], ["(\\d{5})(\\d{4})", "$1 $2", ["9"]]]], "TA": ["290", "00", "8\\d{3}", [4], 0, 0, 0, 0, 0, 0, "8"], "TC": ["1", "011", "(?:[58]\\d\\d|649|900)\\d{7}", [10], 0, "1", 0, "([2-479]\\d{6})$|1", "649$1", 0, "649"], "TD": ["235", "00|16", "(?:22|[3689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[236-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "TG": ["228", "00", "[279]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]]], "TH": ["66", "00[1-9]", "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", [8, 9, 10, 13], [["(\\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"]]], "0"], "TJ": ["992", "810", "(?:[0-57-9]\\d|66)\\d{7}", [9], [["(\\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"]]], 0, 0, 0, 0, 0, 0, 0, "8~10"], "TK": ["690", "00", "[2-47]\\d{3,6}", [4, 5, 6, 7]], "TL": ["670", "00", "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]], ["(\\d{4})(\\d{4})", "$1 $2", ["7"]]]], "TM": ["993", "810", "[1-7]\\d{7}", [8], [["(\\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"]], "8", 0, 0, 0, 0, 0, 0, "8~10"], "TN": ["216", "00", "[2-57-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]]], "TO": ["676", "00", "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}", [5, 7], [["(\\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]"]]]], "TR": ["90", "00", "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}", [7, 10, 12, 13], [["(\\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$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24][1-8]|3[1-9]"], "(0$1)", 1], ["(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", 1]], "0"], "TT": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-46-8]\\d{6})$|1", "868$1", 0, "868"], "TV": ["688", "00", "(?:2|7\\d\\d|90)\\d{4}", [5, 6, 7], [["(\\d{2})(\\d{3})", "$1 $2", ["2"]], ["(\\d{2})(\\d{4})", "$1 $2", ["90"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "TW": ["886", "0(?:0[25-79]|19)", "[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}", [7, 8, 9, 10, 11], [["(\\d{2})(\\d)(\\d{4})", "$1 $2 $3", ["202"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["826"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["83"], "0$1"], ["(\\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"]], "0", 0, 0, 0, 0, 0, 0, 0, "#"], "TZ": ["255", "00[056]", "(?:[25-8]\\d|41|90)\\d{7}", [9], [["(\\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"]], "0"], "UA": ["380", "00", "[89]\\d{9}|[3-9]\\d{8}", [9, 10], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["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]"], "0$1"], ["(\\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"]], "0", 0, 0, 0, 0, 0, 0, "0~0"], "UG": ["256", "00[057]", "800\\d{6}|(?:[29]0|[347]\\d)\\d{7}", [9], [["(\\d{4})(\\d{5})", "$1 $2", ["202", "2024", "20240"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["20[0-35-7]|4(?:6[45]|[7-9])|[7-9]", "20(?:[0135-7]|2[5-9])|4(?:6[45]|[7-9])|[7-9]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[2-4]"], "0$1"]], "0"], "US": ["1", "011", "[2-9]\\d{9}|3\\d{6}", [10], [["(\\d{3})(\\d{4})", "$1-$2", ["310"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], 0, 1, "$1-$2-$3"]], "1", 0, 0, 0, 0, 0, [["(?: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}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["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}"]]], "UY": ["598", "0(?:0|1[3-9]\\d)", "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], [["(\\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"]]], "0", 0, 0, 0, 0, 0, 0, "00", " int. "], "UZ": ["998", "00", "(?:20|33|[5-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]]], "VA": ["39", "00", "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], 0, 0, 0, 0, 0, 0, "06698"], "VC": ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "784$1", 0, "784"], "VE": ["58", "00", "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", [10], [["(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1"]], "0"], "VG": ["1", "011", "(?:284|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-578]\\d{6})$|1", "284$1", 0, "284"], "VI": ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "340$1", 0, "340"], "VN": ["84", "00", "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{6,7}|7\\d{6}", [7, 8, 9, 10], [["(\\d{4})(\\d{4,6})", "$1 $2", ["1(?:2[02]|[89])"], 0, 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]], "0"], "VU": ["678", "00", "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", [5, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]]], "WF": ["681", "00", "(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[47-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "WS": ["685", "0", "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}", [5, 6, 7, 10], [["(\\d{5})", "$1", ["[2-5]|6[1-9]"]], ["(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "XK": ["383", "00", "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", [8, 9, 10, 11, 12], [["(\\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"]], "0"], "YE": ["967", "00", "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", [7, 8, 9], [["(\\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"]], "0"], "YT": ["262", "00", "(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["26(?:89\\d|9(?:0[0-467]|15|5[0-4]|6\\d|[78]0))\\d{4}"], ["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"], ["80\\d{7}"], 0, 0, 0, 0, 0, ["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]], "ZA": ["27", "00", "[1-79]\\d{8}|8\\d{4,9}", [5, 6, 7, 8, 9, 10], [["(\\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"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "ZM": ["260", "00", "800\\d{6}|(?:21|[579]\\d|63)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[579]"], "0$1"]], "0"], "ZW": ["263", "00", "2(?:[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], [["(\\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"], ["(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"], ["(\\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"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["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]"], "0$1"], ["(\\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"]], "0"] }, "nonGeographic": { "800": ["800", 0, "(?:00|[1-9]\\d)\\d{6}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]], 0, 0, 0, 0, 0, 0, [0, 0, ["(?:00|[1-9]\\d)\\d{6}"]]], "808": ["808", 0, "[1-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, ["[1-9]\\d{7}"]]], "870": ["870", 0, "7\\d{11}|[235-7]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-7]"]]], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"], 0, 0, 0, 0, 0, 0, ["2\\d{8}", [9]]]], "878": ["878", 0, "10\\d{10}", [12], [["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]], "881": ["881", 0, "6\\d{9}|[0-36-9]\\d{8}", [9, 10], [["(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], ["(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], 0, 0, 0, 0, 0, 0, [0, ["6\\d{9}|[0-36-9]\\d{8}"]]], "882": ["882", 0, "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", [7, 8, 9, 10, 11, 12], [["(\\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]"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]], ["(\\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]"]]], 0, 0, 0, 0, 0, 0, [0, ["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}", [7, 8, 9, 10, 12]], 0, 0, 0, ["348[57]\\d{7}", [11]], 0, 0, ["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}"]]], "883": ["883", 0, "(?:[1-4]\\d|51)\\d{6,10}", [8, 9, 10, 11, 12], [["(\\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]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["(?: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}"]]], "888": ["888", 0, "\\d{11}", [11], [["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, ["\\d{11}"]]], "979": ["979", 0, "[1359]\\d{8}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, ["[1359]\\d{8}"]]] } };
692
697
  }
693
698
  });
694
699
 
@@ -3220,7 +3225,7 @@ var init_libphonenumber_js = __esm({
3220
3225
  }
3221
3226
  });
3222
3227
 
3223
- // ../sdk/dist/chunk-PUIYXJSZ.js
3228
+ // ../sdk/dist/chunk-WMA6YCAS.js
3224
3229
  function sanitizePhoneForBackend(phoneNumber) {
3225
3230
  try {
3226
3231
  let parsed = parsePhoneNumber4(phoneNumber);
@@ -3343,6 +3348,14 @@ function supportRequestParams(params) {
3343
3348
  const query = searchParams.toString();
3344
3349
  return query ? `?${query}` : "";
3345
3350
  }
3351
+ function notesPath(wid, workflowId, noteId, query) {
3352
+ const base = noteId == null ? `w/${wid}/workflows/${workflowId}/notes` : `w/${wid}/workflows/${workflowId}/notes/${noteId}`;
3353
+ if (query?.workflowRevisionId == null) return base;
3354
+ const params = new URLSearchParams({
3355
+ workflowRevisionId: String(query.workflowRevisionId)
3356
+ });
3357
+ return `${base}?${params.toString()}`;
3358
+ }
3346
3359
  function withFilters(params, options) {
3347
3360
  if (options.dateFrom) params.append("dateFrom", options.dateFrom);
3348
3361
  if (options.dateTo) params.append("dateTo", options.dateTo);
@@ -3374,6 +3387,7 @@ function createApiModules(apiKey, baseUrl3, customFetch) {
3374
3387
  customToolkits: new CustomToolkitsApi(apiKey, baseUrl3, customFetch),
3375
3388
  dashboards: new DashboardsApi(apiKey, baseUrl3, customFetch),
3376
3389
  dataTypes: new DataTypesApi(apiKey, baseUrl3, customFetch),
3390
+ devices: new DevicesApi(apiKey, baseUrl3, customFetch),
3377
3391
  discordBots: new DiscordBotsApi(apiKey, baseUrl3, customFetch),
3378
3392
  slackApps: new SlackAppsApi(apiKey, baseUrl3, customFetch),
3379
3393
  teamsApps: new TeamsAppsApi(apiKey, baseUrl3, customFetch),
@@ -3596,6 +3610,8 @@ function bindDataTypesMethods(target, dataTypes) {
3596
3610
  target.getDataRecordChanges = dataTypes.getDataRecordChanges.bind(dataTypes);
3597
3611
  target.upsertDataRecord = dataTypes.upsertDataRecord.bind(dataTypes);
3598
3612
  target.toggleFieldIndex = dataTypes.toggleFieldIndex.bind(dataTypes);
3613
+ target.previewRenameFieldSlug = dataTypes.previewRenameFieldSlug.bind(dataTypes);
3614
+ target.renameFieldSlug = dataTypes.renameFieldSlug.bind(dataTypes);
3599
3615
  target.getFieldIndexStatus = dataTypes.getFieldIndexStatus.bind(dataTypes);
3600
3616
  target.validateDataTypeSlug = dataTypes.validateDataTypeSlug.bind(dataTypes);
3601
3617
  target.getMemberRecordCounts = dataTypes.getMemberRecordCounts.bind(dataTypes);
@@ -3606,8 +3622,22 @@ function bindDataTypesMethods(target, dataTypes) {
3606
3622
  target.deleteDataRecordFilter = dataTypes.deleteDataRecordFilter.bind(dataTypes);
3607
3623
  target.getDataRecordFilterCount = dataTypes.getDataRecordFilterCount.bind(dataTypes);
3608
3624
  }
3625
+ function bindDevicesMethods(target, devices) {
3626
+ target.getDevices = devices.getDevices.bind(devices);
3627
+ target.getDevice = devices.getDevice.bind(devices);
3628
+ target.getDeviceKinds = devices.getDeviceKinds.bind(devices);
3629
+ target.claimDevicePairing = devices.claimDevicePairing.bind(devices);
3630
+ target.updateDevice = devices.updateDevice.bind(devices);
3631
+ target.revokeDevice = devices.revokeDevice.bind(devices);
3632
+ }
3609
3633
  function bindMembersMethods(target, members) {
3610
3634
  target.getCurrentMember = members.getCurrentMember.bind(members);
3635
+ target.getMyDataTypes = members.getMyDataTypes.bind(members);
3636
+ target.getMyRecords = members.getMyRecords.bind(members);
3637
+ target.getMemberWorkflowVoices = members.getMemberWorkflowVoices.bind(members);
3638
+ target.previewMemberWorkflowVoice = members.previewMemberWorkflowVoice.bind(members);
3639
+ target.setMemberWorkflowVoice = members.setMemberWorkflowVoice.bind(members);
3640
+ target.clearMemberWorkflowVoice = members.clearMemberWorkflowVoice.bind(members);
3611
3641
  target.getOwnedMembers = members.getOwnedMembers.bind(members);
3612
3642
  target.switchMember = members.switchMember.bind(members);
3613
3643
  target.clearMemberSwitch = members.clearMemberSwitch.bind(members);
@@ -3698,6 +3728,7 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
3698
3728
  target.updateProduct = workspaces.updateProduct.bind(workspaces);
3699
3729
  target.deleteProduct = workspaces.deleteProduct.bind(workspaces);
3700
3730
  target.exportWorkspace = workspaces.exportWorkspace.bind(workspaces);
3731
+ target.exportWorkspaceZip = workspaces.exportWorkspaceZip.bind(workspaces);
3701
3732
  target.previewWorkspaceImport = workspaces.previewWorkspaceImport.bind(workspaces);
3702
3733
  target.importWorkspace = workspaces.importWorkspace.bind(workspaces);
3703
3734
  target.previewImportWorkspace = workspaces.previewImportWorkspace.bind(workspaces);
@@ -3876,6 +3907,8 @@ function bindProjectsMethods(target, projects) {
3876
3907
  target.getProjects = projects.getProjects.bind(projects);
3877
3908
  target.getProject = projects.getProject.bind(projects);
3878
3909
  target.getPlan = projects.getPlan.bind(projects);
3910
+ target.updateProject = projects.updateProject.bind(projects);
3911
+ target.updatePlan = projects.updatePlan.bind(projects);
3879
3912
  }
3880
3913
  function bindEventsMethods(target, events) {
3881
3914
  target.getEventRules = events.getEventRules.bind(events);
@@ -4026,12 +4059,14 @@ function bindCommunicationsMethods(target, phoneNumbers, inboxes, notificationRu
4026
4059
  target.getInboxEmail = inboxes.getInboxEmail.bind(inboxes);
4027
4060
  target.markEmailAsRead = inboxes.markEmailAsRead.bind(inboxes);
4028
4061
  target.markEmailAsUnread = inboxes.markEmailAsUnread.bind(inboxes);
4062
+ target.addEmailSenderAsMember = inboxes.addEmailSenderAsMember.bind(inboxes);
4029
4063
  target.convertEmail = inboxes.convertEmail.bind(inboxes);
4030
4064
  target.downloadEmailAttachment = inboxes.downloadEmailAttachment.bind(inboxes);
4031
4065
  target.getInboxThreads = inboxes.getInboxThreads.bind(inboxes);
4032
4066
  target.getThreadEmails = inboxes.getThreadEmails.bind(inboxes);
4033
4067
  target.getChatEmails = inboxes.getChatEmails.bind(inboxes);
4034
4068
  target.replyToEmail = inboxes.replyToEmail.bind(inboxes);
4069
+ target.sendInboxEmail = inboxes.sendInboxEmail.bind(inboxes);
4035
4070
  target.getNotificationRules = notificationRules.getNotificationRules.bind(notificationRules);
4036
4071
  target.createNotificationRule = notificationRules.createNotificationRule.bind(notificationRules);
4037
4072
  target.updateNotificationRule = notificationRules.updateNotificationRule.bind(notificationRules);
@@ -4091,6 +4126,12 @@ function bindBillingMethods(target, apiKeys, subscriptions, reports) {
4091
4126
  target.addWorkspaceToSubscription = subscriptions.addWorkspaceToSubscription.bind(subscriptions);
4092
4127
  target.purchaseCredits = subscriptions.purchaseCredits.bind(subscriptions);
4093
4128
  target.createCheckoutSession = subscriptions.createCheckoutSession.bind(subscriptions);
4129
+ target.createMemberCheckoutSession = subscriptions.createMemberCheckoutSession.bind(subscriptions);
4130
+ target.createMemberPortalSession = subscriptions.createMemberPortalSession.bind(subscriptions);
4131
+ target.getMemberSubscriptionStatus = subscriptions.getMemberSubscriptionStatus.bind(subscriptions);
4132
+ target.createDeviceOrderCheckoutSession = subscriptions.createDeviceOrderCheckoutSession.bind(subscriptions);
4133
+ target.listDeviceOrders = subscriptions.listDeviceOrders.bind(subscriptions);
4134
+ target.getCheckoutAttemptStatus = subscriptions.getCheckoutAttemptStatus.bind(subscriptions);
4094
4135
  target.listSelfServeProducts = subscriptions.listSelfServeProducts.bind(subscriptions);
4095
4136
  target.getAIUsageReport = reports.getAIUsageReport.bind(reports);
4096
4137
  target.getSMSUsageReport = reports.getSMSUsageReport.bind(reports);
@@ -4264,6 +4305,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
4264
4305
  target.getLinkedSalesforceMembers = salesforce.getLinkedSalesforceMembers.bind(salesforce);
4265
4306
  target.getSalesforceSyncConfig = salesforce.getSalesforceSyncConfig.bind(salesforce);
4266
4307
  target.updateSalesforceSyncConfig = salesforce.updateSalesforceSyncConfig.bind(salesforce);
4308
+ target.resyncSalesforceLinkedMembers = salesforce.resyncSalesforceLinkedMembers.bind(salesforce);
4267
4309
  target.listSalesforceObjects = salesforce.listSalesforceObjects.bind(salesforce);
4268
4310
  target.describeSalesforceObject = salesforce.describeSalesforceObject.bind(salesforce);
4269
4311
  target.searchSalesforceRecords = salesforce.searchSalesforceRecords.bind(salesforce);
@@ -4331,6 +4373,7 @@ function bindOrgMethods(target, org) {
4331
4373
  target.disableOrgDomainEmail = org.disableOrgDomainEmail.bind(org);
4332
4374
  target.enableOrgDomainSite = org.enableOrgDomainSite.bind(org);
4333
4375
  target.getOrgDomainSite = org.getOrgDomainSite.bind(org);
4376
+ target.preflightOrgDomainSite = org.preflightOrgDomainSite.bind(org);
4334
4377
  target.verifyOrgDomainSite = org.verifyOrgDomainSite.bind(org);
4335
4378
  target.disableOrgDomainSite = org.disableOrgDomainSite.bind(org);
4336
4379
  target.getBusinessProfile = org.getBusinessProfile.bind(org);
@@ -4344,6 +4387,8 @@ function bindOrgMethods(target, org) {
4344
4387
  target.syncVoiceTrustProducts = org.syncVoiceTrustProducts.bind(org);
4345
4388
  target.createOrganizationWorkspace = org.createOrganizationWorkspace.bind(org);
4346
4389
  target.getOrgBillingCustomer = org.getOrgBillingCustomer.bind(org);
4390
+ target.getA2PCampaignConfig = org.getA2PCampaignConfig.bind(org);
4391
+ target.updateA2PCampaignConfig = org.updateA2PCampaignConfig.bind(org);
4347
4392
  target.getOrgWorkspaceUsage = org.getOrgWorkspaceUsage.bind(org);
4348
4393
  }
4349
4394
  function bindPronunciationsMethods(target, pronunciations) {
@@ -4477,10 +4522,21 @@ function bindSupportRequestMethods(target, supportRequests) {
4477
4522
  target.reopenWorkspaceSupportRequest = supportRequests.reopenWorkspaceSupportRequest.bind(supportRequests);
4478
4523
  target.clickWorkspaceSupportRequestResource = supportRequests.clickWorkspaceSupportRequestResource.bind(supportRequests);
4479
4524
  }
4480
- var AbilitiesApi, AccessGrantsApi, AgentTasksApi, AgentsApi, AIModelsApi, ApiKeysApi, AppsApi, AssignmentsApi, VoiceApi, AuthApi, BuildersApi, CalendarsApi, CallsApi, CELApi, ChatsApi, ConfluenceApi, CustomToolkitsApi, DataTypesApi, DiscordBotsApi, SlackAppsApi, EventsApi, FeaturesApi, FhirConnectionsApi, InboundFaxStatus, DocumoFaxApi, HealthieApi, FilesApi, InboxesApi, InquiriesApi, AppConnectionsApi, McpServersApi, MemberImportValidationError, MembersApi, MondayIntegrationApi, NotificationRulesApi, OperatorApi, OrgApi, OAuthConnectionsApi, OAuthApi, PhoneNumbersApi, PronunciationsApi, PromptsApi, PersonasApi, QueriesApi, QualificationsApi, ReportsApi, SalesforceApi, ConnectionSyncApi, HubspotApi, SitesApi, SubscriptionsApi, SupportRequestsApi, CustomersApi, ResellersApi, SupervisorsApi, TasksApi, TemplatesApi, ToolkitsApi, JourneysApi, WorkflowsApi, WorkflowNotesApi, EventRuleEventType, DriverMode, WorkspaceInvitationsApi, WorkspacesApi, DashboardsApi, TeamsAppsApi, ExperimentsApi, PatientSyncConnectionsApi, ActivityTimelineApi, MotdApi, InterventionRequestsApi, MetricsApi, ProjectsApi, TrackedLinksApi, WORKSPACE_METHOD_NAMES, WORKSPACE_METHOD_NAME_SET, GravityRailClient, WIDGET_SLUGS, CHAT_TYPES, BUILTIN_ASSISTANT_CHAT_TYPES, MEMBER_AGENT_CHAT_TYPES;
4481
- var init_chunk_PUIYXJSZ = __esm({
4482
- "../sdk/dist/chunk-PUIYXJSZ.js"() {
4483
- init_chunk_PJFEGUHM();
4525
+ function getRevisionState(workflow, revision) {
4526
+ const draftIsLive = workflow.activeRevisionId === workflow.draftRevisionId;
4527
+ const hasUnpublishedChanges = workflow.draftModifiedAt != null;
4528
+ return {
4529
+ isActive: revision != null && revision.id === workflow.activeRevisionId,
4530
+ isDraft: revision != null && revision.id === workflow.draftRevisionId,
4531
+ draftIsLive,
4532
+ hasUnpublishedChanges,
4533
+ state: revision?.publishedAt != null ? "published" : "draft"
4534
+ };
4535
+ }
4536
+ var AbilitiesApi, AccessGrantsApi, AgentTasksApi, AgentsApi, AIModelsApi, ApiKeysApi, AppsApi, AssignmentsApi, VoiceApi, AuthApi, BuildersApi, CalendarsApi, CallsApi, CELApi, ChatsApi, ConfluenceApi, CustomToolkitsApi, DataTypesApi, DiscordBotsApi, SlackAppsApi, EventsApi, FeaturesApi, FhirConnectionsApi, InboundFaxStatus, DocumoFaxApi, HealthieApi, FilesApi, InboxesApi, InquiriesApi, AppConnectionsApi, McpServersApi, MemberImportValidationError, MembersApi, MondayIntegrationApi, NotificationRulesApi, OperatorApi, OrgApi, OAuthConnectionsApi, OAuthApi, PhoneNumbersApi, PronunciationsApi, PromptsApi, PersonasApi, QueriesApi, QualificationsApi, ReportsApi, SalesforceApi, ConnectionSyncApi, HubspotApi, SitesApi, SubscriptionsApi, SupportRequestsApi, CustomersApi, ResellersApi, SupervisorsApi, TasksApi, TemplatesApi, ToolkitsApi, JourneysApi, WorkflowsApi, WorkflowNotesApi, EventRuleObjectType, EventRuleEventType, EventRuleActionType, DriverMode, WorkspaceInvitationsApi, WorkspacesApi, DashboardsApi, DevicesApi, TeamsAppsApi, ExperimentsApi, PatientSyncConnectionsApi, ActivityTimelineApi, MotdApi, InterventionRequestsApi, MetricsApi, ProjectsApi, TrackedLinksApi, WORKSPACE_METHOD_NAMES, WORKSPACE_METHOD_NAME_SET, GravityRailClient, WIDGET_SLUGS, CHAT_TYPES, BUILTIN_ASSISTANT_CHAT_TYPES, MEMBER_AGENT_CHAT_TYPES;
4537
+ var init_chunk_WMA6YCAS = __esm({
4538
+ "../sdk/dist/chunk-WMA6YCAS.js"() {
4539
+ init_chunk_7OLBLLV7();
4484
4540
  init_libphonenumber_js();
4485
4541
  AbilitiesApi = class extends BaseApiClient {
4486
4542
  /**
@@ -4675,6 +4731,7 @@ var init_chunk_PUIYXJSZ = __esm({
4675
4731
  if (options.search) params.append("search", options.search);
4676
4732
  if (options.includeArchived)
4677
4733
  params.append("includeArchived", options.includeArchived.toString());
4734
+ if (options.owner) params.append("owner", options.owner);
4678
4735
  return this.fetch(
4679
4736
  `w/${wid}/agents${params.toString() ? `?${params.toString()}` : ""}`
4680
4737
  );
@@ -5042,33 +5099,36 @@ var init_chunk_PUIYXJSZ = __esm({
5042
5099
  });
5043
5100
  }
5044
5101
  /** Initiate SMS login by sending a verification code to the given phone number. */
5045
- async login(phoneNumber, wid, organizationUuid) {
5102
+ async login(phoneNumber, wid, organizationUuid, isSignUp = false) {
5046
5103
  const params = new URLSearchParams();
5047
5104
  if (wid) params.append("wid", wid);
5048
5105
  const body = { phoneNumber: sanitizePhoneForBackend(phoneNumber) };
5049
5106
  if (organizationUuid) body.organizationUuid = organizationUuid;
5107
+ if (isSignUp) body.isSignUp = true;
5050
5108
  return await this.fetch(`auth/login?${params.toString()}`, {
5051
5109
  method: "POST",
5052
5110
  body: JSON.stringify(body)
5053
5111
  });
5054
5112
  }
5055
5113
  /** Resend the SMS verification code to the given phone number. */
5056
- async resendCode(phoneNumber, organizationUuid) {
5114
+ async resendCode(phoneNumber, organizationUuid, isSignUp = false) {
5057
5115
  const body = { phoneNumber: sanitizePhoneForBackend(phoneNumber) };
5058
5116
  if (organizationUuid) body.organizationUuid = organizationUuid;
5117
+ if (isSignUp) body.isSignUp = true;
5059
5118
  return await this.fetch("auth/resend-code", {
5060
5119
  method: "POST",
5061
5120
  body: JSON.stringify(body)
5062
5121
  });
5063
5122
  }
5064
5123
  /** Verify an SMS code and complete authentication, handling 2FA if required. */
5065
- async verifyCodeWith2FA(phoneNumber, code, organizationUuid) {
5124
+ async verifyCodeWith2FA(phoneNumber, code, organizationUuid, isSignUp = false) {
5066
5125
  const verifyResponse = await this.fetch("auth/verify-with-2fa", {
5067
5126
  method: "POST",
5068
5127
  body: JSON.stringify({
5069
5128
  phoneNumber: sanitizePhoneForBackend(phoneNumber),
5070
5129
  code,
5071
- organizationUuid
5130
+ organizationUuid,
5131
+ isSignUp
5072
5132
  })
5073
5133
  });
5074
5134
  if (!verifyResponse.requiresTwoFactor && verifyResponse.token) {
@@ -5318,14 +5378,17 @@ var init_chunk_PUIYXJSZ = __esm({
5318
5378
  // ===== CREDENTIAL CHANGE METHODS =====
5319
5379
  /**
5320
5380
  * Request to change email or phone credential.
5321
- * Sends an OTP to the NEW credential to verify ownership.
5381
+ * Sends an OTP to the NEW credential to verify ownership. For phone, the
5382
+ * code can be delivered by SMS (default) or read aloud over a voice call
5383
+ * (`deliveryMethod: 'voice'`) so landlines can be verified too.
5322
5384
  */
5323
- async requestCredentialChange(credentialType, newValue) {
5385
+ async requestCredentialChange(credentialType, newValue, deliveryMethod = "sms") {
5324
5386
  return this.fetch("account/request-credential-change", {
5325
5387
  method: "POST",
5326
5388
  body: JSON.stringify({
5327
5389
  credential_type: credentialType,
5328
- new_value: newValue
5390
+ new_value: newValue,
5391
+ delivery_method: deliveryMethod
5329
5392
  })
5330
5393
  });
5331
5394
  }
@@ -5603,10 +5666,12 @@ var init_chunk_PUIYXJSZ = __esm({
5603
5666
  }
5604
5667
  /** Generate or regenerate an iCal feed token for a calendar. */
5605
5668
  async generateICalToken(wid, calendarId, regenerate = false) {
5606
- return this.fetch(`w/${wid}/calendars/${calendarId}/ical-token`, {
5607
- method: "POST",
5608
- body: JSON.stringify({ regenerate })
5609
- });
5669
+ const qs = new URLSearchParams();
5670
+ qs.set("regenerate", regenerate ? "true" : "false");
5671
+ return this.fetch(
5672
+ `w/${wid}/calendars/${calendarId}/ical-token?${qs.toString()}`,
5673
+ { method: "POST" }
5674
+ );
5610
5675
  }
5611
5676
  /** Revoke the iCal feed token for a calendar, disabling external feed access. */
5612
5677
  async revokeICalToken(wid, calendarId) {
@@ -6481,6 +6546,34 @@ var init_chunk_PUIYXJSZ = __esm({
6481
6546
  async getFieldIndexStatus(wid, dataTypeId, fieldSlug) {
6482
6547
  return this.fetch(`w/${wid}/data-types/${dataTypeId}/fields/${fieldSlug}/index-status`);
6483
6548
  }
6549
+ /**
6550
+ * Preview renaming a field's slug — read-only.
6551
+ *
6552
+ * A field slug is the key its answers are stored under, so a rename moves
6553
+ * stored data. This reports whether the new slug is allowed, how many records
6554
+ * would move, and every configured place still naming the old slug (CEL,
6555
+ * templates, sync maps) which this rename does NOT rewrite.
6556
+ */
6557
+ async previewRenameFieldSlug(wid, dataTypeId, fieldSlug, newSlug) {
6558
+ return this.fetch(
6559
+ `w/${wid}/data-types/${dataTypeId}/fields/${fieldSlug}/rename-preview`,
6560
+ { method: "POST", body: JSON.stringify({ newSlug }) }
6561
+ );
6562
+ }
6563
+ /**
6564
+ * Rename a field's slug, preserving stored answers.
6565
+ *
6566
+ * The schema change commits synchronously; the answers are moved by the
6567
+ * existing cleanup workflow, so this resolves on ACCEPTANCE, not completion.
6568
+ * Call {@link previewRenameFieldSlug} first — references naming the old slug
6569
+ * are reported, never rewritten.
6570
+ */
6571
+ async renameFieldSlug(wid, dataTypeId, fieldSlug, newSlug) {
6572
+ return this.fetch(
6573
+ `w/${wid}/data-types/${dataTypeId}/fields/${fieldSlug}/rename`,
6574
+ { method: "POST", body: JSON.stringify({ newSlug }) }
6575
+ );
6576
+ }
6484
6577
  /**
6485
6578
  * Validate if a data type slug is available.
6486
6579
  * Returns availability and a suggested alternative if taken.
@@ -6862,6 +6955,7 @@ var init_chunk_PUIYXJSZ = __esm({
6862
6955
  if (options.sortBy) params.append("sortBy", options.sortBy);
6863
6956
  if (options.sortOrder) params.append("sortOrder", options.sortOrder);
6864
6957
  if (options.owner) params.append("owner", options.owner);
6958
+ if (options.ownerId) params.append("ownerId", options.ownerId.toString());
6865
6959
  return this.fetch(
6866
6960
  `w/${wid}/routines${params.toString() ? `?${params.toString()}` : ""}`
6867
6961
  );
@@ -7732,12 +7826,37 @@ var init_chunk_PUIYXJSZ = __esm({
7732
7826
  });
7733
7827
  }
7734
7828
  /** Reply to an email from the inbox. */
7735
- async replyToEmail(wid, inboxId, emailId, content) {
7829
+ async replyToEmail(wid, inboxId, emailId, content, htmlContent) {
7830
+ const body = { content, htmlContent };
7736
7831
  return this.fetch(`w/${wid}/inboxes/${inboxId}/emails/${emailId}/reply`, {
7737
7832
  method: "POST",
7738
- body: JSON.stringify({ content })
7833
+ body: JSON.stringify(body)
7834
+ });
7835
+ }
7836
+ /** Compose and send a new email from an inbox. */
7837
+ async sendInboxEmail(wid, inboxId, body) {
7838
+ return this.fetch(`w/${wid}/inboxes/${inboxId}/emails`, {
7839
+ method: "POST",
7840
+ body: JSON.stringify(body)
7739
7841
  });
7740
7842
  }
7843
+ /**
7844
+ * Make a stored email's sender a Member of this workspace.
7845
+ *
7846
+ * The explicit alternative to auto-signup for inboxes that accept
7847
+ * non-member mail. Requires `members:write` AND `inboxes:read`. Responds
7848
+ * 409 when a Member already holds the address — gate the call on
7849
+ * `Email.senderIsMember` rather than discovering it from the error.
7850
+ */
7851
+ async addEmailSenderAsMember(wid, inboxId, emailId, body) {
7852
+ return this.fetch(
7853
+ `w/${wid}/inboxes/${inboxId}/emails/${emailId}/add-sender-as-member`,
7854
+ {
7855
+ method: "POST",
7856
+ body: JSON.stringify(body)
7857
+ }
7858
+ );
7859
+ }
7741
7860
  /** Convert an email to text, markdown, or PDF format. */
7742
7861
  async convertEmail(wid, inboxId, emailId, format = "pdf") {
7743
7862
  return this.fetch(
@@ -8055,6 +8174,54 @@ var init_chunk_PUIYXJSZ = __esm({
8055
8174
  async getCurrentMember(wid) {
8056
8175
  return this.fetch(`w/${wid}/me`);
8057
8176
  }
8177
+ /**
8178
+ * One row per workflow available to the member, with its voice state
8179
+ * (Custom Voice). Own-data-or-scope: a member reads their OWN rows with
8180
+ * no member scope; others need members:read.
8181
+ */
8182
+ async getMemberWorkflowVoices(wid, memberId) {
8183
+ return this.fetch(
8184
+ `w/${wid}/members/${memberId}/workflow-voices`
8185
+ );
8186
+ }
8187
+ /** Audition a voice the member can pick for this workflow (PCM16). */
8188
+ async previewMemberWorkflowVoice(wid, memberId, workflowId, body) {
8189
+ const response = await this.fetchRaw(
8190
+ `w/${wid}/members/${memberId}/workflow-voices/${workflowId}/preview`,
8191
+ { method: "POST", body: JSON.stringify(body) }
8192
+ );
8193
+ return response.arrayBuffer();
8194
+ }
8195
+ /** Set the member's preferred voice for one workflow (Custom Voice). */
8196
+ async setMemberWorkflowVoice(wid, memberId, workflowId, body) {
8197
+ return this.fetch(
8198
+ `w/${wid}/members/${memberId}/workflow-voices/${workflowId}`,
8199
+ { method: "PUT", body: JSON.stringify(body) }
8200
+ );
8201
+ }
8202
+ /** Clear the member's preferred voice for one workflow (Custom Voice). */
8203
+ async clearMemberWorkflowVoice(wid, memberId, workflowId) {
8204
+ return this.fetch(
8205
+ `w/${wid}/members/${memberId}/workflow-voices/${workflowId}`,
8206
+ { method: "DELETE" }
8207
+ );
8208
+ }
8209
+ /**
8210
+ * Member-scoped DataTypes the current member may use (self-access — works
8211
+ * on a Site session, which can hold no records scope by construction).
8212
+ */
8213
+ async getMyDataTypes(wid) {
8214
+ return this.fetch(`w/${wid}/me/data-types`);
8215
+ }
8216
+ /** The current member's own records for one DataType (self-access). */
8217
+ async getMyRecords(wid, dataTypeId, options) {
8218
+ const params = new URLSearchParams({ data_type_id: String(dataTypeId) });
8219
+ if (options?.page) params.set("page", String(options.page));
8220
+ if (options?.pageSize) params.set("page_size", String(options.pageSize));
8221
+ return this.fetch(
8222
+ `w/${wid}/me/records?${params.toString()}`
8223
+ );
8224
+ }
8058
8225
  /**
8059
8226
  * Get all members owned by the current member in this workspace.
8060
8227
  * Returns the authenticated member plus any members they own (via owner_id).
@@ -8910,7 +9077,11 @@ var init_chunk_PUIYXJSZ = __esm({
8910
9077
  });
8911
9078
  }
8912
9079
  /**
8913
- * Get the billing customer UUID for an organization.
9080
+ * Get the billing customer and this organization's billable subscription.
9081
+ *
9082
+ * `subscriptionId` is the org-scoped row — never pick the customer's
9083
+ * newest subscription from the list endpoint. One customer can bill many
9084
+ * organizations.
8914
9085
  */
8915
9086
  async getOrgBillingCustomer(orgIdOrUuid) {
8916
9087
  return this.fetch(`o/${orgIdOrUuid}/billing-customer`);
@@ -9250,6 +9421,17 @@ var init_chunk_PUIYXJSZ = __esm({
9250
9421
  async getOrgDomainSite(orgIdOrUuid, domainUuid) {
9251
9422
  return this.fetch(`o/${orgIdOrUuid}/domains/${domainUuid}/site`);
9252
9423
  }
9424
+ /**
9425
+ * Pre-enable DNS check: is the site CNAME resolving to the routing
9426
+ * endpoint yet? Pure DNS — consumes no enable budget.
9427
+ */
9428
+ async preflightOrgDomainSite(orgIdOrUuid, domainUuid) {
9429
+ return this.fetch(
9430
+ `o/${orgIdOrUuid}/domains/${domainUuid}/site/preflight`,
9431
+ // Empty JSON body: the route requires one as a CSRF barrier.
9432
+ { method: "POST", body: JSON.stringify({}) }
9433
+ );
9434
+ }
9253
9435
  /**
9254
9436
  * Verify the site CNAME points at the Gravity Rail sites domain.
9255
9437
  */
@@ -9293,10 +9475,10 @@ var init_chunk_PUIYXJSZ = __esm({
9293
9475
  * is required — brands register per legal entity (Customer Profile);
9294
9476
  * there is no primary-entity fallback.
9295
9477
  */
9296
- async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandDescription, brandUuid = null) {
9478
+ async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandUuid = null) {
9297
9479
  return this.fetch(`o/${orgUuid}/phone-numbers/a2p/start`, {
9298
9480
  method: "POST",
9299
- body: JSON.stringify({ legalEntityUuid, brandName, brandDescription, brandUuid })
9481
+ body: JSON.stringify({ legalEntityUuid, brandName, brandUuid })
9300
9482
  });
9301
9483
  }
9302
9484
  /**
@@ -9400,7 +9582,12 @@ var init_chunk_PUIYXJSZ = __esm({
9400
9582
  * Reconcile trust product state against Twilio (discovery + status
9401
9583
  * refresh). Returns the refreshed products plus which product keys were
9402
9584
  * newly discovered. Responds 409 when another Trust Hub operation holds
9403
- * the org lock — retry shortly rather than queueing.
9585
+ * this legal entity's lock, failing fast rather than queueing.
9586
+ *
9587
+ * No `Retry-After` is sent, deliberately (#23601): holders range from a
9588
+ * sub-second JSONB write to a multi-minute Twilio sequence, so no interval
9589
+ * would be honest. Back off on your own schedule, and re-read before
9590
+ * retrying — the operation you collided with may have committed SIDs.
9404
9591
  */
9405
9592
  async syncVoiceTrustProducts(orgUuid, legalEntityUuid) {
9406
9593
  return this.fetch(
@@ -9433,6 +9620,16 @@ var init_chunk_PUIYXJSZ = __esm({
9433
9620
  async listA2PBrands(orgUuid) {
9434
9621
  return this.fetch(`o/${orgUuid}/a2p-brands`);
9435
9622
  }
9623
+ /**
9624
+ * Live per-brand campaign use-case eligibility. Approved brands only — a
9625
+ * brand still under TCR review comes back as a structured 412 the picker
9626
+ * renders as the supported-list fallback, not an error.
9627
+ */
9628
+ async getA2PBrandUseCases(orgUuid, brandUuid) {
9629
+ return this.fetch(
9630
+ `o/${orgUuid}/a2p-brands/${brandUuid}/use-cases`
9631
+ );
9632
+ }
9436
9633
  /**
9437
9634
  * Fetch a brand's resolved A2P campaign config. The response carries both the
9438
9635
  * raw `overrides` and the `resolved` payload (defaults + overrides) the editor
@@ -10234,6 +10431,26 @@ var init_chunk_PUIYXJSZ = __esm({
10234
10431
  }
10235
10432
  );
10236
10433
  }
10434
+ /**
10435
+ * Pull linked members' Salesforce records now, ignoring the sync cursor.
10436
+ *
10437
+ * The inbound poll only ever returns records modified after the stored
10438
+ * cursor, so a member linked to a record that has not changed since is
10439
+ * unreachable by any poll and its link never receives a field — silently.
10440
+ * This fetches the records by Id and leaves the cursor untouched, so it is
10441
+ * safe to call at any time.
10442
+ *
10443
+ * Omit `memberIds` to resync every linked member (capped server-side).
10444
+ */
10445
+ async resyncSalesforceLinkedMembers(wid, data = {}) {
10446
+ return this.fetch(
10447
+ `w/${wid}/app-connections/salesforce/sync/resync-members`,
10448
+ {
10449
+ method: "POST",
10450
+ body: JSON.stringify(data)
10451
+ }
10452
+ );
10453
+ }
10237
10454
  /**
10238
10455
  * List the sObjects available in the connected org.
10239
10456
  *
@@ -10798,6 +11015,62 @@ var init_chunk_PUIYXJSZ = __esm({
10798
11015
  headers: { "Content-Type": "application/json" }
10799
11016
  });
10800
11017
  }
11018
+ /** Purchase a role-granting membership in an existing workspace. */
11019
+ async createMemberCheckoutSession(productId, planPeriod = "month", options = {}) {
11020
+ return this.fetch(`subscriptions/member-checkout-session`, {
11021
+ method: "POST",
11022
+ credentials: "include",
11023
+ body: JSON.stringify({ productId, planPeriod, ...options }),
11024
+ headers: { "Content-Type": "application/json" }
11025
+ });
11026
+ }
11027
+ async getMemberSubscriptionStatus(siteUuidOrOptions) {
11028
+ const options = typeof siteUuidOrOptions === "string" ? { siteUuid: siteUuidOrOptions } : siteUuidOrOptions;
11029
+ const params = new URLSearchParams();
11030
+ if (options.siteUuid) params.set("siteUuid", options.siteUuid);
11031
+ if (options.workspaceUuid) params.set("workspaceUuid", options.workspaceUuid);
11032
+ return this.fetch(
11033
+ `subscriptions/member-subscription?${params.toString()}`,
11034
+ { credentials: "include" }
11035
+ );
11036
+ }
11037
+ /** Open Stripe's hosted membership-management portal. */
11038
+ async createMemberPortalSession(options) {
11039
+ return this.fetch(`subscriptions/member-portal-session`, {
11040
+ method: "POST",
11041
+ credentials: "include",
11042
+ body: JSON.stringify(options),
11043
+ headers: { "Content-Type": "application/json" }
11044
+ });
11045
+ }
11046
+ /**
11047
+ * Purchase one physical companion device (one-time payment; Stripe collects
11048
+ * the shipping address in hosted Checkout).
11049
+ */
11050
+ async createDeviceOrderCheckoutSession(productId, options = {}) {
11051
+ return this.fetch(`device-orders/checkout-session`, {
11052
+ method: "POST",
11053
+ credentials: "include",
11054
+ body: JSON.stringify({ productId, ...options }),
11055
+ headers: { "Content-Type": "application/json" }
11056
+ });
11057
+ }
11058
+ /** List the authenticated Account's own device orders in one workspace. */
11059
+ async listDeviceOrders(options) {
11060
+ const params = new URLSearchParams();
11061
+ if (options.siteUuid) params.set("siteUuid", options.siteUuid);
11062
+ if (options.workspaceUuid) params.set("workspaceUuid", options.workspaceUuid);
11063
+ return this.fetch(`device-orders?${params.toString()}`, {
11064
+ credentials: "include"
11065
+ });
11066
+ }
11067
+ /** Read one authenticated, server-owned checkout attempt. */
11068
+ async getCheckoutAttemptStatus(attemptId) {
11069
+ return this.fetch(
11070
+ `subscriptions/checkout-attempts/${encodeURIComponent(attemptId)}`,
11071
+ { credentials: "include" }
11072
+ );
11073
+ }
10801
11074
  /**
10802
11075
  * List self-service, purchasable organization plans or add-ons. Only products
10803
11076
  * with a Stripe Price are returned; zero-amount plans are allowed.
@@ -10976,6 +11249,9 @@ var init_chunk_PUIYXJSZ = __esm({
10976
11249
  if (opts?.status) params.set("status", opts.status);
10977
11250
  if (opts?.page !== void 0) params.set("page", String(opts.page));
10978
11251
  if (opts?.pageSize !== void 0) params.set("page_size", String(opts.pageSize));
11252
+ if (opts?.subscriptionId !== void 0) {
11253
+ params.set("subscription_id", String(opts.subscriptionId));
11254
+ }
10979
11255
  const qs = params.toString();
10980
11256
  return this.fetch(`customers/${uuid}/subscriptions${qs ? "?" + qs : ""}`);
10981
11257
  }
@@ -11852,31 +12128,47 @@ var init_chunk_PUIYXJSZ = __esm({
11852
12128
  }
11853
12129
  };
11854
12130
  WorkflowNotesApi = class extends BaseApiClient {
11855
- /** List all notes for a specific workflow. */
11856
- async getWorkflowNotes(wid, workflowId) {
11857
- return this.fetch(`w/${wid}/workflows/${workflowId}/notes`);
12131
+ /** List notes for a workflow root (draft unless `workflowRevisionId` is set). */
12132
+ async getWorkflowNotes(wid, workflowId, query) {
12133
+ return this.fetch(notesPath(wid, workflowId, void 0, query));
11858
12134
  }
11859
- /** Create a new note on a workflow. */
11860
- async createWorkflowNote(wid, workflowId, data) {
11861
- return this.fetch(`w/${wid}/workflows/${workflowId}/notes`, {
12135
+ /** Create a new note on a workflow's draft (or a pinned draft revision). */
12136
+ async createWorkflowNote(wid, workflowId, data, query) {
12137
+ return this.fetch(notesPath(wid, workflowId, void 0, query), {
11862
12138
  method: "POST",
11863
12139
  body: JSON.stringify(data)
11864
12140
  });
11865
12141
  }
11866
12142
  /** Update an existing workflow note with partial data. */
11867
- async updateWorkflowNote(wid, workflowId, noteId, data) {
11868
- return this.fetch(`w/${wid}/workflows/${workflowId}/notes/${noteId}`, {
12143
+ async updateWorkflowNote(wid, workflowId, noteId, data, query) {
12144
+ return this.fetch(notesPath(wid, workflowId, noteId, query), {
11869
12145
  method: "PUT",
11870
12146
  body: JSON.stringify(data)
11871
12147
  });
11872
12148
  }
11873
12149
  /** Delete a workflow note by ID. */
11874
- async deleteWorkflowNote(wid, workflowId, noteId) {
11875
- return this.fetch(`w/${wid}/workflows/${workflowId}/notes/${noteId}`, {
12150
+ async deleteWorkflowNote(wid, workflowId, noteId, query) {
12151
+ return this.fetch(notesPath(wid, workflowId, noteId, query), {
11876
12152
  method: "DELETE"
11877
12153
  });
11878
12154
  }
11879
12155
  };
12156
+ EventRuleObjectType = /* @__PURE__ */ ((EventRuleObjectType2) => {
12157
+ EventRuleObjectType2["TASK"] = "task";
12158
+ EventRuleObjectType2["WORKSPACE"] = "workspace";
12159
+ EventRuleObjectType2["CHAT"] = "chat";
12160
+ EventRuleObjectType2["DATA_RECORD"] = "data_record";
12161
+ EventRuleObjectType2["MEMBER"] = "member";
12162
+ EventRuleObjectType2["ROUTINE"] = "routine";
12163
+ EventRuleObjectType2["WORKFLOW"] = "workflow";
12164
+ EventRuleObjectType2["CALENDAR"] = "calendar";
12165
+ EventRuleObjectType2["CALENDAR_EVENT_TYPE"] = "calendar_event_type";
12166
+ EventRuleObjectType2["JOURNEY"] = "journey";
12167
+ EventRuleObjectType2["CALL"] = "call";
12168
+ EventRuleObjectType2["VOICEMAIL"] = "voicemail";
12169
+ EventRuleObjectType2["FAX"] = "fax";
12170
+ return EventRuleObjectType2;
12171
+ })(EventRuleObjectType || {});
11880
12172
  EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
11881
12173
  EventRuleEventType2["TASK_EXECUTE"] = "task:execute";
11882
12174
  EventRuleEventType2["TASK_ENTER"] = "task:enter";
@@ -11900,6 +12192,7 @@ var init_chunk_PUIYXJSZ = __esm({
11900
12192
  EventRuleEventType2["CALENDAR_EVENT_CANCELLED"] = "calendar_event:cancelled";
11901
12193
  EventRuleEventType2["CALENDAR_EVENT_STARTING"] = "calendar_event:starting";
11902
12194
  EventRuleEventType2["CALENDAR_EVENT_ENDED"] = "calendar_event:ended";
12195
+ EventRuleEventType2["CALENDAR_EVENT_NO_SHOW"] = "calendar_event:no_show";
11903
12196
  EventRuleEventType2["CONNECTOR_EVENT"] = "connector:event";
11904
12197
  EventRuleEventType2["ASSIGNMENT_CONCLUDED"] = "assignment:concluded";
11905
12198
  EventRuleEventType2["JOURNEY_STEP_EXECUTE"] = "journey_step:execute";
@@ -11912,6 +12205,38 @@ var init_chunk_PUIYXJSZ = __esm({
11912
12205
  EventRuleEventType2["FAX_RECEIVED"] = "fax:received";
11913
12206
  return EventRuleEventType2;
11914
12207
  })(EventRuleEventType || {});
12208
+ EventRuleActionType = /* @__PURE__ */ ((EventRuleActionType2) => {
12209
+ EventRuleActionType2["MEMBER_NOTIFY_ACTION"] = "member:notify";
12210
+ EventRuleActionType2["MEMBER_LABEL_ACTION"] = "member:label";
12211
+ EventRuleActionType2["MEMBER_UPSERT"] = "member:upsert";
12212
+ EventRuleActionType2["SEND_WEBHOOK"] = "webhook:send";
12213
+ EventRuleActionType2["SWITCH_TASK_ACTION"] = "task:switch";
12214
+ EventRuleActionType2["ASSISTANT_MESSAGE"] = "assistant:message";
12215
+ EventRuleActionType2["FORM_FIELD_UPDATE"] = "form:update_field";
12216
+ EventRuleActionType2["CEL_MUTATE"] = "record:cel_mutate";
12217
+ EventRuleActionType2["RECORD_COPY_FIELDS"] = "record:copy_fields";
12218
+ EventRuleActionType2["RECORD_UPSERT_LINKED"] = "record:upsert_linked";
12219
+ EventRuleActionType2["RECORD_VERIFY_FIELDS"] = "record:verify_fields";
12220
+ EventRuleActionType2["MESSAGE_VALIDATION"] = "message:validation";
12221
+ EventRuleActionType2["CHAT_CREATE"] = "chat:create";
12222
+ EventRuleActionType2["CHAT_CONTINUE"] = "chat:continue";
12223
+ EventRuleActionType2["CHAT_PAUSE"] = "chat:pause";
12224
+ EventRuleActionType2["CHAT_SUMMARIZE"] = "chat:summarize";
12225
+ EventRuleActionType2["EMAIL_SEND"] = "email:send";
12226
+ EventRuleActionType2["INVOKE_CUSTOM_TOOL"] = "custom_tool:invoke";
12227
+ EventRuleActionType2["MONDAY_UPSERT_ITEM"] = "monday:upsert_item";
12228
+ EventRuleActionType2["MONDAY_REFRESH"] = "monday:refresh";
12229
+ EventRuleActionType2["ASSIGNMENT_CONCLUDE"] = "assignment:conclude";
12230
+ EventRuleActionType2["JOURNEY_ENROLL"] = "journey:enroll";
12231
+ EventRuleActionType2["SMS_SEND"] = "sms:send";
12232
+ EventRuleActionType2["WHATSAPP_SEND"] = "whatsapp:send";
12233
+ EventRuleActionType2["PHONE_CALL"] = "phone:call";
12234
+ EventRuleActionType2["CONNECTION_SYNC"] = "connection:sync";
12235
+ EventRuleActionType2["CONNECTOR_OPERATION"] = "connector:operation";
12236
+ EventRuleActionType2["ECW_REFRESH_MEMBER_ENCOUNTERS"] = "ecw:refresh_member_encounters";
12237
+ EventRuleActionType2["PLAY_AUDIO"] = "audio:play";
12238
+ return EventRuleActionType2;
12239
+ })(EventRuleActionType || {});
11915
12240
  DriverMode = /* @__PURE__ */ ((DriverMode2) => {
11916
12241
  DriverMode2["AUTO"] = "auto";
11917
12242
  DriverMode2["HUMAN"] = "human";
@@ -12305,6 +12630,13 @@ var init_chunk_PUIYXJSZ = __esm({
12305
12630
  signal: options?.signal
12306
12631
  });
12307
12632
  }
12633
+ /** Provision the one-month direct organization plan carried by a promo code. */
12634
+ async startPromoPlanTrial(request) {
12635
+ return this.fetch("promo-codes/plan-trial", {
12636
+ method: "POST",
12637
+ body: JSON.stringify(request)
12638
+ });
12639
+ }
12308
12640
  /** Get a publicly accessible product by ID. */
12309
12641
  async getPublicProduct(id) {
12310
12642
  return this.fetch(`products/${id}`);
@@ -12355,15 +12687,47 @@ var init_chunk_PUIYXJSZ = __esm({
12355
12687
  })
12356
12688
  });
12357
12689
  }
12358
- /** Import workspace configuration from exported data. */
12359
- async importWorkspace(wid, exportData, importMappings, createNew) {
12690
+ /** Download a workspace export ZIP (``export.json`` + file blobs). */
12691
+ async exportWorkspaceZip(wid, workflowId, scope, exclude) {
12692
+ const searchParams = new URLSearchParams();
12693
+ if (workflowId !== void 0) searchParams.set("workflow_id", String(workflowId));
12694
+ if (scope !== void 0) searchParams.set("scope", scope);
12695
+ if (exclude !== void 0) searchParams.set("exclude", exclude);
12696
+ const qs = searchParams.toString();
12697
+ const response = await this.fetchRaw(`w/${wid}/export.zip${qs ? `?${qs}` : ""}`);
12698
+ return response.arrayBuffer();
12699
+ }
12700
+ /** Import workspace configuration from exported JSON, or from a ZIP archive.
12701
+ * Pass ``archive`` (the ZIP from ``exportWorkspaceZip``) to restore file
12702
+ * contents. ``exportData`` may be omitted when the ZIP contains it.
12703
+ */
12704
+ async importWorkspace(wid, exportData, importMappings, createNew, archive) {
12705
+ const payload = {
12706
+ importMappings,
12707
+ createNew
12708
+ };
12709
+ if (exportData) {
12710
+ payload.exportData = exportData;
12711
+ }
12712
+ if (archive) {
12713
+ const form = new FormData();
12714
+ form.append(
12715
+ "request",
12716
+ new Blob([JSON.stringify(payload)], { type: "application/json" }),
12717
+ "import.json"
12718
+ );
12719
+ form.append("archive", archive, "workspace-export.zip");
12720
+ return this.fetch(`w/${wid}/import.zip`, {
12721
+ method: "POST",
12722
+ body: form
12723
+ });
12724
+ }
12725
+ if (!exportData) {
12726
+ throw new Error("exportData is required for JSON import");
12727
+ }
12360
12728
  return this.fetch(`w/${wid}/import`, {
12361
12729
  method: "POST",
12362
- body: JSON.stringify({
12363
- exportData,
12364
- importMappings,
12365
- createNew
12366
- })
12730
+ body: JSON.stringify(payload)
12367
12731
  });
12368
12732
  }
12369
12733
  /** Preview a workspace import using the legacy untyped interface. */
@@ -12405,7 +12769,6 @@ var init_chunk_PUIYXJSZ = __esm({
12405
12769
  * Get billing dashboard data for a workspace.
12406
12770
  *
12407
12771
  * This endpoint is available to organization owners (with org:info scope).
12408
- * Superusers should use the admin endpoint via getWorkspaceUsageDashboard.
12409
12772
  *
12410
12773
  * Returns comprehensive billing information including:
12411
12774
  * - Subscription status and plan details
@@ -12486,6 +12849,42 @@ var init_chunk_PUIYXJSZ = __esm({
12486
12849
  );
12487
12850
  }
12488
12851
  };
12852
+ DevicesApi = class extends BaseApiClient {
12853
+ /** List devices visible to the caller (own devices, or all with devices:admin). */
12854
+ async getDevices(wid, options = {}) {
12855
+ const qs = options.mine ? "?mine=true" : "";
12856
+ return this.fetch(`w/${wid}/devices${qs}`);
12857
+ }
12858
+ /** Fetch one device by UUID. Non-owners without devices:admin receive 404. */
12859
+ async getDevice(wid, deviceUuid) {
12860
+ return this.fetch(`w/${wid}/devices/${deviceUuid}`);
12861
+ }
12862
+ /** List shippable companion-device products (Lantern, later SKUs). */
12863
+ async getDeviceKinds(wid) {
12864
+ return this.fetch(`w/${wid}/devices/kinds`);
12865
+ }
12866
+ /** Claim a pairing code shown on a companion device. Requires devices:write. */
12867
+ async claimDevicePairing(wid, body) {
12868
+ return this.fetch(`w/${wid}/devices/pairing/claim`, {
12869
+ method: "POST",
12870
+ body: JSON.stringify(body)
12871
+ });
12872
+ }
12873
+ /** Update display name and/or LAN capability flags. Requires devices:write. */
12874
+ async updateDevice(wid, deviceUuid, body) {
12875
+ return this.fetch(`w/${wid}/devices/${deviceUuid}`, {
12876
+ method: "PATCH",
12877
+ body: JSON.stringify(body)
12878
+ });
12879
+ }
12880
+ /** Revoke a device credential. The device must pair again. Requires devices:write. */
12881
+ async revokeDevice(wid, deviceUuid) {
12882
+ return this.fetch(`w/${wid}/devices/${deviceUuid}/revoke`, {
12883
+ method: "POST",
12884
+ body: JSON.stringify({})
12885
+ });
12886
+ }
12887
+ };
12489
12888
  TeamsAppsApi = class extends BaseApiClient {
12490
12889
  /**
12491
12890
  * List all Teams apps configured for a workspace.
@@ -12774,6 +13173,20 @@ var init_chunk_PUIYXJSZ = __esm({
12774
13173
  `w/${wid}/projects/${encodeURIComponent(slug)}/plans/${encodeURIComponent(plan)}`
12775
13174
  );
12776
13175
  }
13176
+ /** Typed update of a project README; absent fields are untouched. */
13177
+ async updateProject(wid, slug, update) {
13178
+ return this.fetch(`w/${wid}/projects/${encodeURIComponent(slug)}`, {
13179
+ method: "PATCH",
13180
+ body: JSON.stringify(update)
13181
+ });
13182
+ }
13183
+ /** Typed update of a plan README; absent fields are untouched. */
13184
+ async updatePlan(wid, slug, plan, update) {
13185
+ return this.fetch(
13186
+ `w/${wid}/projects/${encodeURIComponent(slug)}/plans/${encodeURIComponent(plan)}`,
13187
+ { method: "PATCH", body: JSON.stringify(update) }
13188
+ );
13189
+ }
12777
13190
  };
12778
13191
  TrackedLinksApi = class extends BaseApiClient {
12779
13192
  /** Header counters plus whether shortening is configured and enabled. */
@@ -12877,6 +13290,7 @@ var init_chunk_PUIYXJSZ = __esm({
12877
13290
  };
12878
13291
  WORKSPACE_METHOD_NAMES = [
12879
13292
  "activateWorkflowRevision",
13293
+ "addEmailSenderAsMember",
12880
13294
  "addGroupMember",
12881
13295
  "advanceStep",
12882
13296
  "approveWorkspaceInvitation",
@@ -12907,6 +13321,7 @@ var init_chunk_PUIYXJSZ = __esm({
12907
13321
  "checkAvailability",
12908
13322
  "checkSiteDomainAvailability",
12909
13323
  "checkSiteSlugAvailability",
13324
+ "claimDevicePairing",
12910
13325
  "clearConnectionMemberExclusion",
12911
13326
  "clearMemberSwitch",
12912
13327
  "clearTrackedLinkDestinations",
@@ -13094,6 +13509,7 @@ var init_chunk_PUIYXJSZ = __esm({
13094
13509
  "exportMembers",
13095
13510
  "exportPhoneNumberOutboundAnalyticsCsv",
13096
13511
  "exportWorkspace",
13512
+ "exportWorkspaceZip",
13097
13513
  "fetchVoicemailAudio",
13098
13514
  "fhirBackfillEncounterSync",
13099
13515
  "fhirCheckPatientLinks",
@@ -13190,6 +13606,11 @@ var init_chunk_PUIYXJSZ = __esm({
13190
13606
  "getConnectionSyncConfig",
13191
13607
  "getCredentialUpdateInvites",
13192
13608
  "getCurrentMember",
13609
+ "clearMemberWorkflowVoice",
13610
+ "getMemberWorkflowVoices",
13611
+ "getMyDataTypes",
13612
+ "getMyRecords",
13613
+ "setMemberWorkflowVoice",
13193
13614
  "getCurrentSmsChat",
13194
13615
  "getCustomToolkit",
13195
13616
  "getCustomToolkits",
@@ -13207,6 +13628,9 @@ var init_chunk_PUIYXJSZ = __esm({
13207
13628
  "getDataTypeByUuid",
13208
13629
  "getDataTypeBySlug",
13209
13630
  "getDataTypes",
13631
+ "getDevice",
13632
+ "getDeviceKinds",
13633
+ "getDevices",
13210
13634
  "getDiscordBot",
13211
13635
  "getDiscordBotAccounts",
13212
13636
  "getDiscordBotByUuid",
@@ -13360,6 +13784,7 @@ var init_chunk_PUIYXJSZ = __esm({
13360
13784
  "getPublicFolderFiles",
13361
13785
  "getPublicProducts",
13362
13786
  "previewPromoCode",
13787
+ "startPromoPlanTrial",
13363
13788
  "getQualification",
13364
13789
  "getQualifications",
13365
13790
  "getRecordingInfo",
@@ -13507,6 +13932,8 @@ var init_chunk_PUIYXJSZ = __esm({
13507
13932
  "markNotificationAsRead",
13508
13933
  "mergeMemberRoles",
13509
13934
  "previewImportMembers",
13935
+ "previewMemberWorkflowVoice",
13936
+ "previewRenameFieldSlug",
13510
13937
  "previewImportWorkspace",
13511
13938
  "previewRoutineWorkflowAccess",
13512
13939
  "previewSchedule",
@@ -13519,6 +13946,7 @@ var init_chunk_PUIYXJSZ = __esm({
13519
13946
  "rateMessage",
13520
13947
  "getChatFeedback",
13521
13948
  "reenrollMember",
13949
+ "renameFieldSlug",
13522
13950
  "registerLinkedRolesMetadata",
13523
13951
  "registerPushSubscription",
13524
13952
  "reindexFolder",
@@ -13538,6 +13966,7 @@ var init_chunk_PUIYXJSZ = __esm({
13538
13966
  "restoreFileVersion",
13539
13967
  "revokeAccessGrant",
13540
13968
  "revokeApiKey",
13969
+ "revokeDevice",
13541
13970
  "revokeICalToken",
13542
13971
  "runRoutine",
13543
13972
  "searchEventRules",
@@ -13547,6 +13976,7 @@ var init_chunk_PUIYXJSZ = __esm({
13547
13976
  "selectCurrentAssignmentTask",
13548
13977
  "sendAssistantMessage",
13549
13978
  "sendChatMessage",
13979
+ "sendInboxEmail",
13550
13980
  "sendOperatorMessage",
13551
13981
  "siteGoogleOAuthInitiate",
13552
13982
  "siteSendEmailCode",
@@ -13608,6 +14038,7 @@ var init_chunk_PUIYXJSZ = __esm({
13608
14038
  "updateDataRecord",
13609
14039
  "updateDataRecordFilter",
13610
14040
  "updateDataType",
14041
+ "updateDevice",
13611
14042
  "updateDiscordBot",
13612
14043
  "updateEventAttendee",
13613
14044
  "updateEventRule",
@@ -13641,9 +14072,12 @@ var init_chunk_PUIYXJSZ = __esm({
13641
14072
  "updatePersona",
13642
14073
  "updatePhoneNumber",
13643
14074
  "updatePlatformApp",
14075
+ "updatePlan",
13644
14076
  "updateProduct",
14077
+ "updateProject",
13645
14078
  "updateRoutine",
13646
14079
  "updateSalesforceSyncConfig",
14080
+ "resyncSalesforceLinkedMembers",
13647
14081
  "updateScenario",
13648
14082
  "updateSite",
13649
14083
  "updateSiteSharing",
@@ -13775,6 +14209,8 @@ var init_chunk_PUIYXJSZ = __esm({
13775
14209
  getDataRecordChanges;
13776
14210
  upsertDataRecord;
13777
14211
  toggleFieldIndex;
14212
+ previewRenameFieldSlug;
14213
+ renameFieldSlug;
13778
14214
  getFieldIndexStatus;
13779
14215
  validateDataTypeSlug;
13780
14216
  getMemberRecordCounts;
@@ -13786,6 +14222,12 @@ var init_chunk_PUIYXJSZ = __esm({
13786
14222
  getDataRecordFilterCount;
13787
14223
  // Members API
13788
14224
  getCurrentMember;
14225
+ getMyDataTypes;
14226
+ getMyRecords;
14227
+ getMemberWorkflowVoices;
14228
+ previewMemberWorkflowVoice;
14229
+ setMemberWorkflowVoice;
14230
+ clearMemberWorkflowVoice;
13789
14231
  getOwnedMembers;
13790
14232
  switchMember;
13791
14233
  clearMemberSwitch;
@@ -14020,11 +14462,13 @@ var init_chunk_PUIYXJSZ = __esm({
14020
14462
  getWorkspaceProduct;
14021
14463
  getPublicProducts;
14022
14464
  previewPromoCode;
14465
+ startPromoPlanTrial;
14023
14466
  getPublicProduct;
14024
14467
  createProduct;
14025
14468
  updateProduct;
14026
14469
  deleteProduct;
14027
14470
  exportWorkspace;
14471
+ exportWorkspaceZip;
14028
14472
  previewWorkspaceImport;
14029
14473
  importWorkspace;
14030
14474
  previewImportWorkspace;
@@ -14051,6 +14495,7 @@ var init_chunk_PUIYXJSZ = __esm({
14051
14495
  disableOrgDomainEmail;
14052
14496
  enableOrgDomainSite;
14053
14497
  getOrgDomainSite;
14498
+ preflightOrgDomainSite;
14054
14499
  verifyOrgDomainSite;
14055
14500
  disableOrgDomainSite;
14056
14501
  getBusinessProfile;
@@ -14064,6 +14509,8 @@ var init_chunk_PUIYXJSZ = __esm({
14064
14509
  syncVoiceTrustProducts;
14065
14510
  createOrganizationWorkspace;
14066
14511
  getOrgBillingCustomer;
14512
+ getA2PCampaignConfig;
14513
+ updateA2PCampaignConfig;
14067
14514
  getOrgWorkspaceUsage;
14068
14515
  getVapidPublicKey;
14069
14516
  registerPushSubscription;
@@ -14187,6 +14634,8 @@ var init_chunk_PUIYXJSZ = __esm({
14187
14634
  getProjects;
14188
14635
  getProject;
14189
14636
  getPlan;
14637
+ updateProject;
14638
+ updatePlan;
14190
14639
  resolveFilePath;
14191
14640
  downloadFilesZip;
14192
14641
  createFile;
@@ -14357,12 +14806,14 @@ var init_chunk_PUIYXJSZ = __esm({
14357
14806
  getInboxEmail;
14358
14807
  markEmailAsRead;
14359
14808
  markEmailAsUnread;
14809
+ addEmailSenderAsMember;
14360
14810
  convertEmail;
14361
14811
  downloadEmailAttachment;
14362
14812
  getInboxThreads;
14363
14813
  getThreadEmails;
14364
14814
  getChatEmails;
14365
14815
  replyToEmail;
14816
+ sendInboxEmail;
14366
14817
  getNotificationRules;
14367
14818
  createNotificationRule;
14368
14819
  updateNotificationRule;
@@ -14405,6 +14856,13 @@ var init_chunk_PUIYXJSZ = __esm({
14405
14856
  getFeatureRegistry;
14406
14857
  getPublicFeatureRegistry;
14407
14858
  getFeatureBySlug;
14859
+ // Devices API
14860
+ getDevices;
14861
+ getDevice;
14862
+ getDeviceKinds;
14863
+ claimDevicePairing;
14864
+ updateDevice;
14865
+ revokeDevice;
14408
14866
  // Billing API
14409
14867
  getApiKeys;
14410
14868
  createApiKey;
@@ -14420,6 +14878,12 @@ var init_chunk_PUIYXJSZ = __esm({
14420
14878
  addWorkspaceToSubscription;
14421
14879
  purchaseCredits;
14422
14880
  createCheckoutSession;
14881
+ createMemberCheckoutSession;
14882
+ createMemberPortalSession;
14883
+ getMemberSubscriptionStatus;
14884
+ createDeviceOrderCheckoutSession;
14885
+ listDeviceOrders;
14886
+ getCheckoutAttemptStatus;
14423
14887
  listSelfServeProducts;
14424
14888
  getAIUsageReport;
14425
14889
  getSMSUsageReport;
@@ -14599,6 +15063,7 @@ var init_chunk_PUIYXJSZ = __esm({
14599
15063
  getLinkedSalesforceMembers;
14600
15064
  getSalesforceSyncConfig;
14601
15065
  updateSalesforceSyncConfig;
15066
+ resyncSalesforceLinkedMembers;
14602
15067
  listSalesforceObjects;
14603
15068
  describeSalesforceObject;
14604
15069
  searchSalesforceRecords;
@@ -14701,6 +15166,7 @@ var init_chunk_PUIYXJSZ = __esm({
14701
15166
  bindChatsMethods(this, apis.chats);
14702
15167
  bindCallsMethods(this, apis.calls, apis.cel);
14703
15168
  bindDataTypesMethods(this, apis.dataTypes);
15169
+ bindDevicesMethods(this, apis.devices);
14704
15170
  bindMembersMethods(this, apis.members);
14705
15171
  bindAgentTasksMethods(this, apis.agentTasks);
14706
15172
  bindAgentsMethods(this, apis.agents);
@@ -14888,9 +15354,9 @@ var init_chunk_PUIYXJSZ = __esm({
14888
15354
  }
14889
15355
  });
14890
15356
 
14891
- // ../sdk/dist/chunk-2YLKG4TT.js
14892
- var init_chunk_2YLKG4TT = __esm({
14893
- "../sdk/dist/chunk-2YLKG4TT.js"() {
15357
+ // ../sdk/dist/chunk-3HAV5XUJ.js
15358
+ var init_chunk_3HAV5XUJ = __esm({
15359
+ "../sdk/dist/chunk-3HAV5XUJ.js"() {
14894
15360
  }
14895
15361
  });
14896
15362
 
@@ -14898,9 +15364,9 @@ var init_chunk_2YLKG4TT = __esm({
14898
15364
  var SEARCHABLE_EVENT_RULE_SOURCE_FIELDS;
14899
15365
  var init_dist = __esm({
14900
15366
  "../sdk/dist/index.js"() {
14901
- init_chunk_PUIYXJSZ();
14902
- init_chunk_2YLKG4TT();
14903
- init_chunk_PJFEGUHM();
15367
+ init_chunk_WMA6YCAS();
15368
+ init_chunk_3HAV5XUJ();
15369
+ init_chunk_7OLBLLV7();
14904
15370
  SEARCHABLE_EVENT_RULE_SOURCE_FIELDS = [
14905
15371
  "taskId",
14906
15372
  "dataTypeId",
@@ -15117,7 +15583,7 @@ var init_credentials_manager = __esm({
15117
15583
  isCredentialShape(value) {
15118
15584
  if (!value || typeof value !== "object") return false;
15119
15585
  const v = value;
15120
- const hasOAuth = typeof v.clientId === "string" && typeof v.clientSecret === "string";
15586
+ const hasOAuth = typeof v.clientId === "string" && v.clientId.length > 0;
15121
15587
  const hasToken = typeof v.accessToken === "string" && v.accessToken.length > 0;
15122
15588
  return hasOAuth || hasToken;
15123
15589
  }
@@ -15460,6 +15926,19 @@ function startCallbackServer() {
15460
15926
  timeout.unref();
15461
15927
  });
15462
15928
  }
15929
+ async function fetchFirstPartyClientId(envConfig) {
15930
+ try {
15931
+ const response = await fetch(`${envConfig.apiUrl}/.well-known/oauth-authorization-server`, {
15932
+ headers: { Accept: "application/json" }
15933
+ });
15934
+ if (!response.ok) return null;
15935
+ const metadata = await response.json();
15936
+ const clientId = metadata[FIRST_PARTY_CLIENT_METADATA_FIELD];
15937
+ return typeof clientId === "string" && clientId.length > 0 ? clientId : null;
15938
+ } catch {
15939
+ return null;
15940
+ }
15941
+ }
15463
15942
  async function dynamicClientRegistration(envConfig, clientName = "Gravity CLI") {
15464
15943
  stderr(" Registering OAuth client...");
15465
15944
  const registrationUrl = `${envConfig.apiUrl}/api/v2/oauth/register`;
@@ -15481,27 +15960,52 @@ async function dynamicClientRegistration(envConfig, clientName = "Gravity CLI")
15481
15960
  }
15482
15961
  return await response.json();
15483
15962
  }
15963
+ function tokenRequestAuth(clientId, clientSecret) {
15964
+ if (clientSecret) {
15965
+ const authHeader = Buffer.from(`${clientId}:${clientSecret}`).toString("base64");
15966
+ return {
15967
+ headers: { Authorization: `Basic ${authHeader}` },
15968
+ params: {}
15969
+ };
15970
+ }
15971
+ return { headers: {}, params: { client_id: clientId } };
15972
+ }
15973
+ async function resolveOAuthClient(envConfig, stored, clientName = "Gravity CLI", forceDynamicRegistration = false) {
15974
+ if (!forceDynamicRegistration) {
15975
+ const pinned = await fetchFirstPartyClientId(envConfig);
15976
+ if (pinned) {
15977
+ stderr(" Using the first-party CLI client");
15978
+ return { clientId: pinned };
15979
+ }
15980
+ if (stored?.clientId && stored.clientSecret) {
15981
+ stderr(" Using cached client credentials");
15982
+ return { clientId: stored.clientId, clientSecret: stored.clientSecret };
15983
+ }
15984
+ }
15985
+ const registration = await dynamicClientRegistration(envConfig, clientName);
15986
+ return { clientId: registration.client_id, clientSecret: registration.client_secret };
15987
+ }
15484
15988
  async function performOAuthFlow(options) {
15485
- const { env, envConfig, credentialsManager, clientName = "Gravity CLI", profile } = options;
15989
+ const {
15990
+ env,
15991
+ envConfig,
15992
+ credentialsManager,
15993
+ clientName = "Gravity CLI",
15994
+ profile,
15995
+ startCallback = startCallbackServer,
15996
+ openAuthUrl = openBrowser
15997
+ } = options;
15486
15998
  const profileName = credentialsManager.resolveProfileName(profile, env);
15487
15999
  let hasRetried = false;
16000
+ let forceDynamicRegistration = false;
15488
16001
  while (true) {
15489
- let creds = credentialsManager.load(env, profileName);
15490
- if (!creds || !creds.clientId || !creds.clientSecret) {
15491
- const registration = await dynamicClientRegistration(envConfig, clientName);
15492
- creds = {
15493
- clientId: registration.client_id,
15494
- clientSecret: registration.client_secret
15495
- };
15496
- credentialsManager.save(env, creds, profileName);
15497
- } else {
15498
- stderr(" Using cached client credentials");
15499
- }
15500
- if (!creds.clientId || !creds.clientSecret) {
15501
- throw new Error("OAuth client credentials missing after registration");
15502
- }
15503
- const clientId = creds.clientId;
15504
- const clientSecret = creds.clientSecret;
16002
+ const stored = credentialsManager.load(env, profileName);
16003
+ const { clientId, clientSecret } = await resolveOAuthClient(
16004
+ envConfig,
16005
+ stored,
16006
+ clientName,
16007
+ forceDynamicRegistration
16008
+ );
15505
16009
  const { codeVerifier, codeChallenge } = generatePKCE();
15506
16010
  const state = randomBytes(32).toString("base64url");
15507
16011
  const authParams = new URLSearchParams({
@@ -15514,13 +16018,13 @@ async function performOAuthFlow(options) {
15514
16018
  code_challenge_method: "S256"
15515
16019
  });
15516
16020
  const authUrl = `${envConfig.apiUrl}/api/v2/oauth/authorize?${authParams}`;
15517
- const callbackPromise = startCallbackServer();
16021
+ const callbackPromise = startCallback();
15518
16022
  stderr("\n Opening browser for authorization...");
15519
16023
  stderr(` Profile: ${profileName}`);
15520
16024
  stderr(` If browser doesn't open, visit:
15521
16025
  ${authUrl}
15522
16026
  `);
15523
- openBrowser(authUrl);
16027
+ openAuthUrl(authUrl);
15524
16028
  stderr(" Waiting for authorization (timeout: 5 minutes)...");
15525
16029
  let code;
15526
16030
  let receivedState;
@@ -15529,9 +16033,9 @@ async function performOAuthFlow(options) {
15529
16033
  } catch (err) {
15530
16034
  const msg = err instanceof Error ? err.message : String(err);
15531
16035
  if (!hasRetried && isOAuthError(msg, "invalid_client")) {
15532
- stderr(" Cached client credentials expired, re-registering...");
15533
- credentialsManager.clear(env, profileName);
16036
+ stderr(" Client rejected by the server, re-registering...");
15534
16037
  hasRetried = true;
16038
+ forceDynamicRegistration = true;
15535
16039
  continue;
15536
16040
  }
15537
16041
  throw err;
@@ -15542,35 +16046,42 @@ async function performOAuthFlow(options) {
15542
16046
  stderr(" Authorization code received!");
15543
16047
  stderr(" Exchanging code for tokens...");
15544
16048
  const tokenUrl = `${envConfig.apiUrl}/api/v2/oauth/token`;
15545
- const authHeader = Buffer.from(`${clientId}:${clientSecret}`).toString("base64");
16049
+ const auth = tokenRequestAuth(clientId, clientSecret);
15546
16050
  const tokenResponse = await fetch(tokenUrl, {
15547
16051
  method: "POST",
15548
16052
  headers: {
15549
- Authorization: `Basic ${authHeader}`,
16053
+ ...auth.headers,
15550
16054
  "Content-Type": "application/x-www-form-urlencoded"
15551
16055
  },
15552
16056
  body: new URLSearchParams({
15553
16057
  grant_type: "authorization_code",
15554
16058
  code,
15555
16059
  redirect_uri: REDIRECT_URI,
15556
- code_verifier: codeVerifier
16060
+ code_verifier: codeVerifier,
16061
+ ...auth.params
15557
16062
  })
15558
16063
  });
15559
16064
  if (!tokenResponse.ok) {
15560
16065
  const body = await tokenResponse.text();
15561
16066
  if (!hasRetried && isOAuthError(body, "invalid_client")) {
15562
- stderr(" Cached client credentials expired, re-registering...");
15563
- credentialsManager.clear(env, profileName);
16067
+ stderr(" Client rejected by the server, re-registering...");
15564
16068
  hasRetried = true;
16069
+ forceDynamicRegistration = true;
15565
16070
  continue;
15566
16071
  }
15567
16072
  throw new Error(`Token exchange failed: ${tokenResponse.status} - ${body}`);
15568
16073
  }
15569
16074
  const tokenData = await tokenResponse.json();
15570
16075
  const { accessToken, refreshToken, expiresIn } = validateTokenResponse(tokenData);
15571
- creds.accessToken = accessToken;
15572
- creds.refreshToken = refreshToken ?? creds.refreshToken;
15573
- creds.expiresAt = new Date(Date.now() + expiresIn * 1e3).toISOString();
16076
+ const clientChanged = stored?.clientId !== clientId;
16077
+ const creds = {
16078
+ ...stored ?? {},
16079
+ clientId,
16080
+ clientSecret,
16081
+ accessToken,
16082
+ refreshToken: refreshToken ?? (clientChanged ? void 0 : stored?.refreshToken),
16083
+ expiresAt: new Date(Date.now() + expiresIn * 1e3).toISOString()
16084
+ };
15574
16085
  credentialsManager.save(env, creds, profileName);
15575
16086
  credentialsManager.setCurrentProfile(env, profileName);
15576
16087
  stderr(" Authentication successful!");
@@ -15578,23 +16089,24 @@ async function performOAuthFlow(options) {
15578
16089
  }
15579
16090
  }
15580
16091
  async function refreshAccessToken(envConfig, creds, credentialsManager, env, profile) {
15581
- if (!creds.refreshToken || !creds.clientId || !creds.clientSecret) {
16092
+ if (!creds.refreshToken || !creds.clientId) {
15582
16093
  stderr(" Cannot refresh: missing credentials (re-login required)");
15583
16094
  return null;
15584
16095
  }
15585
16096
  const profileName = credentialsManager.resolveProfileName(profile, env);
15586
16097
  const tokenUrl = `${envConfig.apiUrl}/api/v2/oauth/token`;
15587
- const authHeader = Buffer.from(`${creds.clientId}:${creds.clientSecret}`).toString("base64");
16098
+ const auth = tokenRequestAuth(creds.clientId, creds.clientSecret);
15588
16099
  try {
15589
16100
  const response = await fetch(tokenUrl, {
15590
16101
  method: "POST",
15591
16102
  headers: {
15592
- Authorization: `Basic ${authHeader}`,
16103
+ ...auth.headers,
15593
16104
  "Content-Type": "application/x-www-form-urlencoded"
15594
16105
  },
15595
16106
  body: new URLSearchParams({
15596
16107
  grant_type: "refresh_token",
15597
- refresh_token: creds.refreshToken
16108
+ refresh_token: creds.refreshToken,
16109
+ ...auth.params
15598
16110
  })
15599
16111
  });
15600
16112
  if (!response.ok) {
@@ -15624,10 +16136,12 @@ async function refreshAccessToken(envConfig, creds, credentialsManager, env, pro
15624
16136
  return null;
15625
16137
  }
15626
16138
  }
16139
+ var FIRST_PARTY_CLIENT_METADATA_FIELD;
15627
16140
  var init_auth = __esm({
15628
16141
  "src/cli-utils/auth.ts"() {
15629
16142
  init_config();
15630
16143
  init_credentials_manager();
16144
+ FIRST_PARTY_CLIENT_METADATA_FIELD = "gravityrail_first_party_cli_client_id";
15631
16145
  }
15632
16146
  });
15633
16147
  async function selectFromList(items, options = {}) {
@@ -16190,6 +16704,12 @@ function hint(opts, lines) {
16190
16704
  function stderr2(msg) {
16191
16705
  process.stderr.write(msg + "\n");
16192
16706
  }
16707
+ async function flushStdout() {
16708
+ if (process.stdout.writableLength === 0) return;
16709
+ await new Promise((resolve3) => {
16710
+ process.stdout.write("", () => resolve3());
16711
+ });
16712
+ }
16193
16713
  var COL;
16194
16714
  var init_output = __esm({
16195
16715
  "src/lib/output.ts"() {
@@ -16850,7 +17370,10 @@ function parseArgs(defs, argv) {
16850
17370
  if (!def) {
16851
17371
  if ((flagPart.startsWith("--") || flagPart.startsWith("-")) && !KNOWN_GLOBAL_FLAGS.has(flagPart)) {
16852
17372
  const knownFlags = allDefs.map((d) => `--${d.name}`).join(", ");
16853
- const dataHint = allDefs.some((d) => d.name === "data") ? ` Entity fields are passed as JSON via --data (e.g. --data '{"name":"..."}'), not as individual flags.` : "";
17373
+ const takesNamedFields = defs.some(
17374
+ (d) => !d.isFlag && d.name !== "id" && d.name !== "uuid"
17375
+ );
17376
+ const dataHint = takesNamedFields ? "" : ` Entity fields are passed as JSON via --data (e.g. --data '{"name":"..."}'), not as individual flags.`;
16854
17377
  throw new CLIError(
16855
17378
  `Unknown flag "${flagPart}". Known flags: ${knownFlags || "(none)"}.${dataHint}`
16856
17379
  );
@@ -16974,6 +17497,10 @@ init_errors();
16974
17497
 
16975
17498
  // src/lib/input.ts
16976
17499
  init_errors();
17500
+ var WORKSPACE_EXPORT_ZIP = "__grWorkspaceExportZip";
17501
+ function isWorkspaceExportZip(data) {
17502
+ return typeof data === "object" && data !== null && data[WORKSPACE_EXPORT_ZIP] === true;
17503
+ }
16977
17504
  var JSON_BODY_ACTIONS = /* @__PURE__ */ new Set([
16978
17505
  "create",
16979
17506
  "update",
@@ -17020,8 +17547,15 @@ async function readJsonInput(args) {
17020
17547
  }
17021
17548
  if (filePath) {
17022
17549
  try {
17023
- const content = readFileSync(filePath, "utf-8");
17024
- return JSON.parse(content);
17550
+ const buf = readFileSync(filePath);
17551
+ if (buf.length >= 2 && buf[0] === 80 && buf[1] === 75) {
17552
+ return {
17553
+ [WORKSPACE_EXPORT_ZIP]: true,
17554
+ bytes: buf,
17555
+ path: filePath
17556
+ };
17557
+ }
17558
+ return JSON.parse(buf.toString("utf-8"));
17025
17559
  } catch (err) {
17026
17560
  if (err instanceof SyntaxError) {
17027
17561
  throw new CLIError(`Invalid JSON in file: ${filePath}`);
@@ -17484,8 +18018,9 @@ var CommandRegistry = class {
17484
18018
  for (const cmd of matching.sort((a, b) => a.path.join(" ").localeCompare(b.path.join(" ")))) {
17485
18019
  const subPath = cmd.path.slice(prefix.length).join(" ") || cmd.path[cmd.path.length - 1];
17486
18020
  const description = inSandbox ? sandboxHelpText(cmd.description) : cmd.description;
17487
- lines.push(` ${subPath.padEnd(28)} ${description}`);
18021
+ lines.push(` ${subPath.padEnd(28)} ${summaryLine(description)}`);
17488
18022
  }
18023
+ lines.push("", `Run \`gr ${prefixStr} <command> --help\` for arguments and examples.`);
17489
18024
  return lines.join("\n") + "\n";
17490
18025
  }
17491
18026
  getCommandHelp(cmd) {
@@ -17550,7 +18085,7 @@ var CommandRegistry = class {
17550
18085
  if (!seen.has(topWord) && cmd.path.length === 1) {
17551
18086
  seen.add(topWord);
17552
18087
  const description = inSandbox ? sandboxHelpText(cmd.description) : cmd.description;
17553
- lines.push(` ${topWord.padEnd(28)} ${description}`);
18088
+ lines.push(` ${topWord.padEnd(28)} ${summaryLine(description)}`);
17554
18089
  }
17555
18090
  }
17556
18091
  const globalOptions = [
@@ -17582,6 +18117,9 @@ var CommandRegistry = class {
17582
18117
  return lines.join("\n") + "\n";
17583
18118
  }
17584
18119
  };
18120
+ function summaryLine(text) {
18121
+ return text.split("\n", 1)[0].trimEnd();
18122
+ }
17585
18123
  function sandboxHelpText(text) {
17586
18124
  return text.replace(/\byarn gr\b/g, "gr").replace(/\s--allow-write\b/g, "").replace(/\s--profile\s+(?:"[^"]+"|'[^']+'|<[^>]+>|\S+)/g, "").replace(/\s--account\s+(?:"[^"]+"|'[^']+'|<[^>]+>|\S+)/g, "").replace(/\s-w\s+(?:"[^"]+"|'[^']+'|<[^>]+>|\S+)/g, "");
17587
18125
  }
@@ -19264,6 +19802,7 @@ After changing assistant/realtime fields, publish so live traffic picks them up:
19264
19802
  // src/domains/workflows.ts
19265
19803
  init_output();
19266
19804
  init_context();
19805
+ init_dist();
19267
19806
  var COLUMNS5 = [
19268
19807
  { header: "ID", getValue: (item) => String(item.workflow?.id ?? item.id ?? "") },
19269
19808
  { header: "UUID", getValue: (item) => String(item.workflow?.uuid ?? item.uuid ?? "") },
@@ -19343,13 +19882,19 @@ var REVISION_LIST_COLUMNS = [
19343
19882
  { header: "CREATED", getValue: (r) => r.createdAt ?? "" }
19344
19883
  ];
19345
19884
  function deriveRevisionBadges(revisionId, activeRevisionId, draftRevisionId) {
19346
- const badges = [];
19347
- if (activeRevisionId != null && Number(revisionId) === Number(activeRevisionId)) {
19348
- badges.push("active");
19349
- }
19350
- if (draftRevisionId != null && Number(revisionId) === Number(draftRevisionId)) {
19351
- badges.push("draft");
19885
+ if (revisionId == null || activeRevisionId == null && draftRevisionId == null) {
19886
+ return "";
19352
19887
  }
19888
+ const state = getRevisionState(
19889
+ {
19890
+ activeRevisionId: Number(activeRevisionId),
19891
+ draftRevisionId: Number(draftRevisionId)
19892
+ },
19893
+ { id: Number(revisionId) }
19894
+ );
19895
+ const badges = [];
19896
+ if (state.isActive) badges.push("active");
19897
+ if (state.isDraft) badges.push("draft");
19353
19898
  return badges.join("+");
19354
19899
  }
19355
19900
  var workflowsDomain = {
@@ -19504,10 +20049,17 @@ var workflowsDomain = {
19504
20049
  path: ["workflows", "notes", "list"],
19505
20050
  description: "List workflow notes",
19506
20051
  requiresWorkspace: true,
19507
- args: [{ name: "workflow-id", description: "Workflow ID", required: true }],
20052
+ args: [
20053
+ { name: "workflow-id", description: "Workflow (root) ID", required: true },
20054
+ { name: "revision-id", description: "Optional revision pin (default: draft)" }
20055
+ ],
19508
20056
  handler: async ({ ctx, workspace, args }) => {
19509
20057
  const workflowId = requireNumber(args, "workflow-id");
19510
- const result2 = await requireAuth(ctx).apiClient.getWorkflowNotes(workspace, workflowId);
20058
+ const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
20059
+ const notesApi = requireAuth(ctx).apiClient;
20060
+ const result2 = revisionId != null ? await notesApi.getWorkflowNotes(workspace, workflowId, {
20061
+ workflowRevisionId: revisionId
20062
+ }) : await notesApi.getWorkflowNotes(workspace, workflowId);
19511
20063
  outputData(result2, ctx, NOTE_COLUMNS);
19512
20064
  }
19513
20065
  },
@@ -19516,15 +20068,18 @@ var workflowsDomain = {
19516
20068
  description: "Create a workflow note",
19517
20069
  mutates: true,
19518
20070
  requiresWorkspace: true,
19519
- args: [{ name: "workflow-id", description: "Workflow ID", required: true }],
20071
+ args: [
20072
+ { name: "workflow-id", description: "Workflow (root) ID", required: true },
20073
+ { name: "revision-id", description: "Optional revision pin (default: draft)" }
20074
+ ],
19520
20075
  handler: async ({ ctx, workspace, args, data }) => {
19521
20076
  if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
19522
20077
  const workflowId = requireNumber(args, "workflow-id");
19523
- const result2 = await requireAuth(ctx).apiClient.createWorkflowNote(
19524
- workspace,
19525
- workflowId,
19526
- data
19527
- );
20078
+ const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
20079
+ const notesApi = requireAuth(ctx).apiClient;
20080
+ const result2 = revisionId != null ? await notesApi.createWorkflowNote(workspace, workflowId, data, {
20081
+ workflowRevisionId: revisionId
20082
+ }) : await notesApi.createWorkflowNote(workspace, workflowId, data);
19528
20083
  outputSingle(result2, ctx, NOTE_COLUMNS);
19529
20084
  }
19530
20085
  },
@@ -19534,19 +20089,19 @@ var workflowsDomain = {
19534
20089
  mutates: true,
19535
20090
  requiresWorkspace: true,
19536
20091
  args: [
19537
- { name: "workflow-id", description: "Workflow ID", required: true },
19538
- { name: "id", description: "Note ID", required: true }
20092
+ { name: "workflow-id", description: "Workflow (root) ID", required: true },
20093
+ { name: "id", description: "Note ID", required: true },
20094
+ { name: "revision-id", description: "Optional revision pin (default: draft)" }
19539
20095
  ],
19540
20096
  handler: async ({ ctx, workspace, args, data }) => {
19541
20097
  if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
19542
20098
  const workflowId = requireNumber(args, "workflow-id");
19543
20099
  const noteId = requireNumber(args, "id");
19544
- const result2 = await requireAuth(ctx).apiClient.updateWorkflowNote(
19545
- workspace,
19546
- workflowId,
19547
- noteId,
19548
- data
19549
- );
20100
+ const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
20101
+ const notesApi = requireAuth(ctx).apiClient;
20102
+ const result2 = revisionId != null ? await notesApi.updateWorkflowNote(workspace, workflowId, noteId, data, {
20103
+ workflowRevisionId: revisionId
20104
+ }) : await notesApi.updateWorkflowNote(workspace, workflowId, noteId, data);
19550
20105
  outputSingle(result2, ctx, NOTE_COLUMNS);
19551
20106
  }
19552
20107
  },
@@ -19556,13 +20111,22 @@ var workflowsDomain = {
19556
20111
  mutates: true,
19557
20112
  requiresWorkspace: true,
19558
20113
  args: [
19559
- { name: "workflow-id", description: "Workflow ID", required: true },
19560
- { name: "id", description: "Note ID", required: true }
20114
+ { name: "workflow-id", description: "Workflow (root) ID", required: true },
20115
+ { name: "id", description: "Note ID", required: true },
20116
+ { name: "revision-id", description: "Optional revision pin (default: draft)" }
19561
20117
  ],
19562
20118
  handler: async ({ ctx, workspace, args }) => {
19563
20119
  const workflowId = requireNumber(args, "workflow-id");
19564
20120
  const noteId = requireNumber(args, "id");
19565
- await requireAuth(ctx).apiClient.deleteWorkflowNote(workspace, workflowId, noteId);
20121
+ const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
20122
+ const notesApi = requireAuth(ctx).apiClient;
20123
+ if (revisionId != null) {
20124
+ await notesApi.deleteWorkflowNote(workspace, workflowId, noteId, {
20125
+ workflowRevisionId: revisionId
20126
+ });
20127
+ } else {
20128
+ await notesApi.deleteWorkflowNote(workspace, workflowId, noteId);
20129
+ }
19566
20130
  process.stdout.write(`Deleted workflow note ${noteId}
19567
20131
  `);
19568
20132
  }
@@ -19924,6 +20488,126 @@ ${WORKFLOW_FIELD_REFERENCE}`,
19924
20488
  ]
19925
20489
  };
19926
20490
 
20491
+ // ../sdk/dist/helpers.js
20492
+ init_chunk_7OLBLLV7();
20493
+ new TextEncoder();
20494
+ var WORKSPACE_EXPORT_JSON_MEMBER = "export.json";
20495
+ var MAX_EXPORT_JSON_BYTES = 8 * 1024 * 1024;
20496
+ var EOCD_SIGNATURE = 101010256;
20497
+ var CDFH_SIGNATURE = 33639248;
20498
+ var LFH_SIGNATURE = 67324752;
20499
+ var ZIP_STORED = 0;
20500
+ var ZIP_DEFLATED = 8;
20501
+ function requireRange(bytes, start, length) {
20502
+ if (start < 0 || length < 0 || start + length > bytes.length) {
20503
+ throw new Error("ZIP offsets are out of range.");
20504
+ }
20505
+ }
20506
+ function u16(bytes, offset) {
20507
+ requireRange(bytes, offset, 2);
20508
+ return bytes[offset] | bytes[offset + 1] << 8;
20509
+ }
20510
+ function u32(bytes, offset) {
20511
+ requireRange(bytes, offset, 4);
20512
+ return (bytes[offset] | bytes[offset + 1] << 8 | bytes[offset + 2] << 16 | bytes[offset + 3] << 24) >>> 0;
20513
+ }
20514
+ async function inflateRaw(data, maxBytes) {
20515
+ if (typeof DecompressionStream === "function") {
20516
+ const stream = new Blob([data]).stream().pipeThrough(new DecompressionStream("deflate-raw"));
20517
+ const reader = stream.getReader();
20518
+ const chunks = [];
20519
+ let total = 0;
20520
+ while (true) {
20521
+ const { done, value } = await reader.read();
20522
+ if (done) break;
20523
+ total += value.byteLength;
20524
+ if (total > maxBytes) {
20525
+ await reader.cancel();
20526
+ throw new Error("ZIP member exceeds the export.json size limit.");
20527
+ }
20528
+ chunks.push(value);
20529
+ }
20530
+ const out = new Uint8Array(total);
20531
+ let offset = 0;
20532
+ for (const chunk of chunks) {
20533
+ out.set(chunk, offset);
20534
+ offset += chunk.byteLength;
20535
+ }
20536
+ return out;
20537
+ }
20538
+ const zlib = await import('zlib');
20539
+ return Uint8Array.from(zlib.inflateRawSync(data, { maxOutputLength: maxBytes }));
20540
+ }
20541
+ function findEocdOffset(bytes) {
20542
+ const min = 22;
20543
+ const maxComment = 65535;
20544
+ const start = Math.max(0, bytes.length - (min + maxComment));
20545
+ for (let i = bytes.length - min; i >= start; i--) {
20546
+ if (u32(bytes, i) !== EOCD_SIGNATURE) continue;
20547
+ const commentLength = u16(bytes, i + 20);
20548
+ if (i + min + commentLength === bytes.length) {
20549
+ return i;
20550
+ }
20551
+ }
20552
+ throw new Error("Not a ZIP archive (missing end-of-central-directory).");
20553
+ }
20554
+ async function extractZipMember(bytes, memberName) {
20555
+ const eocd = findEocdOffset(bytes);
20556
+ const entries = u16(bytes, eocd + 10);
20557
+ let offset = u32(bytes, eocd + 16);
20558
+ for (let i = 0; i < entries; i++) {
20559
+ if (u32(bytes, offset) !== CDFH_SIGNATURE) {
20560
+ throw new Error("ZIP central directory is corrupt.");
20561
+ }
20562
+ requireRange(bytes, offset, 46);
20563
+ const method = u16(bytes, offset + 10);
20564
+ const compressedSize = u32(bytes, offset + 20);
20565
+ const uncompressedSize = u32(bytes, offset + 24);
20566
+ const nameLen = u16(bytes, offset + 28);
20567
+ const extraLen = u16(bytes, offset + 30);
20568
+ const commentLen = u16(bytes, offset + 32);
20569
+ const localOffset = u32(bytes, offset + 42);
20570
+ requireRange(bytes, offset + 46, nameLen);
20571
+ const name = new TextDecoder().decode(bytes.subarray(offset + 46, offset + 46 + nameLen));
20572
+ offset += 46 + nameLen + extraLen + commentLen;
20573
+ requireRange(bytes, offset, 0);
20574
+ if (name !== memberName) continue;
20575
+ if (uncompressedSize === 4294967295 || compressedSize === 4294967295) {
20576
+ throw new Error("ZIP64 members are not supported for export.json.");
20577
+ }
20578
+ if (uncompressedSize > MAX_EXPORT_JSON_BYTES || compressedSize > MAX_EXPORT_JSON_BYTES) {
20579
+ throw new Error("ZIP member exceeds the export.json size limit.");
20580
+ }
20581
+ if (u32(bytes, localOffset) !== LFH_SIGNATURE) {
20582
+ throw new Error(`ZIP local header for ${memberName} is corrupt.`);
20583
+ }
20584
+ const localNameLen = u16(bytes, localOffset + 26);
20585
+ const localExtraLen = u16(bytes, localOffset + 28);
20586
+ const dataStart = localOffset + 30 + localNameLen + localExtraLen;
20587
+ requireRange(bytes, dataStart, compressedSize);
20588
+ const compressed = bytes.subarray(dataStart, dataStart + compressedSize);
20589
+ if (method === ZIP_STORED) {
20590
+ if (compressed.length !== uncompressedSize) {
20591
+ throw new Error("ZIP stored member size does not match the directory.");
20592
+ }
20593
+ return compressed.slice();
20594
+ }
20595
+ if (method === ZIP_DEFLATED) {
20596
+ const inflated = await inflateRaw(compressed, MAX_EXPORT_JSON_BYTES);
20597
+ if (inflated.length !== uncompressedSize) {
20598
+ throw new Error("ZIP deflated member size does not match the directory.");
20599
+ }
20600
+ return inflated;
20601
+ }
20602
+ throw new Error(`Unsupported ZIP compression method ${method} for ${memberName}.`);
20603
+ }
20604
+ throw new Error(`ZIP is missing ${memberName}.`);
20605
+ }
20606
+ async function extractWorkspaceExportJson(bytes) {
20607
+ const raw = await extractZipMember(bytes, WORKSPACE_EXPORT_JSON_MEMBER);
20608
+ return new TextDecoder().decode(raw);
20609
+ }
20610
+
19927
20611
  // src/domains/workspaces.ts
19928
20612
  init_errors();
19929
20613
  init_output();
@@ -20127,18 +20811,29 @@ Provisioning started. Watch it come up with:
20127
20811
  {
20128
20812
  name: "exclude",
20129
20813
  description: 'Comma-separated categories to exclude (e.g. "channels")'
20814
+ },
20815
+ {
20816
+ name: "format",
20817
+ description: "json (default, configuration only) or zip (single archive including files)"
20818
+ },
20819
+ {
20820
+ name: "output",
20821
+ description: "Write the export to this path. Required for --format zip."
20130
20822
  }
20131
20823
  ],
20132
20824
  examples: [
20133
20825
  "yarn gr workspaces export -w $UUID --env prod",
20134
20826
  "yarn gr workspaces export -w $UUID --env prod --scope workflows",
20135
20827
  "yarn gr workspaces export -w $UUID --env prod --workflow-id 42",
20136
- "yarn gr workspaces export -w $UUID --env prod --exclude channels"
20828
+ "yarn gr workspaces export -w $UUID --env prod --exclude channels",
20829
+ "yarn gr workspaces export -w $UUID --env prod --format zip --output export.zip"
20137
20830
  ],
20138
20831
  handler: async ({ ctx, workspace, args }) => {
20139
20832
  const scope = args["scope"];
20140
20833
  const workflowIdStr = args["workflow-id"];
20141
20834
  const exclude = args["exclude"];
20835
+ const outputPath = args["output"];
20836
+ const formatArg = args["format"];
20142
20837
  const workflowId = workflowIdStr ? Number(workflowIdStr) : void 0;
20143
20838
  if (workflowId !== void 0 && isNaN(workflowId)) {
20144
20839
  throw new CLIError("--workflow-id must be a number");
@@ -20149,12 +20844,39 @@ Provisioning started. Watch it come up with:
20149
20844
  if (scope && scope !== "workflows") {
20150
20845
  throw new CLIError('--scope must be "workflows"');
20151
20846
  }
20152
- const result2 = await requireAuth(ctx).apiClient.exportWorkspace(
20847
+ const format = formatArg ?? (outputPath?.toLowerCase().endsWith(".zip") ? "zip" : "json");
20848
+ if (format !== "json" && format !== "zip") {
20849
+ throw new CLIError('--format must be "json" or "zip"');
20850
+ }
20851
+ const client = requireAuth(ctx).apiClient;
20852
+ if (format === "zip") {
20853
+ if (!outputPath) {
20854
+ throw new CLIError("--output is required for ZIP export");
20855
+ }
20856
+ const zip = await client.exportWorkspaceZip(
20857
+ workspace,
20858
+ workflowId,
20859
+ scope,
20860
+ exclude
20861
+ );
20862
+ await writeFile(outputPath, Buffer.from(zip));
20863
+ process.stdout.write(`Saved ZIP export to ${outputPath}
20864
+ `);
20865
+ return;
20866
+ }
20867
+ const result2 = await client.exportWorkspace(
20153
20868
  workspace,
20154
20869
  workflowId,
20155
20870
  scope,
20156
20871
  exclude
20157
20872
  );
20873
+ if (outputPath) {
20874
+ await writeFile(outputPath, `${JSON.stringify(result2, null, 2)}
20875
+ `);
20876
+ process.stdout.write(`Saved JSON export to ${outputPath}
20877
+ `);
20878
+ return;
20879
+ }
20158
20880
  outputSingle(result2, ctx);
20159
20881
  }
20160
20882
  },
@@ -20172,11 +20894,25 @@ Provisioning started. Watch it come up with:
20172
20894
  ],
20173
20895
  examples: [
20174
20896
  "yarn gr workspaces import -w $UUID --env dev --file export.json --create-all",
20897
+ "yarn gr workspaces import -w $UUID --env dev --file export.zip --create-all",
20175
20898
  `yarn gr workspaces import -w $UUID --env dev --data '{"exportData": ..., "createNew": ..., "importMappings": {}}'`
20176
20899
  ],
20177
20900
  handler: async ({ ctx, workspace, data, args }) => {
20178
- if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
20179
- const payload = data;
20901
+ if (!data) throw new CLIError("JSON or ZIP data required (--data, --file, or stdin)");
20902
+ let archive;
20903
+ let payload;
20904
+ if (isWorkspaceExportZip(data)) {
20905
+ try {
20906
+ payload = JSON.parse(await extractWorkspaceExportJson(data.bytes));
20907
+ } catch (err) {
20908
+ throw new CLIError(
20909
+ err instanceof Error ? err.message : `ZIP is not a workspace export archive: ${data.path}`
20910
+ );
20911
+ }
20912
+ archive = new Blob([Uint8Array.from(data.bytes)]);
20913
+ } else {
20914
+ payload = data;
20915
+ }
20180
20916
  const createAll = args["create-all"] === true;
20181
20917
  let exportData;
20182
20918
  let importMappings;
@@ -20238,7 +20974,8 @@ Provisioning started. Watch it come up with:
20238
20974
  workspace,
20239
20975
  exportData,
20240
20976
  importMappings,
20241
- createNew
20977
+ createNew,
20978
+ archive
20242
20979
  );
20243
20980
  outputSingle(result2, ctx);
20244
20981
  }
@@ -21088,6 +21825,50 @@ ${DATA_TYPE_FIELD_REFERENCE}`
21088
21825
  outputSingle(result2, ctx, COLUMNS9);
21089
21826
  }
21090
21827
  },
21828
+ // Field-slug rename. Two commands, deliberately: a field slug is the key
21829
+ // its answers are stored under, so preview is the read-only half an
21830
+ // operator runs first and rename is the explicit mutation. Neither is
21831
+ // reachable from `data-types update`, so a rename can never happen as a
21832
+ // side effect of saving a form.
21833
+ {
21834
+ path: ["data-types", "fields", "rename-preview"],
21835
+ description: "Preview renaming a form field slug (read-only)",
21836
+ requiresWorkspace: true,
21837
+ args: [
21838
+ { name: "data-type-id", description: "Data type ID", required: true },
21839
+ { name: "slug", description: "Current field slug", required: true },
21840
+ { name: "new-slug", description: "Proposed new field slug", required: true }
21841
+ ],
21842
+ handler: async ({ ctx, workspace, args }) => {
21843
+ const result2 = await requireAuth(ctx).apiClient.previewRenameFieldSlug(
21844
+ workspace,
21845
+ requireNumber(args, "data-type-id"),
21846
+ requireString(args, "slug"),
21847
+ requireString(args, "new-slug")
21848
+ );
21849
+ outputSingle(result2, ctx);
21850
+ }
21851
+ },
21852
+ {
21853
+ path: ["data-types", "fields", "rename"],
21854
+ description: "Rename a form field slug, preserving stored answers",
21855
+ mutates: true,
21856
+ requiresWorkspace: true,
21857
+ args: [
21858
+ { name: "data-type-id", description: "Data type ID", required: true },
21859
+ { name: "slug", description: "Current field slug", required: true },
21860
+ { name: "new-slug", description: "New field slug", required: true }
21861
+ ],
21862
+ handler: async ({ ctx, workspace, args }) => {
21863
+ const result2 = await requireAuth(ctx).apiClient.renameFieldSlug(
21864
+ workspace,
21865
+ requireNumber(args, "data-type-id"),
21866
+ requireString(args, "slug"),
21867
+ requireString(args, "new-slug")
21868
+ );
21869
+ outputSingle(result2, ctx);
21870
+ }
21871
+ },
21091
21872
  // Data Records sub-resource
21092
21873
  {
21093
21874
  path: ["data-types", "records", "list"],
@@ -21192,10 +21973,225 @@ ${DATA_TYPE_FIELD_REFERENCE}`
21192
21973
  ]
21193
21974
  };
21194
21975
 
21976
+ // src/domains/devices.ts
21977
+ init_output();
21978
+ init_context();
21979
+ var DEVICE_COLUMNS = [
21980
+ { header: "UUID", getValue: (item) => item.uuid ?? "" },
21981
+ { header: "NAME", getValue: (item) => item.displayName ?? "" },
21982
+ { header: "KIND", getValue: (item) => item.kindName ?? "" },
21983
+ { header: "SLUG", getValue: (item) => item.slug ?? "" },
21984
+ { header: "MEMBER", getValue: (item) => String(item.memberId ?? "") },
21985
+ { header: "REVOKED", getValue: (item) => item.isRevoked ? "yes" : "" },
21986
+ { header: "LAST SEEN", getValue: (item) => item.lastSeenAt ?? "" },
21987
+ { header: "FIRMWARE", getValue: (item) => item.firmwareVersion ?? "" }
21988
+ ];
21989
+ var KIND_COLUMNS = [
21990
+ { header: "SLUG", getValue: (item) => item.slug ?? "" },
21991
+ { header: "NAME", getValue: (item) => item.name ?? "" },
21992
+ { header: "FAMILY", getValue: (item) => item.family ?? "" }
21993
+ ];
21994
+ var devicesDomain = {
21995
+ name: "devices",
21996
+ description: "Registered devices: list, inspect, rename, revoke, claim pairing",
21997
+ commands: [
21998
+ {
21999
+ path: ["devices", "list"],
22000
+ description: "List registered devices (all with devices:admin; --mine for the session member\u2019s own)",
22001
+ requiresWorkspace: true,
22002
+ args: [
22003
+ {
22004
+ name: "mine",
22005
+ description: "Only the session member\u2019s own devices",
22006
+ isFlag: true
22007
+ }
22008
+ ],
22009
+ examples: ["gr devices list -w $WID", "gr devices list -w $WID --mine"],
22010
+ handler: async ({ ctx, workspace, args }) => {
22011
+ const auth = requireAuth(ctx);
22012
+ const result2 = await auth.apiClient.getDevices(workspace, {
22013
+ mine: args.mine === true
22014
+ });
22015
+ outputData(result2, ctx, DEVICE_COLUMNS);
22016
+ }
22017
+ },
22018
+ {
22019
+ path: ["devices", "get"],
22020
+ description: "Show one device",
22021
+ requiresWorkspace: true,
22022
+ args: [{ name: "uuid", description: "Device UUID", required: true }],
22023
+ handler: async ({ ctx, workspace, args }) => {
22024
+ const auth = requireAuth(ctx);
22025
+ const result2 = await auth.apiClient.getDevice(workspace, requireString(args, "uuid"));
22026
+ outputSingle(result2, ctx, DEVICE_COLUMNS);
22027
+ }
22028
+ },
22029
+ {
22030
+ path: ["devices", "kinds"],
22031
+ description: "List the device catalog (kinds a device can register as)",
22032
+ requiresWorkspace: true,
22033
+ handler: async ({ ctx, workspace }) => {
22034
+ const auth = requireAuth(ctx);
22035
+ const result2 = await auth.apiClient.getDeviceKinds(workspace);
22036
+ outputData(result2, ctx, KIND_COLUMNS);
22037
+ }
22038
+ },
22039
+ {
22040
+ path: ["devices", "update"],
22041
+ description: "Update a device (displayName, lanReceive, lanBroadcast)",
22042
+ mutates: true,
22043
+ requiresWorkspace: true,
22044
+ args: [{ name: "uuid", description: "Device UUID", required: true }],
22045
+ examples: [
22046
+ `gr devices update -w $WID --uuid $UUID --data '{"displayName":"Kitchen Lantern"}' --allow-write`
22047
+ ],
22048
+ handler: async ({ ctx, workspace, args, data }) => {
22049
+ const auth = requireAuth(ctx);
22050
+ const result2 = await auth.apiClient.updateDevice(
22051
+ workspace,
22052
+ requireString(args, "uuid"),
22053
+ data ?? {}
22054
+ );
22055
+ outputSingle(result2, ctx, DEVICE_COLUMNS);
22056
+ }
22057
+ },
22058
+ {
22059
+ path: ["devices", "revoke"],
22060
+ description: "Revoke a device credential (the device must pair again)",
22061
+ mutates: true,
22062
+ requiresWorkspace: true,
22063
+ args: [{ name: "uuid", description: "Device UUID", required: true }],
22064
+ handler: async ({ ctx, workspace, args }) => {
22065
+ const auth = requireAuth(ctx);
22066
+ const result2 = await auth.apiClient.revokeDevice(
22067
+ workspace,
22068
+ requireString(args, "uuid")
22069
+ );
22070
+ outputSingle(result2, ctx, DEVICE_COLUMNS);
22071
+ }
22072
+ },
22073
+ {
22074
+ path: ["devices", "claim"],
22075
+ description: "Claim a device pairing code (binds the device to the CLAIMING member \u2014 the normal self-service pairing flow)",
22076
+ mutates: true,
22077
+ requiresWorkspace: true,
22078
+ args: [
22079
+ { name: "code", description: "Pairing code shown on the device", required: true },
22080
+ { name: "name", description: "Optional display name", required: false }
22081
+ ],
22082
+ handler: async ({ ctx, workspace, args }) => {
22083
+ const auth = requireAuth(ctx);
22084
+ const displayName = optionalString(args, "name");
22085
+ const result2 = await auth.apiClient.claimDevicePairing(workspace, {
22086
+ pairingCode: requireString(args, "code"),
22087
+ ...displayName !== void 0 ? { displayName } : {}
22088
+ });
22089
+ outputSingle(result2, ctx, DEVICE_COLUMNS);
22090
+ }
22091
+ }
22092
+ ]
22093
+ };
22094
+
21195
22095
  // src/domains/events.ts
21196
22096
  init_output();
21197
22097
  init_pagination();
21198
22098
  init_context();
22099
+ init_errors();
22100
+
22101
+ // src/lib/events/action-params.ts
22102
+ var ACTION_PARAM_HINTS = {
22103
+ "chat:create": {
22104
+ summary: "outbound voice/SMS/web \u2014 starts a workflow chat",
22105
+ shape: [
22106
+ '{"workflowUUID":"<workflow-uuid>","channel":"web-chat"|"phone-voice"|"phone-sms",',
22107
+ ' "phoneNumberUUID":"<uuid>","inboxUUID":"<optional-uuid>","assistantEnabled":<bool>}'
22108
+ ],
22109
+ notes: [
22110
+ "Keys are UUID strings: workflowUUID (not workflowId), phoneNumberUUID (not",
22111
+ "phoneNumberId), inboxUUID (not inboxId). Unknown keys are rejected.",
22112
+ "workflowUUID is the STABLE workflow uuid, not a revision uuid:",
22113
+ " gr workflows get --id <workflow-id> -w $WID --jq .uuid",
22114
+ "phone-voice and phone-sms need a phone at the rule, workflow, or workspace level."
22115
+ ]
22116
+ },
22117
+ "sms:send": {
22118
+ summary: "send an SMS, or start an SMS workflow chat",
22119
+ shape: [
22120
+ 'One-off text: {"phoneNumberUUID":"<from-number-uuid>","messageTemplate":"Hi {{name}} \u2026"}',
22121
+ 'Workflow chat: {"phoneNumberUUID":"<from-number-uuid>","workflowUUID":"<workflow-uuid>",',
22122
+ ' "initialUserMessage":"<optional seed>"}'
22123
+ ],
22124
+ notes: [
22125
+ "phoneNumberUUID (the from-number) is required. The message body is messageTemplate",
22126
+ '(supports {{record/member}} template vars) \u2014 there is no "body"/"message" key.',
22127
+ "Provide messageTemplate for a one-off text, OR workflowUUID to start a chat."
22128
+ ]
22129
+ },
22130
+ "whatsapp:send": {
22131
+ summary: "send a WhatsApp message, or start a WhatsApp workflow chat",
22132
+ shape: [
22133
+ '{"phoneNumberUUID":"<from-number-uuid>","messageTemplate":"\u2026"} (one-off)',
22134
+ '{"phoneNumberUUID":"<from-number-uuid>","workflowUUID":"<workflow-uuid>"} (chat)'
22135
+ ],
22136
+ notes: ["Same param model as sms:send."]
22137
+ },
22138
+ "email:send": {
22139
+ summary: "send an email, or start an email workflow chat",
22140
+ shape: [
22141
+ '{"inboxUUID":"<uuid>","subjectTemplate":"\u2026","bodyTemplate":"\u2026"}',
22142
+ '{"inboxUUID":"<uuid>","workflowUUID":"<workflow-uuid>"} (starts a chat instead)'
22143
+ ],
22144
+ notes: [
22145
+ "inboxUUID is required \u2014 list them with `gr inboxes list -w $WID`.",
22146
+ 'Optional: toEmail, contentType ("text" default), initialUserMessage.'
22147
+ ]
22148
+ },
22149
+ "member:label": {
22150
+ summary: "add/remove labels on the triggering member",
22151
+ shape: ['{"addLabelIds":["<uuid>"],"removeLabelIds":["<uuid>"]}'],
22152
+ notes: ["Label UUIDs, not names: `gr members labels list -w $WID --jq '.[].uuid'`."]
22153
+ },
22154
+ "member:notify": {
22155
+ summary: "notify a workspace member",
22156
+ shape: [
22157
+ '{"messageTemplate":"Hi {{member.name}} \u2026","memberId":<member-id>} (or "sendToOwner":true)'
22158
+ ],
22159
+ notes: [
22160
+ "messageTemplate is required (supports {{member}} template vars). Target exactly one",
22161
+ "of memberId or sendToOwner."
22162
+ ]
22163
+ },
22164
+ "webhook:send": {
22165
+ summary: "POST the event payload to a URL",
22166
+ shape: ['{"webhookUrl":"https://example.com/hook"}'],
22167
+ notes: [
22168
+ "webhookUrl is required and must be https in production.",
22169
+ "signingSecret is generated for you when omitted."
22170
+ ]
22171
+ },
22172
+ "assistant:message": {
22173
+ summary: "inject an assistant message into the chat",
22174
+ shape: ['{"message":"Welcome! \u2026","suggestions":["Yes","No"],"waitForResponse":<bool>}'],
22175
+ notes: ['message is required. The key is "message", not "messageTemplate".']
22176
+ },
22177
+ "chat:pause": {
22178
+ summary: "pause the chat for a human response",
22179
+ shape: ['{"message":"<optional assistant message shown on pause>"}']
22180
+ }
22181
+ };
22182
+ function renderHint(actionType, entry) {
22183
+ const lines = [`${actionType} actionParams (${entry.summary})`];
22184
+ for (const line of entry.shape) lines.push(` ${line}`);
22185
+ for (const note of entry.notes ?? []) lines.push(` ${note}`);
22186
+ return lines.join("\n");
22187
+ }
22188
+ function renderActionParamHint(actionType) {
22189
+ const entry = ACTION_PARAM_HINTS[actionType];
22190
+ return entry ? renderHint(actionType, entry) : void 0;
22191
+ }
22192
+ function renderAllActionParamHints() {
22193
+ return Object.entries(ACTION_PARAM_HINTS).map(([actionType, entry]) => renderHint(actionType, entry)).join("\n\n");
22194
+ }
21199
22195
 
21200
22196
  // src/lib/events/field-help.ts
21201
22197
  var EVENT_RULE_FIELD_REFERENCE = `
@@ -21217,29 +22213,194 @@ Common optional
21217
22213
  Scope (set exactly one when objectType requires it)
21218
22214
  routineId, workflowId, taskId, dataTypeId, journeyStepId, calendarId, ...
21219
22215
 
21220
- chat:create actionParams (outbound voice/SMS \u2014 starts a workflow chat)
21221
- {"workflowUUID":"<workflow-uuid>","channel":"phone-voice"|"phone-sms",
21222
- "phoneNumberUUID":"<uuid>","inboxUUID":"<optional-uuid>","assistantEnabled":<bool>}
21223
- Keys are UUID strings: workflowUUID (not workflowId), phoneNumberUUID (not
21224
- phoneNumberId), inboxUUID (not inboxId). Unknown keys are rejected.
21225
-
21226
- sms:send actionParams (send an SMS, or start an SMS workflow chat)
21227
- One-off text: {"phoneNumberUUID":"<from-number-uuid>","messageTemplate":"Hi {{name}} \u2026"}
21228
- Workflow chat: {"phoneNumberUUID":"<from-number-uuid>","workflowUUID":"<workflow-uuid>",
21229
- "initialUserMessage":"<optional seed>"}
21230
- phoneNumberUUID (the from-number) is required. The message body is messageTemplate
21231
- (supports {{record/member}} template vars) \u2014 there is no "body"/"message" key.
21232
- Provide messageTemplate for a one-off text, OR workflowUUID to start a chat.
21233
-
21234
- member:label actionParams
21235
- {"addLabelIds":["<uuid>"],"removeLabelIds":["<uuid>"]}
21236
-
21237
- member:notify actionParams
21238
- {"messageTemplate":"Hi {{member.name}} \u2026","memberId":<member-id>} (or "sendToOwner":true)
21239
- messageTemplate is required (supports {{member}} template vars). Target exactly one
21240
- of memberId or sendToOwner.
22216
+ ${renderAllActionParamHints()}
22217
+
22218
+ Prefer a typed creator over hand-built JSON when one fits the trigger:
22219
+ gr events rules create-routine-rule routine fires
22220
+ gr events rules create-task-rule member reaches a task
22221
+ gr events rules create-data-record-rule form record created/updated
22222
+ gr events rules types triggers and the actions each accepts
21241
22223
  `;
21242
22224
 
22225
+ // src/lib/events/rule-create.ts
22226
+ init_dist();
22227
+ init_errors();
22228
+ var ALL_ACTION_TYPES = Object.values(EventRuleActionType).sort();
22229
+ var DATA_RECORD_EVENT_TYPES = [
22230
+ EventRuleEventType.DATA_RECORD_CREATED,
22231
+ EventRuleEventType.DATA_RECORD_UPDATED
22232
+ ];
22233
+ var DEFAULT_CHAT_CHANNEL = "web-chat";
22234
+ function editDistance(a, b) {
22235
+ const rows = a.length + 1;
22236
+ const cols = b.length + 1;
22237
+ let prev = Array.from({ length: cols }, (_, j) => j);
22238
+ for (let i = 1; i < rows; i++) {
22239
+ const curr = Array.from({ length: cols }, (_, j) => j === 0 ? i : 0);
22240
+ for (let j = 1; j < cols; j++) {
22241
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
22242
+ curr[j] = Math.min(prev[j] + 1, curr[j - 1] + 1, prev[j - 1] + cost);
22243
+ }
22244
+ prev = curr;
22245
+ }
22246
+ return prev[cols - 1];
22247
+ }
22248
+ function suggestValues(input2, allowed) {
22249
+ const namespace = input2.includes(":") ? input2.slice(0, input2.indexOf(":") + 1) : null;
22250
+ const scored = allowed.map((candidate) => ({ candidate, distance: editDistance(input2, candidate) })).filter(
22251
+ ({ candidate, distance }) => distance <= 3 || namespace !== null && candidate.startsWith(namespace)
22252
+ ).sort((a, b) => a.distance - b.distance || a.candidate.localeCompare(b.candidate));
22253
+ return scored.slice(0, 3).map(({ candidate }) => candidate);
22254
+ }
22255
+ function requireEnumValue(raw, allowed, flag, trailingHint, listLabel = "Valid values") {
22256
+ const match = allowed.find((candidate) => candidate === raw);
22257
+ if (match !== void 0) return match;
22258
+ const suggestions = suggestValues(raw, allowed);
22259
+ const didYouMean = suggestions.length ? ` Did you mean: ${suggestions.join(", ")}?` : "";
22260
+ const tail = trailingHint ? ` ${trailingHint}` : "";
22261
+ throw new CLIError(
22262
+ `Unknown --${flag} "${raw}".${didYouMean} ${listLabel}: ${allowed.join(", ")}.${tail}`
22263
+ );
22264
+ }
22265
+ function requireActionType(args) {
22266
+ const raw = optionalString(args, "action-type");
22267
+ const pointer = "Run `gr events rules types` for the trigger\u2192action matrix this workspace accepts.";
22268
+ if (raw === void 0) {
22269
+ throw new CLIError(
22270
+ `Missing required argument: --action-type. Known action types: ${ALL_ACTION_TYPES.join(", ")}. ${pointer}`
22271
+ );
22272
+ }
22273
+ return requireEnumValue(raw, ALL_ACTION_TYPES, "action-type", pointer, "Known action types");
22274
+ }
22275
+ function parseActionParams(args, actionType) {
22276
+ const raw = optionalString(args, "action-params");
22277
+ if (raw === void 0) return void 0;
22278
+ const hint2 = renderActionParamHint(actionType);
22279
+ const withHint = (message) => new CLIError(hint2 ? `${message}
22280
+
22281
+ ${hint2}` : message);
22282
+ let parsed;
22283
+ try {
22284
+ parsed = JSON.parse(raw);
22285
+ } catch (err) {
22286
+ throw withHint(
22287
+ `--action-params must be a JSON object: ${err instanceof Error ? err.message : String(err)}`
22288
+ );
22289
+ }
22290
+ if (typeof parsed === "string") {
22291
+ try {
22292
+ parsed = JSON.parse(parsed);
22293
+ } catch {
22294
+ }
22295
+ }
22296
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
22297
+ throw withHint(`--action-params must be a JSON object, got ${describeJson(parsed)}.`);
22298
+ }
22299
+ return parsed;
22300
+ }
22301
+ function describeJson(value) {
22302
+ if (value === null) return "null";
22303
+ if (Array.isArray(value)) return "an array";
22304
+ return `a ${typeof value}`;
22305
+ }
22306
+ function parseCommonRuleFlags(args) {
22307
+ const actionType = requireActionType(args);
22308
+ return {
22309
+ actionType,
22310
+ actionParams: parseActionParams(args, actionType),
22311
+ name: optionalString(args, "name"),
22312
+ conditions: optionalString(args, "conditions"),
22313
+ active: optionalBool(args, "active") ?? true
22314
+ };
22315
+ }
22316
+ function parseDelay(args) {
22317
+ const delay = optionalNumber(args, "delay") ?? 0;
22318
+ if (delay < 0 || !Number.isInteger(delay)) {
22319
+ throw new CLIError(`--delay must be a non-negative whole number of seconds (got ${delay})`);
22320
+ }
22321
+ return delay;
22322
+ }
22323
+ function assertChatCreateWorkflowResolvable(params, howToSupply) {
22324
+ if (typeof params.workflowUUID === "string" && params.workflowUUID.trim() !== "") return;
22325
+ throw new CLIError(
22326
+ `chat:create needs a workflowUUID \u2014 the stable workflow uuid, not a revision uuid. ${howToSupply} Find it with: gr workflows get --id <workflow-id> -w $WID --jq .uuid
22327
+
22328
+ ` + renderActionParamHint(EventRuleActionType.CHAT_CREATE)
22329
+ );
22330
+ }
22331
+ function hydrateChatCreateParams(actionType, actionParams, workflowUuid) {
22332
+ if (actionType !== EventRuleActionType.CHAT_CREATE) {
22333
+ if (workflowUuid !== void 0) {
22334
+ throw new CLIError(
22335
+ `--workflow-uuid only applies to --action-type chat:create (got "${actionType}"). Other actions take their workflow UUID inside --action-params.`
22336
+ );
22337
+ }
22338
+ return actionParams;
22339
+ }
22340
+ const params = { ...actionParams ?? {} };
22341
+ if (workflowUuid !== void 0 && !params.workflowUUID) {
22342
+ params.workflowUUID = workflowUuid;
22343
+ }
22344
+ if (params.channel === void 0) {
22345
+ params.channel = DEFAULT_CHAT_CHANNEL;
22346
+ }
22347
+ assertChatCreateWorkflowResolvable(
22348
+ params,
22349
+ 'Pass --workflow-uuid <uuid>, or put "workflowUUID" in --action-params.'
22350
+ );
22351
+ return params;
22352
+ }
22353
+ function assertTaskChatCreateParams(actionType, actionParams) {
22354
+ if (actionType !== EventRuleActionType.CHAT_CREATE) return;
22355
+ assertChatCreateWorkflowResolvable(
22356
+ actionParams ?? {},
22357
+ 'Put "workflowUUID" in --action-params (task rules have no --workflow-uuid shorthand, matching create_task_rule).'
22358
+ );
22359
+ }
22360
+ function buildRoutineRuleData(routineId, common, delay, workflowUuid) {
22361
+ return {
22362
+ name: common.name ?? `Routine Rule #${routineId}`,
22363
+ objectType: EventRuleObjectType.ROUTINE,
22364
+ eventType: EventRuleEventType.ROUTINE_TRIGGERED,
22365
+ actionType: common.actionType,
22366
+ actionParams: hydrateChatCreateParams(common.actionType, common.actionParams, workflowUuid) ?? {},
22367
+ routineId,
22368
+ conditions: common.conditions ?? null,
22369
+ active: common.active,
22370
+ delay,
22371
+ order: 0
22372
+ };
22373
+ }
22374
+ function buildTaskRuleData(taskId, common) {
22375
+ assertTaskChatCreateParams(common.actionType, common.actionParams);
22376
+ return {
22377
+ name: common.name ?? `Task Rule (Task #${taskId})`,
22378
+ objectType: EventRuleObjectType.TASK,
22379
+ eventType: EventRuleEventType.TASK_EXECUTE,
22380
+ actionType: common.actionType,
22381
+ actionParams: common.actionParams ?? {},
22382
+ taskId,
22383
+ conditions: common.conditions ?? null,
22384
+ active: common.active,
22385
+ delay: 0,
22386
+ order: 0
22387
+ };
22388
+ }
22389
+ function buildDataRecordRuleData(dataTypeId, eventType, common, workflowUuid) {
22390
+ return {
22391
+ name: common.name ?? `Data Record Rule (Type #${dataTypeId})`,
22392
+ objectType: EventRuleObjectType.DATA_RECORD,
22393
+ eventType,
22394
+ actionType: common.actionType,
22395
+ actionParams: hydrateChatCreateParams(common.actionType, common.actionParams, workflowUuid) ?? {},
22396
+ dataTypeId,
22397
+ conditions: common.conditions ?? null,
22398
+ active: common.active,
22399
+ delay: 0,
22400
+ order: 0
22401
+ };
22402
+ }
22403
+
21243
22404
  // src/domains/events.ts
21244
22405
  var RULE_COLUMNS = [
21245
22406
  COL.id(),
@@ -21338,7 +22499,247 @@ var eventRulesListCmd = {
21338
22499
  outputData(listResult(result2, true), ctx, RULE_COLUMNS);
21339
22500
  }
21340
22501
  };
21341
- var eventRulesCrud = [eventRulesListCmd, ...eventRulesCrudNoList];
22502
+ var CREATE_RULE_COMMON_ARGS = [
22503
+ {
22504
+ name: "action-type",
22505
+ description: "What to run when the rule fires (see `gr events rules types`)",
22506
+ required: true
22507
+ },
22508
+ {
22509
+ name: "action-params",
22510
+ description: "Action parameters as a JSON object (shapes in Examples below)"
22511
+ },
22512
+ { name: "name", description: "Rule name (auto-generated when omitted)" },
22513
+ { name: "conditions", description: "CEL expression; the rule only fires when it is true" },
22514
+ { name: "active", description: "true or false (default: true)" }
22515
+ ];
22516
+ var VERIFY_EXAMPLE_LINES = [
22517
+ "",
22518
+ "Verify what was created (the rule id is in the output above):",
22519
+ "gr events rules get --id <rule-id> -w $WID --jq '{eventType,actionType,actionParams,active}'"
22520
+ ];
22521
+ function actionParamExampleLines(actionTypes) {
22522
+ const lines = ["", "Action params by action type:"];
22523
+ for (const actionType of actionTypes) {
22524
+ const rendered = renderActionParamHint(actionType);
22525
+ if (rendered) lines.push(...rendered.split("\n"));
22526
+ }
22527
+ return lines;
22528
+ }
22529
+ async function submitRule(hctx, rule, label) {
22530
+ const created = await requireAuth(hctx.ctx).apiClient.createEventRule(hctx.workspace, rule);
22531
+ outputSingle(created, hctx.ctx, RULE_COLUMNS);
22532
+ hint(hctx.ctx, [
22533
+ `Created ${label}. Confirm it before reporting success:`,
22534
+ ` gr events rules get --id ${created.id} -w $WID -o json`
22535
+ ]);
22536
+ }
22537
+ var createRoutineRuleCmd = {
22538
+ path: ["events", "rules", "create-routine-rule"],
22539
+ description: "Create a rule that fires when a routine triggers (tool: create_routine_rule)",
22540
+ mutates: true,
22541
+ requiresWorkspace: true,
22542
+ columns: RULE_COLUMNS,
22543
+ args: [
22544
+ { name: "routine-id", description: "Routine ID from `gr routines list`", required: true },
22545
+ ...CREATE_RULE_COMMON_ARGS,
22546
+ {
22547
+ name: "workflow-uuid",
22548
+ description: "Workflow UUID for chat:create (stable workflow uuid, not a revision)"
22549
+ },
22550
+ { name: "delay", description: "Seconds to wait before running the action (default: 0)" }
22551
+ ],
22552
+ examples: [
22553
+ "Trigger: routine:triggered. Common actions: chat:create, webhook:send,",
22554
+ "email:send, member:notify.",
22555
+ "",
22556
+ "Scheduled outbound voice check-in:",
22557
+ "gr events rules create-routine-rule -w $WID --allow-write \\",
22558
+ " --routine-id 12 --action-type chat:create \\",
22559
+ ' --workflow-uuid "$(gr workflows get --id 3 -w $WID --jq .uuid)" \\',
22560
+ ` --action-params '{"channel":"phone-voice","phoneNumberUUID":"<uuid>"}'`,
22561
+ "",
22562
+ "Webhook on every fire, only for high-priority members:",
22563
+ "gr events rules create-routine-rule -w $WID --allow-write \\",
22564
+ " --routine-id 12 --action-type webhook:send \\",
22565
+ ` --action-params '{"webhookUrl":"https://example.com/hook"}' \\`,
22566
+ ` --conditions 'member.labels.exists(l, l == "priority")'`,
22567
+ ...actionParamExampleLines(["chat:create", "webhook:send", "email:send", "member:notify"]),
22568
+ ...VERIFY_EXAMPLE_LINES
22569
+ ],
22570
+ handler: async (hctx) => {
22571
+ const routineId = requireNumberFrom(hctx.args, "routine-id");
22572
+ const common = parseCommonRuleFlags(hctx.args);
22573
+ const rule = buildRoutineRuleData(
22574
+ routineId,
22575
+ common,
22576
+ parseDelay(hctx.args),
22577
+ optionalString(hctx.args, "workflow-uuid")
22578
+ );
22579
+ await submitRule(hctx, rule, `routine rule on routine ${routineId}`);
22580
+ }
22581
+ };
22582
+ var createTaskRuleCmd = {
22583
+ path: ["events", "rules", "create-task-rule"],
22584
+ description: "Create a rule that fires when a member reaches a task (tool: create_task_rule)",
22585
+ mutates: true,
22586
+ requiresWorkspace: true,
22587
+ columns: RULE_COLUMNS,
22588
+ args: [
22589
+ { name: "task-id", description: "Task ID from `gr tasks list`", required: true },
22590
+ ...CREATE_RULE_COMMON_ARGS
22591
+ ],
22592
+ examples: [
22593
+ "Trigger: task:execute. Common actions: assistant:message, chat:pause,",
22594
+ "member:notify, member:label.",
22595
+ "",
22596
+ "Welcome message when the member enters the task:",
22597
+ "gr events rules create-task-rule -w $WID --allow-write \\",
22598
+ " --task-id 88 --action-type assistant:message \\",
22599
+ ` --action-params '{"message":"Welcome! Let us start with a few questions."}'`,
22600
+ "",
22601
+ "Label the member on arrival:",
22602
+ "gr events rules create-task-rule -w $WID --allow-write \\",
22603
+ " --task-id 88 --action-type member:label \\",
22604
+ ` --action-params "{\\"addLabelIds\\":[\\"$(gr members labels list -w $WID --jq '.[0].uuid')\\"]}"`,
22605
+ ...actionParamExampleLines([
22606
+ "assistant:message",
22607
+ "chat:pause",
22608
+ "member:notify",
22609
+ "member:label"
22610
+ ]),
22611
+ ...VERIFY_EXAMPLE_LINES
22612
+ ],
22613
+ handler: async (hctx) => {
22614
+ const taskId = requireNumberFrom(hctx.args, "task-id");
22615
+ const rule = buildTaskRuleData(taskId, parseCommonRuleFlags(hctx.args));
22616
+ await submitRule(hctx, rule, `task rule on task ${taskId}`);
22617
+ }
22618
+ };
22619
+ var createDataRecordRuleCmd = {
22620
+ path: ["events", "rules", "create-data-record-rule"],
22621
+ description: "Create a rule that fires on form record changes (tool: create_data_record_event_rule)",
22622
+ mutates: true,
22623
+ requiresWorkspace: true,
22624
+ columns: RULE_COLUMNS,
22625
+ args: [
22626
+ {
22627
+ name: "data-type-id",
22628
+ description: "DataType (Form) ID from `gr data-types list`",
22629
+ required: true
22630
+ },
22631
+ {
22632
+ name: "event-type",
22633
+ description: `Trigger: ${DATA_RECORD_EVENT_TYPES.join(" or ")}`,
22634
+ required: true
22635
+ },
22636
+ ...CREATE_RULE_COMMON_ARGS,
22637
+ {
22638
+ name: "workflow-uuid",
22639
+ description: "Workflow UUID for chat:create (stable workflow uuid, not a revision)"
22640
+ }
22641
+ ],
22642
+ examples: [
22643
+ "Triggers: data_record:created, data_record:updated. Common actions:",
22644
+ "chat:create, webhook:send, email:send, member:label.",
22645
+ "",
22646
+ "CEL conditions read record fields as record.data.<fieldname>:",
22647
+ "gr events rules create-data-record-rule -w $WID --allow-write \\",
22648
+ " --data-type-id 45 --event-type data_record:created \\",
22649
+ " --action-type member:notify \\",
22650
+ " --conditions 'record.data.total_score >= 15' \\",
22651
+ ` --action-params '{"sendToOwner":true,"messageTemplate":"High-risk screening submitted."}'`,
22652
+ "",
22653
+ "Webhook on every update of the form:",
22654
+ "gr events rules create-data-record-rule -w $WID --allow-write \\",
22655
+ " --data-type-id 45 --event-type data_record:updated \\",
22656
+ ` --action-type webhook:send --action-params '{"webhookUrl":"https://example.com/hook"}'`,
22657
+ ...actionParamExampleLines(["chat:create", "webhook:send", "email:send", "member:label"]),
22658
+ ...VERIFY_EXAMPLE_LINES
22659
+ ],
22660
+ handler: async (hctx) => {
22661
+ const dataTypeId = requireNumberFrom(hctx.args, "data-type-id");
22662
+ const eventType = requireEnumValue(
22663
+ optionalString(hctx.args, "event-type") ?? "",
22664
+ DATA_RECORD_EVENT_TYPES,
22665
+ "event-type",
22666
+ "Other triggers need `gr events rules create --data` or another create-*-rule command."
22667
+ );
22668
+ const rule = buildDataRecordRuleData(
22669
+ dataTypeId,
22670
+ eventType,
22671
+ parseCommonRuleFlags(hctx.args),
22672
+ optionalString(hctx.args, "workflow-uuid")
22673
+ );
22674
+ await submitRule(hctx, rule, `data record rule on data type ${dataTypeId}`);
22675
+ }
22676
+ };
22677
+ function isEventRuleTypeRow(item) {
22678
+ if (item === null || typeof item !== "object") return false;
22679
+ const row = item;
22680
+ return typeof row.eventType === "string" && Array.isArray(row.actions);
22681
+ }
22682
+ var TYPE_COLUMNS = [
22683
+ {
22684
+ header: "EVENT TYPE",
22685
+ getValue: (item) => isEventRuleTypeRow(item) ? item.eventType : ""
22686
+ },
22687
+ {
22688
+ header: "ACTIONS",
22689
+ getValue: (item) => isEventRuleTypeRow(item) ? item.actions.join(", ") : ""
22690
+ }
22691
+ ];
22692
+ var eventRuleTypesCmd = {
22693
+ path: ["events", "rules", "types"],
22694
+ description: "List triggers and the actions each accepts (tool: list_event_rule_types)",
22695
+ requiresWorkspace: true,
22696
+ columns: TYPE_COLUMNS,
22697
+ args: [
22698
+ { name: "event-type", description: "Show only this trigger" },
22699
+ { name: "action-type", description: "Show only triggers that accept this action" }
22700
+ ],
22701
+ examples: [
22702
+ "gr events rules types -w $WID",
22703
+ "gr events rules types -w $WID --event-type routine:triggered",
22704
+ "gr events rules types -w $WID --action-type sms:send --jq '.[].eventType'",
22705
+ "",
22706
+ "This is the authoritative compatibility matrix \u2014 a value appearing in the",
22707
+ "request schema is not proof the API accepts it as a trigger. Read it before",
22708
+ "creating a rule with an eventType you have not used before."
22709
+ ],
22710
+ handler: async ({ ctx, workspace, args }) => {
22711
+ const result2 = await requireAuth(ctx).apiClient.getAvailableActions(workspace);
22712
+ let mappings = (result2.mappings ?? []).map((m) => ({
22713
+ eventType: m.eventType,
22714
+ actions: m.actions
22715
+ }));
22716
+ const eventType = optionalString(args, "event-type");
22717
+ if (eventType !== void 0) {
22718
+ const known = mappings.map((m) => m.eventType);
22719
+ requireEnumValue(eventType, known, "event-type");
22720
+ mappings = mappings.filter((m) => m.eventType === eventType);
22721
+ }
22722
+ const actionType = optionalString(args, "action-type");
22723
+ if (actionType !== void 0) {
22724
+ requireEnumValue(actionType, ALL_ACTION_TYPES, "action-type");
22725
+ mappings = mappings.filter((m) => m.actions.includes(actionType));
22726
+ if (mappings.length === 0) {
22727
+ throw new CLIError(
22728
+ `No trigger accepts action "${actionType}" in this workspace. Run \`gr events rules types\` without filters for the full matrix.`
22729
+ );
22730
+ }
22731
+ }
22732
+ outputData(mappings, ctx, TYPE_COLUMNS);
22733
+ }
22734
+ };
22735
+ var eventRulesCrud = [
22736
+ eventRulesListCmd,
22737
+ eventRuleTypesCmd,
22738
+ createRoutineRuleCmd,
22739
+ createTaskRuleCmd,
22740
+ createDataRecordRuleCmd,
22741
+ ...eventRulesCrudNoList
22742
+ ];
21342
22743
  var eventRulesAliases = eventRulesCrud.filter((cmd) => {
21343
22744
  const verb = cmd.path[cmd.path.length - 1];
21344
22745
  return verb === "list" || verb === "get";
@@ -21850,7 +23251,6 @@ var STEP_COLUMNS = [
21850
23251
  { header: "UUID", getValue: (item) => (item.uuid ?? "").slice(0, 8) },
21851
23252
  COL.name(),
21852
23253
  { header: "TYPE", getValue: (item) => item.stepType ?? "" },
21853
- { header: "TRIGGER", getValue: (item) => item.triggerType ?? "" },
21854
23254
  { header: "ORDER", getValue: (item) => String(item.order ?? "") }
21855
23255
  ];
21856
23256
  var MEMBER_JOURNEY_COLUMNS = [
@@ -23002,13 +24402,24 @@ function estimateRealtimeRunCostUsd(modelId) {
23002
24402
  function projectRealtimeBatchCostUsd(jobs) {
23003
24403
  return jobs.filter((j) => j.realtime).reduce((sum, j) => sum + estimateRealtimeRunCostUsd(j.modelId), 0);
23004
24404
  }
23005
- function actualRealtimeRowCostUsd(row, modelId) {
24405
+ function finiteNonNegative(value) {
24406
+ return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : void 0;
24407
+ }
24408
+ function billableRealtimeRowMinutes(row) {
23006
24409
  const summary = row.timing_summary;
23007
- const audioMs = summary ? summary["audio_output_ms_total"] : void 0;
23008
- if (typeof audioMs === "number" && Number.isFinite(audioMs) && audioMs >= 0) {
23009
- return audioMs / 6e4 * realtimeAudioUsdPerMin(modelId) + EST_TEXT_USD_PER_RUN;
23010
- }
23011
- return estimateRealtimeRunCostUsd(modelId);
24410
+ if (!summary) return void 0;
24411
+ const billableMs = finiteNonNegative(summary["billable_audio_ms_total"]);
24412
+ if (billableMs === void 0) return void 0;
24413
+ if (summary["billable_audio_source"] === "generated_audio_floor") return void 0;
24414
+ return billableMs / 6e4;
24415
+ }
24416
+ function actualRealtimeRowCostUsd(row, modelId) {
24417
+ const usdPerMin = realtimeAudioUsdPerMin(modelId);
24418
+ const billableMinutes = billableRealtimeRowMinutes(row);
24419
+ const measured = billableMinutes === void 0 ? estimateRealtimeRunCostUsd(modelId) : billableMinutes * usdPerMin + EST_TEXT_USD_PER_RUN;
24420
+ const generatedMs = row.timing_summary ? finiteNonNegative(row.timing_summary["audio_output_ms_total"]) : void 0;
24421
+ const generatedFloor = generatedMs === void 0 ? 0 : generatedMs / 6e4 * usdPerMin + EST_TEXT_USD_PER_RUN;
24422
+ return Math.max(measured, generatedFloor);
23012
24423
  }
23013
24424
  function parseMaxBudgetUsd(raw, flagName) {
23014
24425
  if (raw === void 0 || raw === null || raw === "") {
@@ -23029,12 +24440,26 @@ function summarizeCriterionResults(run) {
23029
24440
  score: c.score ?? null
23030
24441
  }));
23031
24442
  }
23032
- function runToBatchRow(job, workflowId, run, error, batchLabel) {
24443
+ function formatRevisionLabel(row) {
24444
+ const pin = row.workflow_revision_pinned ? "(pinned)" : "";
24445
+ if (row.workflow_revision_number != null) {
24446
+ return `#${row.workflow_revision_number}${pin}`;
24447
+ }
24448
+ if (row.workflow_revision_id != null) {
24449
+ return `id${row.workflow_revision_id}${pin}`;
24450
+ }
24451
+ return `?${pin}`;
24452
+ }
24453
+ function runToBatchRow(job, workflowId, run, error, batchLabel, pinnedRevisionId) {
23033
24454
  return {
23034
24455
  ts: (/* @__PURE__ */ new Date()).toISOString(),
23035
24456
  round: job.round,
23036
24457
  warmup: job.warmup,
23037
24458
  workflow_id: workflowId,
24459
+ workflow_revision_id: run?.workflowRevisionId ?? null,
24460
+ workflow_revision_number: run?.workflowRevisionNumber ?? null,
24461
+ workflow_revision_name: run?.workflowRevisionName ?? null,
24462
+ ...pinnedRevisionId != null ? { workflow_revision_pinned: true } : {},
23038
24463
  scenario_id: job.scenarioId,
23039
24464
  scenario_slug: job.scenarioSlug,
23040
24465
  scenario_name: job.scenarioName,
@@ -23060,21 +24485,32 @@ function parseConcurrency(raw, flagName, fallback) {
23060
24485
  }
23061
24486
  return value;
23062
24487
  }
24488
+ var BatchWaitTimeoutError = class extends CLIError {
24489
+ constructor(message, lastPolledRun) {
24490
+ super(message);
24491
+ this.lastPolledRun = lastPolledRun;
24492
+ }
24493
+ lastPolledRun;
24494
+ };
23063
24495
  async function waitForRunTerminal(api, workspace, runId, timeoutMs, pollMs, sleep) {
23064
24496
  const deadline = Date.now() + timeoutMs;
24497
+ let lastPolled;
23065
24498
  while (Date.now() < deadline) {
23066
24499
  const run = await api.getTestChatRun(workspace, runId);
24500
+ lastPolled = run;
23067
24501
  if (run.completedAt || run.failedAt) {
23068
24502
  return run;
23069
24503
  }
23070
24504
  await sleep(pollMs);
23071
24505
  }
23072
- throw new CLIError(`Timed out waiting for run ${runId} to complete`);
24506
+ throw new BatchWaitTimeoutError(`Timed out waiting for run ${runId} to complete`, lastPolled);
23073
24507
  }
23074
24508
  async function waitForEvaluation(api, workspace, runId, timeoutMs, pollMs, sleep) {
24509
+ let lastPolled;
23075
24510
  const deadline = Date.now() + timeoutMs;
23076
24511
  while (Date.now() < deadline) {
23077
24512
  const run = await api.getTestChatRun(workspace, runId);
24513
+ lastPolled = run;
23078
24514
  if (run.evaluatedAt) {
23079
24515
  return run;
23080
24516
  }
@@ -23083,25 +24519,27 @@ async function waitForEvaluation(api, workspace, runId, timeoutMs, pollMs, sleep
23083
24519
  }
23084
24520
  await sleep(pollMs);
23085
24521
  }
23086
- throw new CLIError(`Timed out waiting for evaluation on run ${runId}`);
24522
+ throw new BatchWaitTimeoutError(`Timed out waiting for evaluation on run ${runId}`, lastPolled);
23087
24523
  }
23088
24524
  function formatBatchProgressLine(job, row) {
23089
24525
  const ttftP50 = row.timing_summary && typeof row.timing_summary === "object" && row.timing_summary.ttft_ms && typeof row.timing_summary.ttft_ms === "object" && "p50" in row.timing_summary.ttft_ms ? String(row.timing_summary.ttft_ms.p50) : "-";
23090
24526
  const cfg = isConfigurationBlockerFailure(row.failure_reason) ? " CONFIG_BLOCKER" : "";
23091
24527
  const skipped = row.batch_skipped ? " SKIPPED" : "";
23092
- return `r${job.round} ${job.modelId} scenario=${job.scenarioId} run=${row.run_id ?? "ERR"} passed=${row.passed ?? "-"} score=${row.overall_score != null ? row.overall_score.toFixed(2) : "-"} ttft_p50=${ttftP50}ms${row.error ? ` [${formatProgressError(row.error)}]` : ""}${cfg}${skipped}${job.warmup ? " WARM" : ""}`;
24528
+ return `r${job.round} ${job.modelId} scenario=${job.scenarioId} rev=${formatRevisionLabel(row)} run=${row.run_id ?? "ERR"} passed=${row.passed ?? "-"} score=${row.overall_score != null ? row.overall_score.toFixed(2) : "-"} ttft_p50=${ttftP50}ms${row.error ? ` [${formatProgressError(row.error)}]` : ""}${cfg}${skipped}${job.warmup ? " WARM" : ""}`;
23093
24529
  }
23094
24530
  async function executeModelEvalJob(api, options, job, waitTimeoutMs, pollMs, sleep) {
24531
+ let run;
23095
24532
  try {
23096
24533
  const started = await api.startTestChatRun(options.workspace, options.workflowId, {
23097
24534
  scenarioId: job.scenarioId,
23098
24535
  driver: DriverMode.AUTO,
24536
+ ...options.workflowRevisionId != null ? { workflowRevisionId: options.workflowRevisionId } : {},
23099
24537
  ...job.realtime ? {
23100
24538
  assistantRealtimeModelId: job.modelId,
23101
24539
  ...options.realtimeConfig ? { assistantRealtimeModelConfig: options.realtimeConfig } : {}
23102
24540
  } : { assistantChatModelId: job.modelId }
23103
24541
  });
23104
- let run = await waitForRunTerminal(
24542
+ run = await waitForRunTerminal(
23105
24543
  api,
23106
24544
  options.workspace,
23107
24545
  started.run.id,
@@ -23120,10 +24558,25 @@ async function executeModelEvalJob(api, options, job, waitTimeoutMs, pollMs, sle
23120
24558
  sleep
23121
24559
  );
23122
24560
  }
23123
- return runToBatchRow(job, options.workflowId, run, void 0, options.batchLabel);
24561
+ return runToBatchRow(
24562
+ job,
24563
+ options.workflowId,
24564
+ run,
24565
+ void 0,
24566
+ options.batchLabel,
24567
+ options.workflowRevisionId
24568
+ );
23124
24569
  } catch (e) {
23125
24570
  const message = e instanceof Error ? e.message : String(e);
23126
- return runToBatchRow(job, options.workflowId, null, message, options.batchLabel);
24571
+ const lastKnown = (e instanceof BatchWaitTimeoutError ? e.lastPolledRun : void 0) ?? run ?? null;
24572
+ return runToBatchRow(
24573
+ job,
24574
+ options.workflowId,
24575
+ lastKnown,
24576
+ message,
24577
+ options.batchLabel,
24578
+ options.workflowRevisionId
24579
+ );
23127
24580
  }
23128
24581
  }
23129
24582
  function createSpacingGate(spacingSec, sleep) {
@@ -23197,7 +24650,8 @@ async function executeModelEvalBatch(api, options) {
23197
24650
  options.workflowId,
23198
24651
  null,
23199
24652
  budgetStopped ? "batch stopped: realtime budget cap reached" : "batch aborted before start",
23200
- options.batchLabel
24653
+ options.batchLabel,
24654
+ options.workflowRevisionId
23201
24655
  ),
23202
24656
  batch_skipped: true
23203
24657
  });
@@ -23495,6 +24949,16 @@ var qualificationsDomain = {
23495
24949
  },
23496
24950
  { name: "goal", description: "Goal for the user simulator", required: false },
23497
24951
  { name: "driver", description: "Driver mode: auto | human", required: false },
24952
+ {
24953
+ name: "workflow-revision-id",
24954
+ description: "Pin runs to this workflow revision (e.g. an unpublished draft) instead of the active one",
24955
+ required: false
24956
+ },
24957
+ {
24958
+ name: "workflow-revision-uuid",
24959
+ description: "Pin runs to this workflow revision by uuid",
24960
+ required: false
24961
+ },
23498
24962
  {
23499
24963
  name: "assistant-chat-model-id",
23500
24964
  description: "Override assistant chat model for this run",
@@ -23537,6 +25001,8 @@ var qualificationsDomain = {
23537
25001
  {
23538
25002
  ...scenarioId != null ? { scenarioId } : {},
23539
25003
  ...personaId != null ? { personaId } : {},
25004
+ ...args["workflow-revision-id"] ? { workflowRevisionId: requireNumber(args, "workflow-revision-id") } : {},
25005
+ ...args["workflow-revision-uuid"] ? { workflowRevisionUuid: String(args["workflow-revision-uuid"]) } : {},
23540
25006
  ...args["goal"] ? { goal: String(args["goal"]) } : {},
23541
25007
  ...args["assistant-chat-model-id"] ? { assistantChatModelId: String(args["assistant-chat-model-id"]) } : {},
23542
25008
  ...args["assistant-realtime-model-id"] ? {
@@ -23572,6 +25038,11 @@ var qualificationsDomain = {
23572
25038
  requiresWorkspace: true,
23573
25039
  args: [
23574
25040
  { name: "workflow-id", description: "Workflow ID", required: true },
25041
+ {
25042
+ name: "workflow-revision-id",
25043
+ description: "Pin every run to this workflow revision (e.g. an unpublished draft) instead of the active one",
25044
+ required: false
25045
+ },
23575
25046
  {
23576
25047
  name: "models",
23577
25048
  description: "Comma-separated assistant chat model IDs (optional with --realtime-models)",
@@ -23677,6 +25148,7 @@ var qualificationsDomain = {
23677
25148
  return id;
23678
25149
  }) : null;
23679
25150
  const workflowId = requireNumber(args, "workflow-id");
25151
+ const workflowRevisionId = args["workflow-revision-id"] ? requireNumber(args, "workflow-revision-id") : void 0;
23680
25152
  const rounds = parsePositiveInt(args.rounds, "--rounds", 1);
23681
25153
  if (rounds < 1) throw new CLIError("--rounds must be >= 1");
23682
25154
  const warmup = parsePositiveInt(args.warmup, "--warmup", 0);
@@ -23700,6 +25172,7 @@ var qualificationsDomain = {
23700
25172
  await executeModelEvalBatch(auth.apiClient, {
23701
25173
  workspace,
23702
25174
  workflowId,
25175
+ workflowRevisionId,
23703
25176
  models,
23704
25177
  realtimeModels,
23705
25178
  realtimeConfig,
@@ -24493,7 +25966,7 @@ function toAbilityData(a) {
24493
25966
  ...a.celCondition ? { celCondition: a.celCondition } : {}
24494
25967
  };
24495
25968
  }
24496
- var TYPE_COLUMNS = [
25969
+ var TYPE_COLUMNS2 = [
24497
25970
  { header: "SLUG", getValue: (item) => item.slug ?? "" },
24498
25971
  { header: "TITLE", getValue: (item) => item.title ?? "" },
24499
25972
  { header: "CATEGORY", getValue: (item) => item.category ?? "" },
@@ -24514,7 +25987,7 @@ var abilitiesDomain = {
24514
25987
  path: ["abilities", "list"],
24515
25988
  description: "List builtin ability types with their channel constraints and param specs. Table shows SLUG, TITLE, CATEGORY, CHANNELS (all = every channel), SINGLETON, FEATURE-GATE; use -o json for full specs including the params JSON Schema.",
24516
25989
  requiresWorkspace: true,
24517
- columns: TYPE_COLUMNS,
25990
+ columns: TYPE_COLUMNS2,
24518
25991
  args: [
24519
25992
  {
24520
25993
  name: "include-system",
@@ -24528,7 +26001,7 @@ var abilitiesDomain = {
24528
26001
  hctx.workspace,
24529
26002
  includeSystem ? { includeSystem: true } : {}
24530
26003
  );
24531
- outputData(result2.types ?? [], hctx.ctx, TYPE_COLUMNS);
26004
+ outputData(result2.types ?? [], hctx.ctx, TYPE_COLUMNS2);
24532
26005
  }
24533
26006
  },
24534
26007
  {
@@ -26822,8 +28295,15 @@ var LEGAL_ENTITY_COLUMNS = [
26822
28295
  { header: "PRIMARY", getValue: (e) => e.isPrimary ? "yes" : "" },
26823
28296
  { header: "ID TYPE", getValue: (e) => e.registrationIdentifierType ?? "" },
26824
28297
  { header: "PROFILE SID", getValue: (e) => e.customerProfileSid ?? "" },
26825
- // The CACHED status hint. `org business-profile get` reads Twilio live.
26826
- { header: "PROFILE STATUS (cached)", getValue: (e) => e.customerProfileStatus ?? "" }
28298
+ // Both are CACHED hints. `org business-profile get` reads Twilio live.
28299
+ // Two columns since #23568: lifecycle and compliance answer different
28300
+ // questions and used to share one overloaded field, so a blank status no
28301
+ // longer means "nothing known" — check the evaluation column too.
28302
+ { header: "PROFILE STATUS (cached)", getValue: (e) => e.customerProfileStatus ?? "" },
28303
+ {
28304
+ header: "EVALUATION (cached)",
28305
+ getValue: (e) => e.customerProfileEvaluation ?? ""
28306
+ }
26827
28307
  ];
26828
28308
  var LEGAL_ENTITY_UUID_ARG = {
26829
28309
  name: "legal-entity-uuid",
@@ -27002,7 +28482,7 @@ var commands2 = [
27002
28482
  },
27003
28483
  {
27004
28484
  path: ["org", "trust-products", "sync"],
27005
- description: "Reconcile voice trust products against Twilio: claim products staged outside the app and refresh non-terminal statuses. This is the prerequisite for `admin phone-numbers migrate`, whose preflight reads the cached state. 409 if another Trust Hub operation holds the org lock \u2014 retry shortly.",
28485
+ description: "Reconcile voice trust products against Twilio: claim products staged outside the app and refresh non-terminal statuses. This is the prerequisite for `admin phone-numbers migrate`, whose preflight reads the cached state. 409 if another Trust Hub operation holds this legal entity lock \u2014 it fails fast and sends no Retry-After, because holders range from milliseconds to minutes. Back off on your own schedule and re-read before retrying.",
27006
28486
  // Writes trust_hub_state and calls Twilio. Read-only in business terms
27007
28487
  // (it discovers, it does not create or submit), but it mutates our cache,
27008
28488
  // so it takes --allow-write like every other state-changing verb.
@@ -27301,9 +28781,9 @@ Caller-facing messages
27301
28781
  voicemailGreeting (string)
27302
28782
 
27303
28783
  Inbound calls (inboundCallHandling)
27304
- agent | fax | always_forward | forward_off_hours | always_message | message_off_hours | voicemail | voicemail_off_hours | ring_operators
28784
+ agent | fax | always_forward | forward_off_hours | forward_business_hours | forward_unknown_callers | always_message | message_off_hours | message_business_hours | voicemail | voicemail_off_hours | voicemail_business_hours | ring_operators
27305
28785
  SMS work modes (smsWorkMode)
27306
- always_forward | forward_off_hours | always_message | message_off_hours
28786
+ always_forward | forward_off_hours | forward_business_hours | always_message | message_off_hours | message_business_hours
27307
28787
  voiceForwardNumber, smsForwardNumber, voiceOffHoursMessage, smsOffHoursMessage
27308
28788
 
27309
28789
  Provider link
@@ -27560,8 +29040,15 @@ function simulateInboundRouting(phone, opts = {}) {
27560
29040
  outcome: callerRole,
27561
29041
  detail: resolutionDetail
27562
29042
  });
29043
+ const inboundCallHandling = phone.inboundCallHandling ?? "agent";
27563
29044
  if (callerRole === "member") {
27564
29045
  steps.push({ step: "member_access", outcome: "proceed" });
29046
+ } else if (inboundCallHandling === "forward_unknown_callers" && phone.voiceForwardNumber) {
29047
+ steps.push({
29048
+ step: "inbound_call_handling",
29049
+ outcome: "forward_unknown_callers"
29050
+ });
29051
+ return finish("forward_pstn", false, true, steps, recommendations, callerRole);
27565
29052
  } else if (callerRole === "anonymous") {
27566
29053
  if (!phone.anonymousMemberRoleId) {
27567
29054
  steps.push({
@@ -27586,7 +29073,6 @@ function simulateInboundRouting(phone, opts = {}) {
27586
29073
  });
27587
29074
  return finish("anonymous_rejection_tts", false, true, steps, recommendations, callerRole);
27588
29075
  }
27589
- const inboundCallHandling = phone.inboundCallHandling ?? "agent";
27590
29076
  if (inboundCallHandling === "fax") {
27591
29077
  steps.push({ step: "inbound_call_handling", outcome: "receive_fax" });
27592
29078
  return finish("fax_receive", true, true, steps, recommendations, callerRole);
@@ -27603,11 +29089,15 @@ function simulateInboundRouting(phone, opts = {}) {
27603
29089
  steps.push({ step: "inbound_call_handling", outcome: "forward_off_hours" });
27604
29090
  return finish("forward_pstn", false, true, steps, recommendations, callerRole);
27605
29091
  }
27606
- if (inboundCallHandling === "voicemail" || inboundCallHandling === "voicemail_off_hours" && !isBusinessHours) {
29092
+ if (inboundCallHandling === "forward_business_hours" && isBusinessHours && phone.voiceForwardNumber) {
29093
+ steps.push({ step: "inbound_call_handling", outcome: "forward_business_hours" });
29094
+ return finish("forward_pstn", false, true, steps, recommendations, callerRole);
29095
+ }
29096
+ if (inboundCallHandling === "voicemail" || inboundCallHandling === "voicemail_off_hours" && !isBusinessHours || inboundCallHandling === "voicemail_business_hours" && isBusinessHours) {
27607
29097
  steps.push({ step: "inbound_call_handling", outcome: "voicemail" });
27608
29098
  return finish("voicemail_record", true, true, steps, recommendations, callerRole);
27609
29099
  }
27610
- if ((inboundCallHandling === "always_message" || inboundCallHandling === "message_off_hours") && phone.voiceOffHoursMessage) {
29100
+ if (phone.voiceOffHoursMessage && (inboundCallHandling === "always_message" || inboundCallHandling === "message_off_hours" && !isBusinessHours || inboundCallHandling === "message_business_hours" && isBusinessHours)) {
27611
29101
  steps.push({ step: "inbound_call_handling", outcome: "play_message" });
27612
29102
  return finish("play_message_hangup", false, false, steps, recommendations, callerRole);
27613
29103
  }
@@ -28840,7 +30330,7 @@ var ROUTINE_COLUMNS = [
28840
30330
  COL.name(),
28841
30331
  { header: "MODE", getValue: (item) => item.scheduleMode ?? "" },
28842
30332
  { header: "CRON", getValue: (item) => item.cronString ?? "" },
28843
- { header: "TZ", getValue: (item) => item.timezone ?? "UTC" },
30333
+ { header: "TZ", getValue: (item) => item.timezone ?? "(workspace)" },
28844
30334
  { header: "ENABLED", getValue: (item) => String(item.scheduleEnabled ?? "") },
28845
30335
  { header: "NEXT RUN", getValue: (item) => item.nextRun ?? "" }
28846
30336
  ];
@@ -28870,7 +30360,7 @@ ${ROUTINE_FIELD_REFERENCE}`,
28870
30360
  ' "scheduleEnabled":true,"scheduleMode":"CRON","cronString":"0 7 * * *",',
28871
30361
  ` "timezone":"America/Los_Angeles","targetMemberId":1,"workflowId":2}'`,
28872
30362
  " (timezone is an IANA name; omit it to default to the workspace timezone, else UTC.",
28873
- ' Without it, "0 7 * * *" fires at 07:00 UTC, not 7am local.)',
30363
+ ' A workspace with no timezone configured reads "0 7 * * *" as 07:00 UTC.)',
28874
30364
  "",
28875
30365
  "To actually send via SMS/voice, pair the routine with an event rule:",
28876
30366
  ' gr events rules create \u2014 objectType "routine", eventType "routine:triggered",',
@@ -31212,6 +32702,33 @@ var salesforceDomain = {
31212
32702
  outputSingle(result2, ctx);
31213
32703
  }
31214
32704
  },
32705
+ {
32706
+ path: ["salesforce", "resync-members"],
32707
+ description: "Pull linked members\u2019 Salesforce records now, ignoring the sync cursor",
32708
+ mutates: true,
32709
+ requiresWorkspace: true,
32710
+ args: [
32711
+ {
32712
+ name: "member-ids",
32713
+ description: "Comma-separated member IDs. Omit to resync every linked member."
32714
+ }
32715
+ ],
32716
+ handler: async ({ ctx, workspace, args }) => {
32717
+ const raw = args["member-ids"];
32718
+ const memberIds = raw ? String(raw).split(",").map((v) => v.trim()).filter(Boolean).map((v) => {
32719
+ const n = Number(v);
32720
+ if (!Number.isInteger(n)) {
32721
+ throw new CLIError(`Invalid member id: ${v}`);
32722
+ }
32723
+ return n;
32724
+ }) : void 0;
32725
+ const result2 = await requireAuth(ctx).apiClient.resyncSalesforceLinkedMembers(
32726
+ workspace,
32727
+ memberIds ? { memberIds } : {}
32728
+ );
32729
+ outputSingle(result2, ctx);
32730
+ }
32731
+ },
31215
32732
  {
31216
32733
  path: ["salesforce", "reconciliation"],
31217
32734
  description: "Find matching Salesforce records for workspace members",
@@ -31563,6 +33080,7 @@ function registerPublicDomains(registry) {
31563
33080
  registry.register(agentTasksDomain);
31564
33081
  registry.register(assignmentsDomain);
31565
33082
  registry.register(dataTypesDomain);
33083
+ registry.register(devicesDomain);
31566
33084
  registry.register(sitesDomain);
31567
33085
  registry.register(filesDomain);
31568
33086
  registry.register(eventsDomain);
@@ -31786,9 +33304,12 @@ function isCliLocalFileInterrupt(value) {
31786
33304
  return v.type === "cli_local_file" && typeof v.action === "string" && typeof v.path === "string";
31787
33305
  }
31788
33306
 
33307
+ // src/lib/decline-message.ts
33308
+ var UI_CHOICE_DECLINE_MESSAGE = "The user declined to make a selection.";
33309
+
31789
33310
  // src/lib/openui-parse.ts
31790
33311
  function markupIsInteractive(markup) {
31791
- return markup.includes("ChoiceButton(") || markup.includes("Form(") || markup.includes("Input(") || markup.includes("TextArea(") || markup.includes("Select(");
33312
+ return markup.includes("ChoiceButton(") || markup.includes("Form(") || markup.includes("Input(") || markup.includes("TextArea(") || markup.includes("Select(") || markup.includes("ChoiceField(");
31792
33313
  }
31793
33314
  function parseOpenUiMarkup(markup) {
31794
33315
  const bindings = parseBindings(markup);
@@ -31967,7 +33488,7 @@ function extractForm(bindings) {
31967
33488
  }
31968
33489
  if (!formBinding) return null;
31969
33490
  const name = asString(formBinding.args[0]) || "form";
31970
- const title = asString(formBinding.args[1]) || name;
33491
+ const title = asString(formBinding.args[1]) ?? name;
31971
33492
  const description = asString(formBinding.args[2]) || void 0;
31972
33493
  const buttonsArg = formBinding.args[3];
31973
33494
  const fieldsArg = formBinding.args[4];
@@ -31998,7 +33519,7 @@ function resolveFormControl(bindings, ref) {
31998
33519
  const { placeholder, required } = splitPlaceholderAndRules(inputBinding.args, 1);
31999
33520
  return { name: fieldName, label, kind: "textarea", placeholder, required, hint: hint2 };
32000
33521
  }
32001
- if (inputBinding.component === "Select") {
33522
+ if (inputBinding.component === "Select" || inputBinding.component === "ChoiceField") {
32002
33523
  const fieldName = asString(inputBinding.args[0]) || labelToName(label);
32003
33524
  const itemsArg = inputBinding.args[1];
32004
33525
  const { placeholder, required } = splitPlaceholderAndRules(inputBinding.args, 2);
@@ -32164,8 +33685,8 @@ function writeParsedSummary(parsed, markup) {
32164
33685
  );
32165
33686
  }
32166
33687
  } else if (parsed.form) {
32167
- writeOut(` Form: ${parsed.form.title}
32168
- `);
33688
+ writeOut(parsed.form.title ? ` Form: ${parsed.form.title}
33689
+ ` : " Form:\n");
32169
33690
  for (const f of parsed.form.fields) {
32170
33691
  writeOut(` - ${f.label} (${f.name})
32171
33692
  `);
@@ -32329,9 +33850,11 @@ async function selectChoice(choices) {
32329
33850
  });
32330
33851
  }
32331
33852
  async function promptForm(form, extraChoices) {
32332
- writeOut(`
33853
+ if (form.title) {
33854
+ writeOut(`
32333
33855
  ${BOLD}${form.title}${RESET}
32334
33856
  `);
33857
+ }
32335
33858
  if (form.description) {
32336
33859
  writeOut(`${DIM}${form.description}${RESET}
32337
33860
  `);
@@ -32392,7 +33915,7 @@ ${DIM}Select an action:${RESET}
32392
33915
  return action.choiceValue ?? action.label;
32393
33916
  }
32394
33917
  if (action.kind === "cancel") {
32395
- return "The user declined to make a selection.";
33918
+ return UI_CHOICE_DECLINE_MESSAGE;
32396
33919
  }
32397
33920
  if (action.kind === "open_url" && action.url) {
32398
33921
  writeOut(`${DIM}Open URL: ${action.url}${RESET}
@@ -32671,7 +34194,7 @@ async function handleUIChoiceTerminal(payload) {
32671
34194
  } catch (err) {
32672
34195
  if (err instanceof OpenUiTerminalAbortError) {
32673
34196
  return {
32674
- resumeValue: "The user declined to make a selection.",
34197
+ resumeValue: UI_CHOICE_DECLINE_MESSAGE,
32675
34198
  resumeInterruptId: stringField(payload, "interruptId", "interrupt_id")
32676
34199
  };
32677
34200
  }
@@ -35765,7 +37288,7 @@ init_concierge_api();
35765
37288
 
35766
37289
  // package.json
35767
37290
  var package_default = {
35768
- version: "0.18.1"};
37291
+ version: "0.22.0"};
35769
37292
 
35770
37293
  // src/gr.ts
35771
37294
  var VERSION = package_default.version;
@@ -35842,9 +37365,7 @@ async function main() {
35842
37365
  process.exit(1);
35843
37366
  }
35844
37367
  await cmd.handler(hctx);
35845
- if (process.stdout.writableNeedDrain) {
35846
- await new Promise((resolve3) => process.stdout.once("drain", resolve3));
35847
- }
37368
+ await flushStdout();
35848
37369
  process.exit(process.exitCode ?? 0);
35849
37370
  }
35850
37371
  main().catch(handleError);