@feedmepos/mf-connect 0.1.98-beta.13 → 0.1.98-beta.15

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.
Files changed (138) hide show
  1. package/package.json +1 -1
  2. package/dist/App-DQqZfak3.js +0 -4782
  3. package/dist/AuditLogs-C19m85wp.js +0 -2013
  4. package/dist/Bin-GjJ5Q2ae.js +0 -166
  5. package/dist/Broadcast-CVTBL0T0.js +0 -266
  6. package/dist/CampaignTypeDialog.vue_vue_type_script_setup_true_lang-B6BYvVmq.js +0 -120
  7. package/dist/Card-DzYit3v6.js +0 -910
  8. package/dist/ChipMenu.vue_vue_type_script_setup_true_lang-BPpZZNkr.js +0 -97
  9. package/dist/Collections-CaU7auvn.js +0 -540
  10. package/dist/Credit-B_eUMV0R.js +0 -260
  11. package/dist/CustomSelect.vue_vue_type_script_setup_true_lang-Du7fRSZC.js +0 -128
  12. package/dist/DateRangeChip.vue_vue_type_script_setup_true_lang-eIoPtgO5.js +0 -58
  13. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-Bgcm1S_g.js +0 -3377
  14. package/dist/EffectSheet.vue_vue_type_style_index_0_lang-CZLoCJM4.js +0 -351
  15. package/dist/Experience-B7kxE07l.js +0 -259
  16. package/dist/FileSaver.min-BBvy4uPh.js +0 -74
  17. package/dist/FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js +0 -129
  18. package/dist/FmTableSelection.vue_vue_type_script_setup_true_lang-DzcUc0_w.js +0 -52
  19. package/dist/Game-B98hcWvR.js +0 -330
  20. package/dist/Grab-RdxV7xhM.js +0 -300
  21. package/dist/ImageInput.vue_vue_type_script_setup_true_lang-BBYekrJp.js +0 -145
  22. package/dist/Index-CvMVxCY5.js +0 -259
  23. package/dist/JsonViewer-v8_C7l5N.js +0 -87
  24. package/dist/LocationPicker.vue_vue_type_script_setup_true_lang-D4-wjMg6.js +0 -48
  25. package/dist/LottieAnimation.vue_vue_type_script_setup_true_lang-Jir8zY8e.js +0 -18737
  26. package/dist/LoyaltyDashboard-B1OzFT4q.js +0 -1082
  27. package/dist/MainLayout-De_edc-D.js +0 -41
  28. package/dist/Marketing-B7-To3XF.js +0 -235
  29. package/dist/MarketingMaterialEdit-DGONncxn.js +0 -1035
  30. package/dist/Member-DEGCrqnh.js +0 -280
  31. package/dist/MemberList-vKYbpLVu.js +0 -1601
  32. package/dist/MemberOverview-wL_ailso.js +0 -58
  33. package/dist/MemberTransactions-CGC3vYKC.js +0 -45
  34. package/dist/MessageInput.vue_vue_type_script_setup_true_lang-BP9YtuPA.js +0 -60802
  35. package/dist/Mission-hxf_AIGL.js +0 -334
  36. package/dist/Overview-NvgUuMYp.js +0 -949
  37. package/dist/Overview-iRLMLoAo.js +0 -1079
  38. package/dist/Point-tkUTXOCe.js +0 -262
  39. package/dist/Promotion-DNUcMKJQ.js +0 -397
  40. package/dist/Queue-5XYiIuG8.js +0 -260
  41. package/dist/Record-B5aYp7eF.js +0 -342
  42. package/dist/Review-BqaHlzXV.js +0 -45
  43. package/dist/ReviewFacebookCallback-BqlFkSB7.js +0 -248
  44. package/dist/ReviewGoogleCallback-ssKL4jh4.js +0 -213
  45. package/dist/Reward-1xOMowTW.js +0 -442
  46. package/dist/RewardGroup.vue_vue_type_script_setup_true_lang-Db3FSfIc.js +0 -149
  47. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-Cmrp2Tia.js +0 -1911
  48. package/dist/Segment-BMBwsUug.js +0 -1014
  49. package/dist/SelectItems.vue_vue_type_script_setup_true_lang-DSfdei-h.js +0 -181
  50. package/dist/SendCollectionSheet.vue_vue_type_script_setup_true_lang-BJVeGJ5J.js +0 -188
  51. package/dist/SendVoucherSheet.vue_vue_type_script_setup_true_lang-OBZubKUy.js +0 -226
  52. package/dist/Setting-DWygYkHW.js +0 -2047
  53. package/dist/SettingAdvertisements-TYB1b7dB.js +0 -264
  54. package/dist/Settings-DynjmCPL.js +0 -220
  55. package/dist/Store-DRYkmigC.js +0 -1996
  56. package/dist/StoreRewards-DU8eWbXE.js +0 -540
  57. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-BkqBjEFm.js +0 -1130
  58. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-l6KmXVBZ.js +0 -7007
  59. package/dist/Tier-4k8SxKtl.js +0 -969
  60. package/dist/Title-B9lWQ_jl.js +0 -566
  61. package/dist/Transaction-C38Yd0tf.js +0 -39
  62. package/dist/UserRuleGroup.vue_vue_type_script_setup_true_lang-D6tgpKpc.js +0 -130
  63. package/dist/Voucher-BQbqC7RV.js +0 -421
  64. package/dist/VoucherEditor.vue_vue_type_script_setup_true_lang-erwpbvYi.js +0 -421
  65. package/dist/ZodTextField.vue_vue_type_script_setup_true_lang-Dt05b7fU.js +0 -56
  66. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
  67. package/dist/app-BTm9mz0r.js +0 -59940
  68. package/dist/app-wDQR6dpb.js +0 -39
  69. package/dist/app.js +0 -7
  70. package/dist/business-B7GwHLce.js +0 -82
  71. package/dist/campaign-BCdKDHgz.js +0 -277
  72. package/dist/campaign-CpzFl8Vr.js +0 -4
  73. package/dist/campaign-DWlsbsKQ.js +0 -219
  74. package/dist/campaign.enum-BgK4maXz.js +0 -26
  75. package/dist/campaign.fn-DxnwGCB2.js +0 -776
  76. package/dist/collectible.enum-CdOSUDwG.js +0 -19
  77. package/dist/duplicateCampaign-BSHe0P-g.js +0 -51
  78. package/dist/effect-C7wkN_13.js +0 -89
  79. package/dist/email-addresses-DJycNI7L.js +0 -705
  80. package/dist/export-uIHWDxuh.js +0 -97
  81. package/dist/feedme.ico +0 -0
  82. package/dist/google-BQK68wbe.js +0 -5
  83. package/dist/helper-czpAhAIw.js +0 -86
  84. package/dist/index-5Sa4xS2m.js +0 -151
  85. package/dist/index-5WGEWCcI.js +0 -3
  86. package/dist/index-B2C7kc4z.js +0 -31
  87. package/dist/index-B5eb6_bi.js +0 -3678
  88. package/dist/index-B7nE1Pb2.js +0 -67
  89. package/dist/index-BFAHLexA.js +0 -32
  90. package/dist/index-BanxlNli.js +0 -8910
  91. package/dist/index-ByHoFriu.js +0 -85
  92. package/dist/index-Ca2bBJuR.js +0 -54
  93. package/dist/index-CuvNtC_M.js +0 -61
  94. package/dist/index-D-kYrDAi.js +0 -30289
  95. package/dist/index-D2gAYMIp.js +0 -28900
  96. package/dist/index-DWxmK2NJ.js +0 -61
  97. package/dist/index-U_rwkNKU.js +0 -2819
  98. package/dist/index-knizSLfz.js +0 -1157
  99. package/dist/index-vh86FiIQ.js +0 -10
  100. package/dist/index.esm2017-DFVkiPjd.js +0 -3069
  101. package/dist/loading-B3OgwEC8.js +0 -72
  102. package/dist/lodash-CiRTkvui.js +0 -3678
  103. package/dist/membership-s2VKnu_8.js +0 -255
  104. package/dist/moment-D7p2TMB-.js +0 -2583
  105. package/dist/money-DqxOXYd0.js +0 -15
  106. package/dist/number-Bt4sacaM.js +0 -12
  107. package/dist/object-BYyQ0PZp.js +0 -18
  108. package/dist/objectId-dwaoBfJX.js +0 -7
  109. package/dist/objectid-CxCupSWP.js +0 -145
  110. package/dist/plugins-CQ1JAqJB.js +0 -1788
  111. package/dist/reward-pjbal-XX.js +0 -36
  112. package/dist/rule-CzU2GAur.js +0 -1969
  113. package/dist/string-Gcy5IM_H.js +0 -32
  114. package/dist/style.css +0 -4
  115. package/dist/template-7yiMSL1f.js +0 -188
  116. package/dist/tier-BJDhpH6X.js +0 -4
  117. package/dist/tiers/tier=1.png +0 -0
  118. package/dist/tiers/tier=2.png +0 -0
  119. package/dist/tiers/tier=3.png +0 -0
  120. package/dist/tiers/tier=4.png +0 -0
  121. package/dist/titles/type=diamond.png +0 -0
  122. package/dist/titles/type=drinks.png +0 -0
  123. package/dist/titles/type=food.png +0 -0
  124. package/dist/titles/type=heart.png +0 -0
  125. package/dist/titles/type=medal.png +0 -0
  126. package/dist/titles/type=spend.png +0 -0
  127. package/dist/titles/type=thank-you.png +0 -0
  128. package/dist/titles/type=thumbs-up.png +0 -0
  129. package/dist/titles/type=years.png +0 -0
  130. package/dist/trigger-C5bqlYHn.js +0 -213
  131. package/dist/tslib.es6-BCqqvLQ_.js +0 -44
  132. package/dist/type_drinks-D6jnpvwV.js +0 -4
  133. package/dist/useMarketingMaterialActions-CW_QRtQb.js +0 -107
  134. package/dist/usePagination-D2pke4vy.js +0 -220
  135. package/dist/user-BcXrT_t5.js +0 -55
  136. package/dist/vue-i18n-CFNkj6JK.js +0 -2365
  137. package/dist/xlsx-DyVY5_Qx.js +0 -15491
  138. package/dist/zod-BD_8DRqQ.js +0 -91
@@ -1,3678 +0,0 @@
1
- import { z as e, F as o, m as _, a as w, b as en, c as ye, d as tn } from "./index-D-kYrDAi.js";
2
- import { F as st } from "./campaign.enum-BgK4maXz.js";
3
- import { a as U, b as nn, c as dn, d as ie, F as $t, e as S, f as rn, g as lt, h as D, i as ut } from "./index-BanxlNli.js";
4
- import { F as ct } from "./collectible.enum-CdOSUDwG.js";
5
- import "vue";
6
- const on = { 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|[46])\\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])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|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)?", "8001\\d{5}|(?:[2-467]\\d|50)\\d{6}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[235]|4[46]"]], ["(\\d{8})", "$1", ["[67]"]], ["(\\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]|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", "[5-9]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]]]], ET: ["251", "00", "(?:11|[2-579]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-579]"], "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{6})", "$1", ["[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])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|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]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[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(?:(?:2[14]|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|4[47])|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(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|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]|28|3[129]|4[1-35689]|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[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|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]|7[235689])\\d|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|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])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|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", ["[12]1"], "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{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[137-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-79]"]], ["(\\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, [["26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}"], ["(?: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[0139]|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)(\\d{7})", "$1 $2", ["(?:2|90)4|[67]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[348]|64|79|90"]], ["(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|6[0-35-9]|7[67]|9[2-9]"]]], "0"], SR: ["597", "00", "(?:[2-5]|[6-8]\\d|90)\\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-6]\\d|71)\\d{6}", [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-579]|61)", "5(?:[0-579]|61[06])", "5(?:[0-579]|61[06]1)"], "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{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[258]0"], "0$1"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]", "[23568]|4(?:0[2-48]|[1-47-9])|(?: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, [["(?:274[27]|(?:472|983)[2-47-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[0269]|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{7}|[16-8]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["80"], "0$1", 1], ["(\\d{4})(\\d{4,6})", "$1 $2", ["1"], 0, 1], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["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", "7093\\d{5}|(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}", [9], 0, "0", 0, 0, 0, 0, 0, [["269(?: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}"]]] } };
7
- function an(t, n) {
8
- var d = Array.prototype.slice.call(n);
9
- return d.push(on), t.apply(this, d);
10
- }
11
- function Le(t, n) {
12
- t = t.split("-"), n = n.split("-");
13
- for (var d = t[0].split("."), r = n[0].split("."), i = 0; i < 3; i++) {
14
- var a = Number(d[i]), s = Number(r[i]);
15
- if (a > s) return 1;
16
- if (s > a) return -1;
17
- if (!isNaN(a) && isNaN(s)) return 1;
18
- if (isNaN(a) && !isNaN(s)) return -1;
19
- }
20
- return t[1] && n[1] ? t[1] > n[1] ? 1 : t[1] < n[1] ? -1 : 0 : !t[1] && n[1] ? 1 : t[1] && !n[1] ? -1 : 0;
21
- }
22
- var sn = {}.constructor;
23
- function j(t) {
24
- return t != null && t.constructor === sn;
25
- }
26
- function B(t) {
27
- "@babel/helpers - typeof";
28
- return B = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(n) {
29
- return typeof n;
30
- } : function(n) {
31
- return n && typeof Symbol == "function" && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n;
32
- }, B(t);
33
- }
34
- function oe(t, n) {
35
- if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function");
36
- }
37
- function $n(t, n) {
38
- for (var d = 0; d < n.length; d++) {
39
- var r = n[d];
40
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, ln(r.key), r);
41
- }
42
- }
43
- function ae(t, n, d) {
44
- return n && $n(t.prototype, n), Object.defineProperty(t, "prototype", { writable: !1 }), t;
45
- }
46
- function ln(t) {
47
- var n = un(t, "string");
48
- return B(n) == "symbol" ? n : n + "";
49
- }
50
- function un(t, n) {
51
- if (B(t) != "object" || !t) return t;
52
- var d = t[Symbol.toPrimitive];
53
- if (d !== void 0) {
54
- var r = d.call(t, n);
55
- if (B(r) != "object") return r;
56
- throw new TypeError("@@toPrimitive must return a primitive value.");
57
- }
58
- return String(t);
59
- }
60
- var cn = "1.2.0", mn = "1.7.35", we = " ext. ", fn = /^\d+$/, y = /* @__PURE__ */ function() {
61
- function t(n) {
62
- oe(this, t), mt(n), this.metadata = n, ft.call(this, n);
63
- }
64
- return ae(t, [{
65
- key: "getCountries",
66
- value: function() {
67
- return Object.keys(this.metadata.countries).filter(function(d) {
68
- return d !== "001";
69
- });
70
- }
71
- }, {
72
- key: "getCountryMetadata",
73
- value: function(d) {
74
- return this.metadata.countries[d];
75
- }
76
- }, {
77
- key: "nonGeographic",
78
- value: function() {
79
- if (!(this.v1 || this.v2 || this.v3))
80
- return this.metadata.nonGeographic || this.metadata.nonGeographical;
81
- }
82
- }, {
83
- key: "hasCountry",
84
- value: function(d) {
85
- return this.getCountryMetadata(d) !== void 0;
86
- }
87
- }, {
88
- key: "hasCallingCode",
89
- value: function(d) {
90
- if (this.getCountryCodesForCallingCode(d))
91
- return !0;
92
- if (this.nonGeographic()) {
93
- if (this.nonGeographic()[d])
94
- return !0;
95
- } else {
96
- var r = this.countryCallingCodes()[d];
97
- if (r && r.length === 1 && r[0] === "001")
98
- return !0;
99
- }
100
- }
101
- }, {
102
- key: "isNonGeographicCallingCode",
103
- value: function(d) {
104
- return this.nonGeographic() ? !!this.nonGeographic()[d] : !this.getCountryCodesForCallingCode(d);
105
- }
106
- // Deprecated.
107
- }, {
108
- key: "country",
109
- value: function(d) {
110
- return this.selectNumberingPlan(d);
111
- }
112
- }, {
113
- key: "selectNumberingPlan",
114
- value: function(d, r) {
115
- if (d && fn.test(d) && (r = d, d = null), d && d !== "001") {
116
- if (!this.hasCountry(d))
117
- throw new Error("Unknown country: ".concat(d));
118
- this.numberingPlan = new je(this.getCountryMetadata(d), this);
119
- } else if (r) {
120
- if (!this.hasCallingCode(r))
121
- throw new Error("Unknown calling code: ".concat(r));
122
- this.numberingPlan = new je(this.getNumberingPlanMetadata(r), this);
123
- } else
124
- this.numberingPlan = void 0;
125
- return this;
126
- }
127
- }, {
128
- key: "getCountryCodesForCallingCode",
129
- value: function(d) {
130
- var r = this.countryCallingCodes()[d];
131
- if (r)
132
- return r.length === 1 && r[0].length === 3 ? void 0 : r;
133
- }
134
- }, {
135
- key: "getCountryCodeForCallingCode",
136
- value: function(d) {
137
- var r = this.getCountryCodesForCallingCode(d);
138
- if (r)
139
- return r[0];
140
- }
141
- }, {
142
- key: "getNumberingPlanMetadata",
143
- value: function(d) {
144
- var r = this.getCountryCodeForCallingCode(d);
145
- if (r)
146
- return this.getCountryMetadata(r);
147
- if (this.nonGeographic()) {
148
- var i = this.nonGeographic()[d];
149
- if (i)
150
- return i;
151
- } else {
152
- var a = this.countryCallingCodes()[d];
153
- if (a && a.length === 1 && a[0] === "001")
154
- return this.metadata.countries["001"];
155
- }
156
- }
157
- // Deprecated.
158
- }, {
159
- key: "countryCallingCode",
160
- value: function() {
161
- return this.numberingPlan.callingCode();
162
- }
163
- // Deprecated.
164
- }, {
165
- key: "IDDPrefix",
166
- value: function() {
167
- return this.numberingPlan.IDDPrefix();
168
- }
169
- // Deprecated.
170
- }, {
171
- key: "defaultIDDPrefix",
172
- value: function() {
173
- return this.numberingPlan.defaultIDDPrefix();
174
- }
175
- // Deprecated.
176
- }, {
177
- key: "nationalNumberPattern",
178
- value: function() {
179
- return this.numberingPlan.nationalNumberPattern();
180
- }
181
- // Deprecated.
182
- }, {
183
- key: "possibleLengths",
184
- value: function() {
185
- return this.numberingPlan.possibleLengths();
186
- }
187
- // Deprecated.
188
- }, {
189
- key: "formats",
190
- value: function() {
191
- return this.numberingPlan.formats();
192
- }
193
- // Deprecated.
194
- }, {
195
- key: "nationalPrefixForParsing",
196
- value: function() {
197
- return this.numberingPlan.nationalPrefixForParsing();
198
- }
199
- // Deprecated.
200
- }, {
201
- key: "nationalPrefixTransformRule",
202
- value: function() {
203
- return this.numberingPlan.nationalPrefixTransformRule();
204
- }
205
- // Deprecated.
206
- }, {
207
- key: "leadingDigits",
208
- value: function() {
209
- return this.numberingPlan.leadingDigits();
210
- }
211
- // Deprecated.
212
- }, {
213
- key: "hasTypes",
214
- value: function() {
215
- return this.numberingPlan.hasTypes();
216
- }
217
- // Deprecated.
218
- }, {
219
- key: "type",
220
- value: function(d) {
221
- return this.numberingPlan.type(d);
222
- }
223
- // Deprecated.
224
- }, {
225
- key: "ext",
226
- value: function() {
227
- return this.numberingPlan.ext();
228
- }
229
- }, {
230
- key: "countryCallingCodes",
231
- value: function() {
232
- return this.v1 ? this.metadata.country_phone_code_to_countries : this.metadata.country_calling_codes;
233
- }
234
- // Deprecated.
235
- }, {
236
- key: "chooseCountryByCountryCallingCode",
237
- value: function(d) {
238
- return this.selectNumberingPlan(d);
239
- }
240
- }, {
241
- key: "hasSelectedNumberingPlan",
242
- value: function() {
243
- return this.numberingPlan !== void 0;
244
- }
245
- }]);
246
- }(), je = /* @__PURE__ */ function() {
247
- function t(n, d) {
248
- oe(this, t), this.globalMetadataObject = d, this.metadata = n, ft.call(this, d.metadata);
249
- }
250
- return ae(t, [{
251
- key: "callingCode",
252
- value: function() {
253
- return this.metadata[0];
254
- }
255
- // Formatting information for regions which share
256
- // a country calling code is contained by only one region
257
- // for performance reasons. For example, for NANPA region
258
- // ("North American Numbering Plan Administration",
259
- // which includes USA, Canada, Cayman Islands, Bahamas, etc)
260
- // it will be contained in the metadata for `US`.
261
- }, {
262
- key: "getDefaultCountryMetadataForRegion",
263
- value: function() {
264
- return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());
265
- }
266
- // Is always present.
267
- }, {
268
- key: "IDDPrefix",
269
- value: function() {
270
- if (!(this.v1 || this.v2))
271
- return this.metadata[1];
272
- }
273
- // Is only present when a country supports multiple IDD prefixes.
274
- }, {
275
- key: "defaultIDDPrefix",
276
- value: function() {
277
- if (!(this.v1 || this.v2))
278
- return this.metadata[12];
279
- }
280
- }, {
281
- key: "nationalNumberPattern",
282
- value: function() {
283
- return this.v1 || this.v2 ? this.metadata[1] : this.metadata[2];
284
- }
285
- // "possible length" data is always present in Google's metadata.
286
- }, {
287
- key: "possibleLengths",
288
- value: function() {
289
- if (!this.v1)
290
- return this.metadata[this.v2 ? 2 : 3];
291
- }
292
- }, {
293
- key: "_getFormats",
294
- value: function(d) {
295
- return d[this.v1 ? 2 : this.v2 ? 3 : 4];
296
- }
297
- // For countries of the same region (e.g. NANPA)
298
- // formats are all stored in the "main" country for that region.
299
- // E.g. "RU" and "KZ", "US" and "CA".
300
- }, {
301
- key: "formats",
302
- value: function() {
303
- var d = this, r = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];
304
- return r.map(function(i) {
305
- return new gn(i, d);
306
- });
307
- }
308
- }, {
309
- key: "nationalPrefix",
310
- value: function() {
311
- return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];
312
- }
313
- }, {
314
- key: "_getNationalPrefixFormattingRule",
315
- value: function(d) {
316
- return d[this.v1 ? 4 : this.v2 ? 5 : 6];
317
- }
318
- // For countries of the same region (e.g. NANPA)
319
- // national prefix formatting rule is stored in the "main" country for that region.
320
- // E.g. "RU" and "KZ", "US" and "CA".
321
- }, {
322
- key: "nationalPrefixFormattingRule",
323
- value: function() {
324
- return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());
325
- }
326
- }, {
327
- key: "_nationalPrefixForParsing",
328
- value: function() {
329
- return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];
330
- }
331
- }, {
332
- key: "nationalPrefixForParsing",
333
- value: function() {
334
- return this._nationalPrefixForParsing() || this.nationalPrefix();
335
- }
336
- }, {
337
- key: "nationalPrefixTransformRule",
338
- value: function() {
339
- return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];
340
- }
341
- }, {
342
- key: "_getNationalPrefixIsOptionalWhenFormatting",
343
- value: function() {
344
- return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];
345
- }
346
- // For countries of the same region (e.g. NANPA)
347
- // "national prefix is optional when formatting" flag is
348
- // stored in the "main" country for that region.
349
- // E.g. "RU" and "KZ", "US" and "CA".
350
- }, {
351
- key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
352
- value: function() {
353
- return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());
354
- }
355
- }, {
356
- key: "leadingDigits",
357
- value: function() {
358
- return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];
359
- }
360
- }, {
361
- key: "types",
362
- value: function() {
363
- return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];
364
- }
365
- }, {
366
- key: "hasTypes",
367
- value: function() {
368
- return this.types() && this.types().length === 0 ? !1 : !!this.types();
369
- }
370
- }, {
371
- key: "type",
372
- value: function(d) {
373
- if (this.hasTypes() && Be(this.types(), d))
374
- return new bn(Be(this.types(), d), this);
375
- }
376
- }, {
377
- key: "ext",
378
- value: function() {
379
- return this.v1 || this.v2 ? we : this.metadata[13] || we;
380
- }
381
- }]);
382
- }(), gn = /* @__PURE__ */ function() {
383
- function t(n, d) {
384
- oe(this, t), this._format = n, this.metadata = d;
385
- }
386
- return ae(t, [{
387
- key: "pattern",
388
- value: function() {
389
- return this._format[0];
390
- }
391
- }, {
392
- key: "format",
393
- value: function() {
394
- return this._format[1];
395
- }
396
- }, {
397
- key: "leadingDigitsPatterns",
398
- value: function() {
399
- return this._format[2] || [];
400
- }
401
- }, {
402
- key: "nationalPrefixFormattingRule",
403
- value: function() {
404
- return this._format[3] || this.metadata.nationalPrefixFormattingRule();
405
- }
406
- }, {
407
- key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
408
- value: function() {
409
- return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
410
- }
411
- }, {
412
- key: "nationalPrefixIsMandatoryWhenFormattingInNationalFormat",
413
- value: function() {
414
- return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
415
- }
416
- // Checks whether national prefix formatting rule contains national prefix.
417
- }, {
418
- key: "usesNationalPrefix",
419
- value: function() {
420
- return !!(this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a "dummy" one.
421
- !pn.test(this.nationalPrefixFormattingRule()));
422
- }
423
- }, {
424
- key: "internationalFormat",
425
- value: function() {
426
- return this._format[5] || this.format();
427
- }
428
- }]);
429
- }(), pn = /^\(?\$1\)?$/, bn = /* @__PURE__ */ function() {
430
- function t(n, d) {
431
- oe(this, t), this.type = n, this.metadata = d;
432
- }
433
- return ae(t, [{
434
- key: "pattern",
435
- value: function() {
436
- return this.metadata.v1 ? this.type : this.type[0];
437
- }
438
- }, {
439
- key: "possibleLengths",
440
- value: function() {
441
- if (!this.metadata.v1)
442
- return this.type[1] || this.metadata.possibleLengths();
443
- }
444
- }]);
445
- }();
446
- function Be(t, n) {
447
- switch (n) {
448
- case "FIXED_LINE":
449
- return t[0];
450
- case "MOBILE":
451
- return t[1];
452
- case "TOLL_FREE":
453
- return t[2];
454
- case "PREMIUM_RATE":
455
- return t[3];
456
- case "PERSONAL_NUMBER":
457
- return t[4];
458
- case "VOICEMAIL":
459
- return t[5];
460
- case "UAN":
461
- return t[6];
462
- case "PAGER":
463
- return t[7];
464
- case "VOIP":
465
- return t[8];
466
- case "SHARED_COST":
467
- return t[9];
468
- }
469
- }
470
- function mt(t) {
471
- if (!t)
472
- throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");
473
- if (!j(t) || !j(t.countries))
474
- throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got ".concat(j(t) ? "an object of shape: { " + Object.keys(t).join(", ") + " }" : "a " + yn(t) + ": " + t, "."));
475
- }
476
- var yn = function(n) {
477
- return B(n);
478
- };
479
- function Pe(t, n) {
480
- if (n = new y(n), n.hasCountry(t))
481
- return n.selectNumberingPlan(t).countryCallingCode();
482
- throw new Error("Unknown country: ".concat(t));
483
- }
484
- function _n(t, n) {
485
- return n.countries.hasOwnProperty(t);
486
- }
487
- function ft(t) {
488
- var n = t.version;
489
- typeof n == "number" ? (this.v1 = n === 1, this.v2 = n === 2, this.v3 = n === 3, this.v4 = n === 4) : n ? Le(n, cn) === -1 ? this.v2 = !0 : Le(n, mn) === -1 ? this.v3 = !0 : this.v4 = !0 : this.v1 = !0;
490
- }
491
- function Re(t, n, d) {
492
- return En(t, n, void 0, d);
493
- }
494
- function En(t, n, d, r) {
495
- n && (r = new y(r.metadata), r.selectNumberingPlan(n));
496
- var i = r.type(d), a = i && i.possibleLengths() || r.possibleLengths();
497
- if (!a)
498
- return "IS_POSSIBLE";
499
- var s = t.length, $ = a[0];
500
- return $ === s ? "IS_POSSIBLE" : $ > s ? "TOO_SHORT" : a[a.length - 1] < s ? "TOO_LONG" : a.indexOf(s, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
501
- }
502
- function hn(t, n, d) {
503
- if (n === void 0 && (n = {}), d = new y(d), n.v2) {
504
- if (!t.countryCallingCode)
505
- throw new Error("Invalid phone number object passed");
506
- d.selectNumberingPlan(t.countryCallingCode);
507
- } else {
508
- if (!t.phone)
509
- return !1;
510
- if (t.country) {
511
- if (!d.hasCountry(t.country))
512
- throw new Error("Unknown country: ".concat(t.country));
513
- d.selectNumberingPlan(t.country);
514
- } else {
515
- if (!t.countryCallingCode)
516
- throw new Error("Invalid phone number object passed");
517
- d.selectNumberingPlan(t.countryCallingCode);
518
- }
519
- }
520
- if (d.possibleLengths())
521
- return gt(t.phone || t.nationalNumber, t.country, d);
522
- if (t.countryCallingCode && d.isNonGeographicCallingCode(t.countryCallingCode))
523
- return !0;
524
- throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.');
525
- }
526
- function gt(t, n, d) {
527
- switch (Re(t, n, d)) {
528
- case "IS_POSSIBLE":
529
- return !0;
530
- default:
531
- return !1;
532
- }
533
- }
534
- function A(t, n) {
535
- return t = t || "", new RegExp("^(?:" + n + ")$").test(t);
536
- }
537
- function vn(t, n) {
538
- var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
539
- if (d) return (d = d.call(t)).next.bind(d);
540
- if (Array.isArray(t) || (d = Cn(t)) || n) {
541
- d && (t = d);
542
- var r = 0;
543
- return function() {
544
- return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
545
- };
546
- }
547
- throw new TypeError(`Invalid attempt to iterate non-iterable instance.
548
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
549
- }
550
- function Cn(t, n) {
551
- if (t) {
552
- if (typeof t == "string") return Ue(t, n);
553
- var d = {}.toString.call(t).slice(8, -1);
554
- return d === "Object" && t.constructor && (d = t.constructor.name), d === "Map" || d === "Set" ? Array.from(t) : d === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d) ? Ue(t, n) : void 0;
555
- }
556
- }
557
- function Ue(t, n) {
558
- (n == null || n > t.length) && (n = t.length);
559
- for (var d = 0, r = Array(n); d < n; d++) r[d] = t[d];
560
- return r;
561
- }
562
- var Pn = ["MOBILE", "PREMIUM_RATE", "TOLL_FREE", "SHARED_COST", "VOIP", "PERSONAL_NUMBER", "PAGER", "UAN", "VOICEMAIL"];
563
- function Ie(t, n, d) {
564
- if (n = n || {}, !(!t.country && !t.countryCallingCode)) {
565
- d = new y(d), d.selectNumberingPlan(t.country, t.countryCallingCode);
566
- var r = n.v2 ? t.nationalNumber : t.phone;
567
- if (A(r, d.nationalNumberPattern())) {
568
- if (ge(r, "FIXED_LINE", d))
569
- return d.type("MOBILE") && d.type("MOBILE").pattern() === "" || !d.type("MOBILE") || ge(r, "MOBILE", d) ? "FIXED_LINE_OR_MOBILE" : "FIXED_LINE";
570
- for (var i = vn(Pn), a; !(a = i()).done; ) {
571
- var s = a.value;
572
- if (ge(r, s, d))
573
- return s;
574
- }
575
- }
576
- }
577
- }
578
- function ge(t, n, d) {
579
- var r = d.type(n);
580
- return !r || !r.pattern() || r.possibleLengths() && r.possibleLengths().indexOf(t.length) < 0 ? !1 : A(t, r.pattern());
581
- }
582
- function Rn(t, n, d) {
583
- if (n = n || {}, d = new y(d), d.selectNumberingPlan(t.country, t.countryCallingCode), d.hasTypes())
584
- return Ie(t, n, d.metadata) !== void 0;
585
- var r = n.v2 ? t.nationalNumber : t.phone;
586
- return A(r, d.nationalNumberPattern());
587
- }
588
- function In(t, n, d) {
589
- var r = new y(d), i = r.getCountryCodesForCallingCode(t);
590
- return i ? i.filter(function(a) {
591
- return Nn(n, a, d);
592
- }) : [];
593
- }
594
- function Nn(t, n, d) {
595
- var r = new y(d);
596
- return r.selectNumberingPlan(n), r.numberingPlan.possibleLengths().indexOf(t.length) >= 0;
597
- }
598
- var Ne = 2, Fn = 17, An = 3, h = "0-90-9٠-٩۰-۹", Tn = "-‐-―−ー-", Sn = "//", On = "..", Mn = "  ­​⁠ ", xn = "()()[]\\[\\]", Dn = "~⁓∼~", ee = "".concat(Tn).concat(Sn).concat(On).concat(Mn).concat(xn).concat(Dn), Fe = "++", Ln = new RegExp("([" + h + "])");
599
- function wn(t, n, d, r) {
600
- if (n) {
601
- var i = new y(r);
602
- i.selectNumberingPlan(n, d);
603
- var a = new RegExp(i.IDDPrefix());
604
- if (t.search(a) === 0) {
605
- t = t.slice(t.match(a)[0].length);
606
- var s = t.match(Ln);
607
- if (!(s && s[1] != null && s[1].length > 0 && s[1] === "0"))
608
- return t;
609
- }
610
- }
611
- }
612
- function jn(t, n) {
613
- if (t && n.numberingPlan.nationalPrefixForParsing()) {
614
- var d = new RegExp("^(?:" + n.numberingPlan.nationalPrefixForParsing() + ")"), r = d.exec(t);
615
- if (r) {
616
- var i, a, s = r.length - 1, $ = s > 0 && r[s];
617
- if (n.nationalPrefixTransformRule() && $)
618
- i = t.replace(d, n.nationalPrefixTransformRule()), s > 1 && (a = r[1]);
619
- else {
620
- var l = r[0];
621
- i = t.slice(l.length), $ && (a = r[1]);
622
- }
623
- var u;
624
- if ($) {
625
- var p = t.indexOf(r[1]), E = t.slice(0, p);
626
- E === n.numberingPlan.nationalPrefix() && (u = n.numberingPlan.nationalPrefix());
627
- } else
628
- u = r[0];
629
- return {
630
- nationalNumber: i,
631
- nationalPrefix: u,
632
- carrierCode: a
633
- };
634
- }
635
- }
636
- return {
637
- nationalNumber: t
638
- };
639
- }
640
- function Bn(t, n) {
641
- var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
642
- if (d) return (d = d.call(t)).next.bind(d);
643
- if (Array.isArray(t) || (d = Un(t)) || n) {
644
- d && (t = d);
645
- var r = 0;
646
- return function() {
647
- return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
648
- };
649
- }
650
- throw new TypeError(`Invalid attempt to iterate non-iterable instance.
651
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
652
- }
653
- function Un(t, n) {
654
- if (t) {
655
- if (typeof t == "string") return Ge(t, n);
656
- var d = {}.toString.call(t).slice(8, -1);
657
- return d === "Object" && t.constructor && (d = t.constructor.name), d === "Map" || d === "Set" ? Array.from(t) : d === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d) ? Ge(t, n) : void 0;
658
- }
659
- }
660
- function Ge(t, n) {
661
- (n == null || n > t.length) && (n = t.length);
662
- for (var d = 0, r = Array(n); d < n; d++) r[d] = t[d];
663
- return r;
664
- }
665
- function Gn(t, n) {
666
- var d = n.countries, r = n.metadata;
667
- r = new y(r);
668
- for (var i = Bn(d), a; !(a = i()).done; ) {
669
- var s = a.value;
670
- if (r.selectNumberingPlan(s), r.leadingDigits()) {
671
- if (t && t.search(r.leadingDigits()) === 0)
672
- return s;
673
- } else if (Ie({
674
- phone: t,
675
- country: s
676
- }, void 0, r.metadata))
677
- return s;
678
- }
679
- }
680
- function pt(t, n) {
681
- var d = n.nationalNumber, r = n.metadata, i = r.getCountryCodesForCallingCode(t);
682
- if (i)
683
- return i.length === 1 ? i[0] : Gn(d, {
684
- countries: i,
685
- metadata: r.metadata
686
- });
687
- }
688
- function _e(t, n, d) {
689
- var r = jn(t, d), i = r.carrierCode, a = r.nationalNumber;
690
- if (a !== t) {
691
- if (!kn(t, a, d))
692
- return {
693
- nationalNumber: t
694
- };
695
- if (d.numberingPlan.possibleLengths() && (n || (n = pt(d.numberingPlan.callingCode(), {
696
- nationalNumber: a,
697
- metadata: d
698
- })), !Hn(a, n, d)))
699
- return {
700
- nationalNumber: t
701
- };
702
- }
703
- return {
704
- nationalNumber: a,
705
- carrierCode: i
706
- };
707
- }
708
- function kn(t, n, d) {
709
- return !(A(t, d.nationalNumberPattern()) && !A(n, d.nationalNumberPattern()));
710
- }
711
- function Hn(t, n, d) {
712
- switch (Re(t, n, d)) {
713
- case "TOO_SHORT":
714
- case "INVALID_LENGTH":
715
- return !1;
716
- default:
717
- return !0;
718
- }
719
- }
720
- function Vn(t, n, d, r, i) {
721
- var a = d ? Pe(d, i) : r;
722
- if (t.indexOf(a) === 0) {
723
- i = new y(i), i.selectNumberingPlan(d, a);
724
- var s = t.slice(a.length), $ = _e(s, n, i), l = $.nationalNumber, u = _e(t, n, i), p = u.nationalNumber;
725
- if (!A(p, i.nationalNumberPattern()) && A(l, i.nationalNumberPattern()) || Re(p, n, i) === "TOO_LONG")
726
- return {
727
- countryCallingCode: a,
728
- number: s
729
- };
730
- }
731
- return {
732
- number: t
733
- };
734
- }
735
- function bt(t, n, d, r, i) {
736
- if (!t)
737
- return {};
738
- var a;
739
- if (t[0] !== "+") {
740
- var s = wn(t, d, r, i);
741
- if (s && s !== t)
742
- a = !0, t = "+" + s;
743
- else {
744
- if (d || r) {
745
- var $ = Vn(t, n, d, r, i), l = $.countryCallingCode, u = $.number;
746
- if (l)
747
- return {
748
- countryCallingCodeSource: "FROM_NUMBER_WITHOUT_PLUS_SIGN",
749
- countryCallingCode: l,
750
- number: u
751
- };
752
- }
753
- return {
754
- // No need to set it to `UNSPECIFIED`. It can be just `undefined`.
755
- // countryCallingCodeSource: 'UNSPECIFIED',
756
- number: t
757
- };
758
- }
759
- }
760
- if (t[1] === "0")
761
- return {};
762
- i = new y(i);
763
- for (var p = 2; p - 1 <= An && p <= t.length; ) {
764
- var E = t.slice(1, p);
765
- if (i.hasCallingCode(E))
766
- return i.selectNumberingPlan(E), {
767
- countryCallingCodeSource: a ? "FROM_NUMBER_WITH_IDD" : "FROM_NUMBER_WITH_PLUS_SIGN",
768
- countryCallingCode: E,
769
- number: t.slice(p)
770
- };
771
- p++;
772
- }
773
- return {};
774
- }
775
- function Kn(t) {
776
- return t.replace(new RegExp("[".concat(ee, "]+"), "g"), " ").trim();
777
- }
778
- var Wn = /(\$\d)/;
779
- function zn(t, n, d) {
780
- var r = d.useInternationalFormat, i = d.withNationalPrefix, a = t.replace(new RegExp(n.pattern()), r ? n.internationalFormat() : (
781
- // This library doesn't use `domestic_carrier_code_formatting_rule`,
782
- // because that one is only used when formatting phone numbers
783
- // for dialing from a mobile phone, and this is not a dialing library.
784
- // carrierCode && format.domesticCarrierCodeFormattingRule()
785
- // // First, replace the $CC in the formatting rule with the desired carrier code.
786
- // // Then, replace the $FG in the formatting rule with the first group
787
- // // and the carrier code combined in the appropriate way.
788
- // ? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))
789
- // : (
790
- // withNationalPrefix && format.nationalPrefixFormattingRule()
791
- // ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())
792
- // : format.format()
793
- // )
794
- i && n.nationalPrefixFormattingRule() ? n.format().replace(Wn, n.nationalPrefixFormattingRule()) : n.format()
795
- ));
796
- return r ? Kn(a) : a;
797
- }
798
- var Yn = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;
799
- function qn(t, n, d) {
800
- var r = new y(d);
801
- if (r.selectNumberingPlan(t, n), r.defaultIDDPrefix())
802
- return r.defaultIDDPrefix();
803
- if (Yn.test(r.IDDPrefix()))
804
- return r.IDDPrefix();
805
- }
806
- var Xn = ";ext=", L = function(n) {
807
- return "([".concat(h, "]{1,").concat(n, "})");
808
- };
809
- function yt(t) {
810
- var n = "20", d = "15", r = "9", i = "6", a = "[  \\t,]*", s = "[:\\..]?[  \\t,-]*", $ = "#?", l = "(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)", u = "(?:[xx##~~]|int|int)", p = "[- ]+", E = "[  \\t]*", R = "(?:,{2}|;)", O = Xn + L(n), V = a + l + s + L(n) + $, Xt = a + u + s + L(r) + $, Jt = p + L(i) + "#", Zt = E + R + s + L(d) + $, Qt = E + "(?:,)+" + s + L(r) + $;
811
- return O + "|" + V + "|" + Xt + "|" + Jt + "|" + Zt + "|" + Qt;
812
- }
813
- var Jn = "[" + h + "]{" + Ne + "}", Zn = "[" + Fe + "]{0,1}(?:[" + ee + "]*[" + h + "]){3,}[" + ee + h + "]*", Qn = new RegExp("^[" + Fe + "]{0,1}(?:[" + ee + "]*[" + h + "]){1,2}$", "i"), ed = Zn + // Phone number extensions
814
- "(?:" + yt() + ")?", td = new RegExp(
815
- // Either a short two-digit-only phone number
816
- "^" + Jn + "$|^" + ed + "$",
817
- "i"
818
- );
819
- function nd(t) {
820
- return t.length >= Ne && td.test(t);
821
- }
822
- function dd(t) {
823
- return Qn.test(t);
824
- }
825
- function rd(t) {
826
- var n = t.number, d = t.ext;
827
- if (!n)
828
- return "";
829
- if (n[0] !== "+")
830
- throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');
831
- return "tel:".concat(n).concat(d ? ";ext=" + d : "");
832
- }
833
- var ke = {
834
- formatExtension: function(n, d, r) {
835
- return "".concat(n).concat(r.ext()).concat(d);
836
- }
837
- };
838
- function id(t, n, d, r) {
839
- if (d ? d = sd({}, ke, d) : d = ke, r = new y(r), t.country && t.country !== "001") {
840
- if (!r.hasCountry(t.country))
841
- throw new Error("Unknown country: ".concat(t.country));
842
- r.selectNumberingPlan(t.country);
843
- } else if (t.countryCallingCode)
844
- r.selectNumberingPlan(t.countryCallingCode);
845
- else return t.phone || "";
846
- var i = r.countryCallingCode(), a = d.v2 ? t.nationalNumber : t.phone, s;
847
- switch (n) {
848
- case "NATIONAL":
849
- return a ? (s = te(a, t.carrierCode, "NATIONAL", r, d), pe(s, t.ext, r, d.formatExtension)) : "";
850
- case "INTERNATIONAL":
851
- return a ? (s = te(a, null, "INTERNATIONAL", r, d), s = "+".concat(i, " ").concat(s), pe(s, t.ext, r, d.formatExtension)) : "+".concat(i);
852
- case "E.164":
853
- return "+".concat(i).concat(a);
854
- case "RFC3966":
855
- return rd({
856
- number: "+".concat(i).concat(a),
857
- ext: t.ext
858
- });
859
- case "IDD":
860
- if (!d.fromCountry)
861
- return;
862
- var $ = ad(a, t.carrierCode, i, d.fromCountry, r);
863
- return $ ? pe($, t.ext, r, d.formatExtension) : void 0;
864
- default:
865
- throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(n, '"'));
866
- }
867
- }
868
- function te(t, n, d, r, i) {
869
- var a = od(r.formats(), t);
870
- return a ? zn(t, a, {
871
- useInternationalFormat: d === "INTERNATIONAL",
872
- withNationalPrefix: !(a.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && i && i.nationalPrefix === !1),
873
- carrierCode: n,
874
- metadata: r
875
- }) : t;
876
- }
877
- function od(t, n) {
878
- return $d(t, function(d) {
879
- if (d.leadingDigitsPatterns().length > 0) {
880
- var r = d.leadingDigitsPatterns()[d.leadingDigitsPatterns().length - 1];
881
- if (n.search(r) !== 0)
882
- return !1;
883
- }
884
- return A(n, d.pattern());
885
- });
886
- }
887
- function pe(t, n, d, r) {
888
- return n ? r(t, n, d) : t;
889
- }
890
- function ad(t, n, d, r, i) {
891
- var a = Pe(r, i.metadata);
892
- if (a === d) {
893
- var s = te(t, n, "NATIONAL", i);
894
- return d === "1" ? d + " " + s : s;
895
- }
896
- var $ = qn(r, void 0, i.metadata);
897
- if ($)
898
- return "".concat($, " ").concat(d, " ").concat(te(t, null, "INTERNATIONAL", i));
899
- }
900
- function sd() {
901
- for (var t = 1, n = arguments.length, d = new Array(n), r = 0; r < n; r++)
902
- d[r] = arguments[r];
903
- for (; t < d.length; ) {
904
- if (d[t])
905
- for (var i in d[t])
906
- d[0][i] = d[t][i];
907
- t++;
908
- }
909
- return d[0];
910
- }
911
- function $d(t, n) {
912
- for (var d = 0; d < t.length; ) {
913
- if (n(t[d]))
914
- return t[d];
915
- d++;
916
- }
917
- }
918
- function K(t) {
919
- "@babel/helpers - typeof";
920
- return K = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(n) {
921
- return typeof n;
922
- } : function(n) {
923
- return n && typeof Symbol == "function" && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n;
924
- }, K(t);
925
- }
926
- function He(t, n) {
927
- var d = Object.keys(t);
928
- if (Object.getOwnPropertySymbols) {
929
- var r = Object.getOwnPropertySymbols(t);
930
- n && (r = r.filter(function(i) {
931
- return Object.getOwnPropertyDescriptor(t, i).enumerable;
932
- })), d.push.apply(d, r);
933
- }
934
- return d;
935
- }
936
- function Ve(t) {
937
- for (var n = 1; n < arguments.length; n++) {
938
- var d = arguments[n] != null ? arguments[n] : {};
939
- n % 2 ? He(Object(d), !0).forEach(function(r) {
940
- ld(t, r, d[r]);
941
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : He(Object(d)).forEach(function(r) {
942
- Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
943
- });
944
- }
945
- return t;
946
- }
947
- function ld(t, n, d) {
948
- return (n = _t(n)) in t ? Object.defineProperty(t, n, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[n] = d, t;
949
- }
950
- function ud(t, n) {
951
- if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function");
952
- }
953
- function cd(t, n) {
954
- for (var d = 0; d < n.length; d++) {
955
- var r = n[d];
956
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, _t(r.key), r);
957
- }
958
- }
959
- function md(t, n, d) {
960
- return n && cd(t.prototype, n), Object.defineProperty(t, "prototype", { writable: !1 }), t;
961
- }
962
- function _t(t) {
963
- var n = fd(t, "string");
964
- return K(n) == "symbol" ? n : n + "";
965
- }
966
- function fd(t, n) {
967
- if (K(t) != "object" || !t) return t;
968
- var d = t[Symbol.toPrimitive];
969
- if (d !== void 0) {
970
- var r = d.call(t, n || "default");
971
- if (K(r) != "object") return r;
972
- throw new TypeError("@@toPrimitive must return a primitive value.");
973
- }
974
- return (n === "string" ? String : Number)(t);
975
- }
976
- var gd = /* @__PURE__ */ function() {
977
- function t(n, d, r) {
978
- if (ud(this, t), !n)
979
- throw new TypeError("First argument is required");
980
- if (typeof n != "string")
981
- throw new TypeError("First argument must be a string");
982
- if (n[0] === "+" && !d)
983
- throw new TypeError("`metadata` argument not passed");
984
- if (j(d) && j(d.countries)) {
985
- r = d;
986
- var i = n;
987
- if (!yd.test(i))
988
- throw new Error('Invalid `number` argument passed: must consist of a "+" followed by digits');
989
- var a = bt(i, void 0, void 0, void 0, r), s = a.countryCallingCode, $ = a.number;
990
- if (d = $, n = s, !d)
991
- throw new Error("Invalid `number` argument passed: too short");
992
- }
993
- if (!d)
994
- throw new TypeError("`nationalNumber` argument is required");
995
- if (typeof d != "string")
996
- throw new TypeError("`nationalNumber` argument must be a string");
997
- mt(r);
998
- var l = bd(n, r), u = l.country, p = l.countryCallingCode;
999
- this.country = u, this.countryCallingCode = p, this.nationalNumber = d, this.number = "+" + this.countryCallingCode + this.nationalNumber, this.getMetadata = function() {
1000
- return r;
1001
- };
1002
- }
1003
- return md(t, [{
1004
- key: "setExt",
1005
- value: function(d) {
1006
- this.ext = d;
1007
- }
1008
- }, {
1009
- key: "getPossibleCountries",
1010
- value: function() {
1011
- return this.country ? [this.country] : In(this.countryCallingCode, this.nationalNumber, this.getMetadata());
1012
- }
1013
- }, {
1014
- key: "isPossible",
1015
- value: function() {
1016
- return hn(this, {
1017
- v2: !0
1018
- }, this.getMetadata());
1019
- }
1020
- }, {
1021
- key: "isValid",
1022
- value: function() {
1023
- return Rn(this, {
1024
- v2: !0
1025
- }, this.getMetadata());
1026
- }
1027
- }, {
1028
- key: "isNonGeographic",
1029
- value: function() {
1030
- var d = new y(this.getMetadata());
1031
- return d.isNonGeographicCallingCode(this.countryCallingCode);
1032
- }
1033
- }, {
1034
- key: "isEqual",
1035
- value: function(d) {
1036
- return this.number === d.number && this.ext === d.ext;
1037
- }
1038
- // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,
1039
- // but later it was found out that it doesn't include the possible `TOO_SHORT` result
1040
- // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,
1041
- // so eventually I simply commented out this method from the `PhoneNumber` class
1042
- // and just left the `validatePhoneNumberLength()` function, even though that one would require
1043
- // and additional step to also validate the actual country / calling code of the phone number.
1044
- // validateLength() {
1045
- // const metadata = new Metadata(this.getMetadata())
1046
- // metadata.selectNumberingPlan(this.countryCallingCode)
1047
- // const result = checkNumberLength(this.nationalNumber, metadata)
1048
- // if (result !== 'IS_POSSIBLE') {
1049
- // return result
1050
- // }
1051
- // }
1052
- }, {
1053
- key: "getType",
1054
- value: function() {
1055
- return Ie(this, {
1056
- v2: !0
1057
- }, this.getMetadata());
1058
- }
1059
- }, {
1060
- key: "format",
1061
- value: function(d, r) {
1062
- return id(this, d, r ? Ve(Ve({}, r), {}, {
1063
- v2: !0
1064
- }) : {
1065
- v2: !0
1066
- }, this.getMetadata());
1067
- }
1068
- }, {
1069
- key: "formatNational",
1070
- value: function(d) {
1071
- return this.format("NATIONAL", d);
1072
- }
1073
- }, {
1074
- key: "formatInternational",
1075
- value: function(d) {
1076
- return this.format("INTERNATIONAL", d);
1077
- }
1078
- }, {
1079
- key: "getURI",
1080
- value: function(d) {
1081
- return this.format("RFC3966", d);
1082
- }
1083
- }]);
1084
- }(), pd = function(n) {
1085
- return /^[A-Z]{2}$/.test(n);
1086
- };
1087
- function bd(t, n) {
1088
- var d, r, i = new y(n);
1089
- return pd(t) ? (d = t, i.selectNumberingPlan(d), r = i.countryCallingCode()) : r = t, {
1090
- country: d,
1091
- countryCallingCode: r
1092
- };
1093
- }
1094
- var yd = /^\+\d+$/;
1095
- function Ee(t) {
1096
- "@babel/helpers - typeof";
1097
- return Ee = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(n) {
1098
- return typeof n;
1099
- } : function(n) {
1100
- return n && typeof Symbol == "function" && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n;
1101
- }, Ee(t);
1102
- }
1103
- function _d(t, n, d) {
1104
- return Object.defineProperty(t, "prototype", { writable: !1 }), t;
1105
- }
1106
- function Ed(t, n) {
1107
- if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function");
1108
- }
1109
- function hd(t, n, d) {
1110
- return n = z(n), vd(t, Ae() ? Reflect.construct(n, d || [], z(t).constructor) : n.apply(t, d));
1111
- }
1112
- function vd(t, n) {
1113
- if (n && (Ee(n) == "object" || typeof n == "function")) return n;
1114
- if (n !== void 0) throw new TypeError("Derived constructors may only return object or undefined");
1115
- return Cd(t);
1116
- }
1117
- function Cd(t) {
1118
- if (t === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1119
- return t;
1120
- }
1121
- function Pd(t, n) {
1122
- if (typeof n != "function" && n !== null) throw new TypeError("Super expression must either be null or a function");
1123
- t.prototype = Object.create(n && n.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), n && W(t, n);
1124
- }
1125
- function he(t) {
1126
- var n = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
1127
- return he = function(r) {
1128
- if (r === null || !Id(r)) return r;
1129
- if (typeof r != "function") throw new TypeError("Super expression must either be null or a function");
1130
- if (n !== void 0) {
1131
- if (n.has(r)) return n.get(r);
1132
- n.set(r, i);
1133
- }
1134
- function i() {
1135
- return Rd(r, arguments, z(this).constructor);
1136
- }
1137
- return i.prototype = Object.create(r.prototype, { constructor: { value: i, enumerable: !1, writable: !0, configurable: !0 } }), W(i, r);
1138
- }, he(t);
1139
- }
1140
- function Rd(t, n, d) {
1141
- if (Ae()) return Reflect.construct.apply(null, arguments);
1142
- var r = [null];
1143
- r.push.apply(r, n);
1144
- var i = new (t.bind.apply(t, r))();
1145
- return d && W(i, d.prototype), i;
1146
- }
1147
- function Ae() {
1148
- try {
1149
- var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
1150
- }));
1151
- } catch {
1152
- }
1153
- return (Ae = function() {
1154
- return !!t;
1155
- })();
1156
- }
1157
- function Id(t) {
1158
- try {
1159
- return Function.toString.call(t).indexOf("[native code]") !== -1;
1160
- } catch {
1161
- return typeof t == "function";
1162
- }
1163
- }
1164
- function W(t, n) {
1165
- return W = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(d, r) {
1166
- return d.__proto__ = r, d;
1167
- }, W(t, n);
1168
- }
1169
- function z(t) {
1170
- return z = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(n) {
1171
- return n.__proto__ || Object.getPrototypeOf(n);
1172
- }, z(t);
1173
- }
1174
- var I = /* @__PURE__ */ function(t) {
1175
- function n(d) {
1176
- var r;
1177
- return Ed(this, n), r = hd(this, n, [d]), Object.setPrototypeOf(r, n.prototype), r.name = r.constructor.name, r;
1178
- }
1179
- return Pd(n, t), _d(n);
1180
- }(/* @__PURE__ */ he(Error)), Ke = new RegExp("(?:" + yt() + ")$", "i");
1181
- function Nd(t) {
1182
- var n = t.search(Ke);
1183
- if (n < 0)
1184
- return {};
1185
- for (var d = t.slice(0, n), r = t.match(Ke), i = 1; i < r.length; ) {
1186
- if (r[i])
1187
- return {
1188
- number: d,
1189
- ext: r[i]
1190
- };
1191
- i++;
1192
- }
1193
- }
1194
- var Fd = {
1195
- 0: "0",
1196
- 1: "1",
1197
- 2: "2",
1198
- 3: "3",
1199
- 4: "4",
1200
- 5: "5",
1201
- 6: "6",
1202
- 7: "7",
1203
- 8: "8",
1204
- 9: "9",
1205
- "0": "0",
1206
- // Fullwidth digit 0
1207
- "1": "1",
1208
- // Fullwidth digit 1
1209
- "2": "2",
1210
- // Fullwidth digit 2
1211
- "3": "3",
1212
- // Fullwidth digit 3
1213
- "4": "4",
1214
- // Fullwidth digit 4
1215
- "5": "5",
1216
- // Fullwidth digit 5
1217
- "6": "6",
1218
- // Fullwidth digit 6
1219
- "7": "7",
1220
- // Fullwidth digit 7
1221
- "8": "8",
1222
- // Fullwidth digit 8
1223
- "9": "9",
1224
- // Fullwidth digit 9
1225
- "٠": "0",
1226
- // Arabic-indic digit 0
1227
- "١": "1",
1228
- // Arabic-indic digit 1
1229
- "٢": "2",
1230
- // Arabic-indic digit 2
1231
- "٣": "3",
1232
- // Arabic-indic digit 3
1233
- "٤": "4",
1234
- // Arabic-indic digit 4
1235
- "٥": "5",
1236
- // Arabic-indic digit 5
1237
- "٦": "6",
1238
- // Arabic-indic digit 6
1239
- "٧": "7",
1240
- // Arabic-indic digit 7
1241
- "٨": "8",
1242
- // Arabic-indic digit 8
1243
- "٩": "9",
1244
- // Arabic-indic digit 9
1245
- "۰": "0",
1246
- // Eastern-Arabic digit 0
1247
- "۱": "1",
1248
- // Eastern-Arabic digit 1
1249
- "۲": "2",
1250
- // Eastern-Arabic digit 2
1251
- "۳": "3",
1252
- // Eastern-Arabic digit 3
1253
- "۴": "4",
1254
- // Eastern-Arabic digit 4
1255
- "۵": "5",
1256
- // Eastern-Arabic digit 5
1257
- "۶": "6",
1258
- // Eastern-Arabic digit 6
1259
- "۷": "7",
1260
- // Eastern-Arabic digit 7
1261
- "۸": "8",
1262
- // Eastern-Arabic digit 8
1263
- "۹": "9"
1264
- // Eastern-Arabic digit 9
1265
- };
1266
- function Ad(t) {
1267
- return Fd[t];
1268
- }
1269
- function Td(t, n) {
1270
- var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
1271
- if (d) return (d = d.call(t)).next.bind(d);
1272
- if (Array.isArray(t) || (d = Sd(t)) || n) {
1273
- d && (t = d);
1274
- var r = 0;
1275
- return function() {
1276
- return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
1277
- };
1278
- }
1279
- throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1280
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1281
- }
1282
- function Sd(t, n) {
1283
- if (t) {
1284
- if (typeof t == "string") return We(t, n);
1285
- var d = {}.toString.call(t).slice(8, -1);
1286
- return d === "Object" && t.constructor && (d = t.constructor.name), d === "Map" || d === "Set" ? Array.from(t) : d === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d) ? We(t, n) : void 0;
1287
- }
1288
- }
1289
- function We(t, n) {
1290
- (n == null || n > t.length) && (n = t.length);
1291
- for (var d = 0, r = Array(n); d < n; d++) r[d] = t[d];
1292
- return r;
1293
- }
1294
- function ze(t) {
1295
- for (var n = "", d = Td(t.split("")), r; !(r = d()).done; ) {
1296
- var i = r.value;
1297
- n += Od(i, n) || "";
1298
- }
1299
- return n;
1300
- }
1301
- function Od(t, n, d) {
1302
- return t === "+" ? n ? void 0 : "+" : Ad(t);
1303
- }
1304
- var Et = "+", Md = "[\\-\\.\\(\\)]?", Ye = "([" + h + "]|" + Md + ")", xd = "^\\" + Et + Ye + "*[" + h + "]" + Ye + "*$", Dd = new RegExp(xd, "g"), ve = h, Ld = "[" + ve + "]+((\\-)*[" + ve + "])*", wd = "a-zA-Z", jd = "[" + wd + "]+((\\-)*[" + ve + "])*", Bd = "^(" + Ld + "\\.)*" + jd + "\\.?$", Ud = new RegExp(Bd, "g"), qe = "tel:", Ce = ";phone-context=", Gd = ";isub=";
1305
- function kd(t) {
1306
- var n = t.indexOf(Ce);
1307
- if (n < 0)
1308
- return null;
1309
- var d = n + Ce.length;
1310
- if (d >= t.length)
1311
- return "";
1312
- var r = t.indexOf(";", d);
1313
- return r >= 0 ? t.substring(d, r) : t.substring(d);
1314
- }
1315
- function Hd(t) {
1316
- return t === null ? !0 : t.length === 0 ? !1 : Dd.test(t) || Ud.test(t);
1317
- }
1318
- function Vd(t, n) {
1319
- var d = n.extractFormattedPhoneNumber, r = kd(t);
1320
- if (!Hd(r))
1321
- throw new I("NOT_A_NUMBER");
1322
- var i;
1323
- if (r === null)
1324
- i = d(t) || "";
1325
- else {
1326
- i = "", r.charAt(0) === Et && (i += r);
1327
- var a = t.indexOf(qe), s;
1328
- a >= 0 ? s = a + qe.length : s = 0;
1329
- var $ = t.indexOf(Ce);
1330
- i += t.substring(s, $);
1331
- }
1332
- var l = i.indexOf(Gd);
1333
- if (l > 0 && (i = i.substring(0, l)), i !== "")
1334
- return i;
1335
- }
1336
- var Kd = 250, Wd = new RegExp("[" + Fe + h + "]"), zd = new RegExp("[^" + h + "#]+$");
1337
- function Yd(t, n, d) {
1338
- if (n = n || {}, d = new y(d), n.defaultCountry && !d.hasCountry(n.defaultCountry))
1339
- throw n.v2 ? new I("INVALID_COUNTRY") : new Error("Unknown country: ".concat(n.defaultCountry));
1340
- var r = Xd(t, n.v2, n.extract), i = r.number, a = r.ext, s = r.error;
1341
- if (!i) {
1342
- if (n.v2)
1343
- throw s === "TOO_SHORT" ? new I("TOO_SHORT") : new I("NOT_A_NUMBER");
1344
- return {};
1345
- }
1346
- var $ = Zd(i, n.defaultCountry, n.defaultCallingCode, d), l = $.country, u = $.nationalNumber, p = $.countryCallingCode, E = $.countryCallingCodeSource, R = $.carrierCode;
1347
- if (!d.hasSelectedNumberingPlan()) {
1348
- if (n.v2)
1349
- throw new I("INVALID_COUNTRY");
1350
- return {};
1351
- }
1352
- if (!u || u.length < Ne) {
1353
- if (n.v2)
1354
- throw new I("TOO_SHORT");
1355
- return {};
1356
- }
1357
- if (u.length > Fn) {
1358
- if (n.v2)
1359
- throw new I("TOO_LONG");
1360
- return {};
1361
- }
1362
- if (n.v2) {
1363
- var O = new gd(p, u, d.metadata);
1364
- return l && (O.country = l), R && (O.carrierCode = R), a && (O.ext = a), O.__countryCallingCodeSource = E, O;
1365
- }
1366
- var V = (n.extended ? d.hasSelectedNumberingPlan() : l) ? A(u, d.nationalNumberPattern()) : !1;
1367
- return n.extended ? {
1368
- country: l,
1369
- countryCallingCode: p,
1370
- carrierCode: R,
1371
- valid: V,
1372
- possible: V ? !0 : !!(n.extended === !0 && d.possibleLengths() && gt(u, l, d)),
1373
- phone: u,
1374
- ext: a
1375
- } : V ? Jd(l, u, a) : {};
1376
- }
1377
- function qd(t, n, d) {
1378
- if (t) {
1379
- if (t.length > Kd) {
1380
- if (d)
1381
- throw new I("TOO_LONG");
1382
- return;
1383
- }
1384
- if (n === !1)
1385
- return t;
1386
- var r = t.search(Wd);
1387
- if (!(r < 0))
1388
- return t.slice(r).replace(zd, "");
1389
- }
1390
- }
1391
- function Xd(t, n, d) {
1392
- var r = Vd(t, {
1393
- extractFormattedPhoneNumber: function(s) {
1394
- return qd(s, d, n);
1395
- }
1396
- });
1397
- if (!r)
1398
- return {};
1399
- if (!nd(r))
1400
- return dd(r) ? {
1401
- error: "TOO_SHORT"
1402
- } : {};
1403
- var i = Nd(r);
1404
- return i.ext ? i : {
1405
- number: r
1406
- };
1407
- }
1408
- function Jd(t, n, d) {
1409
- var r = {
1410
- country: t,
1411
- phone: n
1412
- };
1413
- return d && (r.ext = d), r;
1414
- }
1415
- function Zd(t, n, d, r) {
1416
- var i = bt(ze(t), void 0, n, d, r.metadata), a = i.countryCallingCodeSource, s = i.countryCallingCode, $ = i.number, l;
1417
- if (s)
1418
- r.selectNumberingPlan(s);
1419
- else if ($ && (n || d))
1420
- r.selectNumberingPlan(n, d), n && (l = n), s = d || Pe(n, r.metadata);
1421
- else return {};
1422
- if (!$)
1423
- return {
1424
- countryCallingCodeSource: a,
1425
- countryCallingCode: s
1426
- };
1427
- var u = _e(ze($), l, r), p = u.nationalNumber, E = u.carrierCode, R = pt(s, {
1428
- nationalNumber: p,
1429
- metadata: r
1430
- });
1431
- return R && (l = R, R === "001" || r.selectNumberingPlan(l)), {
1432
- country: l,
1433
- countryCallingCode: s,
1434
- countryCallingCodeSource: a,
1435
- nationalNumber: p,
1436
- carrierCode: E
1437
- };
1438
- }
1439
- function Y(t) {
1440
- "@babel/helpers - typeof";
1441
- return Y = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(n) {
1442
- return typeof n;
1443
- } : function(n) {
1444
- return n && typeof Symbol == "function" && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n;
1445
- }, Y(t);
1446
- }
1447
- function Xe(t, n) {
1448
- var d = Object.keys(t);
1449
- if (Object.getOwnPropertySymbols) {
1450
- var r = Object.getOwnPropertySymbols(t);
1451
- n && (r = r.filter(function(i) {
1452
- return Object.getOwnPropertyDescriptor(t, i).enumerable;
1453
- })), d.push.apply(d, r);
1454
- }
1455
- return d;
1456
- }
1457
- function Je(t) {
1458
- for (var n = 1; n < arguments.length; n++) {
1459
- var d = arguments[n] != null ? arguments[n] : {};
1460
- n % 2 ? Xe(Object(d), !0).forEach(function(r) {
1461
- Qd(t, r, d[r]);
1462
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : Xe(Object(d)).forEach(function(r) {
1463
- Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
1464
- });
1465
- }
1466
- return t;
1467
- }
1468
- function Qd(t, n, d) {
1469
- return (n = er(n)) in t ? Object.defineProperty(t, n, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[n] = d, t;
1470
- }
1471
- function er(t) {
1472
- var n = tr(t, "string");
1473
- return Y(n) == "symbol" ? n : n + "";
1474
- }
1475
- function tr(t, n) {
1476
- if (Y(t) != "object" || !t) return t;
1477
- var d = t[Symbol.toPrimitive];
1478
- if (d !== void 0) {
1479
- var r = d.call(t, n || "default");
1480
- if (Y(r) != "object") return r;
1481
- throw new TypeError("@@toPrimitive must return a primitive value.");
1482
- }
1483
- return (n === "string" ? String : Number)(t);
1484
- }
1485
- function nr(t, n, d) {
1486
- return Yd(t, Je(Je({}, n), {}, {
1487
- v2: !0
1488
- }), d);
1489
- }
1490
- function q(t) {
1491
- "@babel/helpers - typeof";
1492
- return q = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(n) {
1493
- return typeof n;
1494
- } : function(n) {
1495
- return n && typeof Symbol == "function" && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n;
1496
- }, q(t);
1497
- }
1498
- function Ze(t, n) {
1499
- var d = Object.keys(t);
1500
- if (Object.getOwnPropertySymbols) {
1501
- var r = Object.getOwnPropertySymbols(t);
1502
- n && (r = r.filter(function(i) {
1503
- return Object.getOwnPropertyDescriptor(t, i).enumerable;
1504
- })), d.push.apply(d, r);
1505
- }
1506
- return d;
1507
- }
1508
- function dr(t) {
1509
- for (var n = 1; n < arguments.length; n++) {
1510
- var d = arguments[n] != null ? arguments[n] : {};
1511
- n % 2 ? Ze(Object(d), !0).forEach(function(r) {
1512
- rr(t, r, d[r]);
1513
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : Ze(Object(d)).forEach(function(r) {
1514
- Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
1515
- });
1516
- }
1517
- return t;
1518
- }
1519
- function rr(t, n, d) {
1520
- return (n = ir(n)) in t ? Object.defineProperty(t, n, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[n] = d, t;
1521
- }
1522
- function ir(t) {
1523
- var n = or(t, "string");
1524
- return q(n) == "symbol" ? n : n + "";
1525
- }
1526
- function or(t, n) {
1527
- if (q(t) != "object" || !t) return t;
1528
- var d = t[Symbol.toPrimitive];
1529
- if (d !== void 0) {
1530
- var r = d.call(t, n || "default");
1531
- if (q(r) != "object") return r;
1532
- throw new TypeError("@@toPrimitive must return a primitive value.");
1533
- }
1534
- return (n === "string" ? String : Number)(t);
1535
- }
1536
- function ar(t, n) {
1537
- return ur(t) || lr(t, n) || $r(t, n) || sr();
1538
- }
1539
- function sr() {
1540
- throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1541
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1542
- }
1543
- function $r(t, n) {
1544
- if (t) {
1545
- if (typeof t == "string") return Qe(t, n);
1546
- var d = {}.toString.call(t).slice(8, -1);
1547
- return d === "Object" && t.constructor && (d = t.constructor.name), d === "Map" || d === "Set" ? Array.from(t) : d === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d) ? Qe(t, n) : void 0;
1548
- }
1549
- }
1550
- function Qe(t, n) {
1551
- (n == null || n > t.length) && (n = t.length);
1552
- for (var d = 0, r = Array(n); d < n; d++) r[d] = t[d];
1553
- return r;
1554
- }
1555
- function lr(t, n) {
1556
- var d = t == null ? null : typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
1557
- if (d != null) {
1558
- var r, i, a, s, $ = [], l = !0, u = !1;
1559
- try {
1560
- if (a = (d = d.call(t)).next, n !== 0) for (; !(l = (r = a.call(d)).done) && ($.push(r.value), $.length !== n); l = !0) ;
1561
- } catch (p) {
1562
- u = !0, i = p;
1563
- } finally {
1564
- try {
1565
- if (!l && d.return != null && (s = d.return(), Object(s) !== s)) return;
1566
- } finally {
1567
- if (u) throw i;
1568
- }
1569
- }
1570
- return $;
1571
- }
1572
- }
1573
- function ur(t) {
1574
- if (Array.isArray(t)) return t;
1575
- }
1576
- function cr(t) {
1577
- var n = Array.prototype.slice.call(t), d = ar(n, 4), r = d[0], i = d[1], a = d[2], s = d[3], $, l, u;
1578
- if (typeof r == "string")
1579
- $ = r;
1580
- else throw new TypeError("A text for parsing must be a string.");
1581
- if (!i || typeof i == "string")
1582
- s ? (l = a, u = s) : (l = void 0, u = a), i && (l = dr({
1583
- defaultCountry: i
1584
- }, l));
1585
- else if (j(i))
1586
- a ? (l = i, u = a) : u = i;
1587
- else throw new Error("Invalid second argument: ".concat(i));
1588
- return {
1589
- text: $,
1590
- options: l,
1591
- metadata: u
1592
- };
1593
- }
1594
- function X(t) {
1595
- "@babel/helpers - typeof";
1596
- return X = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(n) {
1597
- return typeof n;
1598
- } : function(n) {
1599
- return n && typeof Symbol == "function" && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n;
1600
- }, X(t);
1601
- }
1602
- function et(t, n) {
1603
- var d = Object.keys(t);
1604
- if (Object.getOwnPropertySymbols) {
1605
- var r = Object.getOwnPropertySymbols(t);
1606
- n && (r = r.filter(function(i) {
1607
- return Object.getOwnPropertyDescriptor(t, i).enumerable;
1608
- })), d.push.apply(d, r);
1609
- }
1610
- return d;
1611
- }
1612
- function tt(t) {
1613
- for (var n = 1; n < arguments.length; n++) {
1614
- var d = arguments[n] != null ? arguments[n] : {};
1615
- n % 2 ? et(Object(d), !0).forEach(function(r) {
1616
- mr(t, r, d[r]);
1617
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : et(Object(d)).forEach(function(r) {
1618
- Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
1619
- });
1620
- }
1621
- return t;
1622
- }
1623
- function mr(t, n, d) {
1624
- return (n = fr(n)) in t ? Object.defineProperty(t, n, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[n] = d, t;
1625
- }
1626
- function fr(t) {
1627
- var n = gr(t, "string");
1628
- return X(n) == "symbol" ? n : n + "";
1629
- }
1630
- function gr(t, n) {
1631
- if (X(t) != "object" || !t) return t;
1632
- var d = t[Symbol.toPrimitive];
1633
- if (d !== void 0) {
1634
- var r = d.call(t, n || "default");
1635
- if (X(r) != "object") return r;
1636
- throw new TypeError("@@toPrimitive must return a primitive value.");
1637
- }
1638
- return (n === "string" ? String : Number)(t);
1639
- }
1640
- function pr(t, n, d) {
1641
- n && n.defaultCountry && !_n(n.defaultCountry, d) && (n = tt(tt({}, n), {}, {
1642
- defaultCountry: void 0
1643
- }));
1644
- try {
1645
- return nr(t, n, d);
1646
- } catch (r) {
1647
- if (!(r instanceof I)) throw r;
1648
- }
1649
- }
1650
- function J(t) {
1651
- "@babel/helpers - typeof";
1652
- return J = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(n) {
1653
- return typeof n;
1654
- } : function(n) {
1655
- return n && typeof Symbol == "function" && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n;
1656
- }, J(t);
1657
- }
1658
- function nt(t, n) {
1659
- var d = Object.keys(t);
1660
- if (Object.getOwnPropertySymbols) {
1661
- var r = Object.getOwnPropertySymbols(t);
1662
- n && (r = r.filter(function(i) {
1663
- return Object.getOwnPropertyDescriptor(t, i).enumerable;
1664
- })), d.push.apply(d, r);
1665
- }
1666
- return d;
1667
- }
1668
- function dt(t) {
1669
- for (var n = 1; n < arguments.length; n++) {
1670
- var d = arguments[n] != null ? arguments[n] : {};
1671
- n % 2 ? nt(Object(d), !0).forEach(function(r) {
1672
- br(t, r, d[r]);
1673
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : nt(Object(d)).forEach(function(r) {
1674
- Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
1675
- });
1676
- }
1677
- return t;
1678
- }
1679
- function br(t, n, d) {
1680
- return (n = yr(n)) in t ? Object.defineProperty(t, n, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[n] = d, t;
1681
- }
1682
- function yr(t) {
1683
- var n = _r(t, "string");
1684
- return J(n) == "symbol" ? n : n + "";
1685
- }
1686
- function _r(t, n) {
1687
- if (J(t) != "object" || !t) return t;
1688
- var d = t[Symbol.toPrimitive];
1689
- if (d !== void 0) {
1690
- var r = d.call(t, n || "default");
1691
- if (J(r) != "object") return r;
1692
- throw new TypeError("@@toPrimitive must return a primitive value.");
1693
- }
1694
- return (n === "string" ? String : Number)(t);
1695
- }
1696
- function Er() {
1697
- var t = cr(arguments), n = t.text, d = t.options, r = t.metadata;
1698
- d = dt(dt({}, d), {}, {
1699
- extract: !1
1700
- });
1701
- var i = pr(n, d, r);
1702
- return i && i.isValid() || !1;
1703
- }
1704
- function hr() {
1705
- return an(Er, arguments);
1706
- }
1707
- const m = e.enum([
1708
- "NEW_MEMBERS",
1709
- "AT_RISK_MEMBERS",
1710
- "TOP_MEMBERS",
1711
- "ACTIVE_MEMBERS"
1712
- ]);
1713
- m.options;
1714
- const Z0 = [
1715
- m.enum.NEW_MEMBERS,
1716
- m.enum.AT_RISK_MEMBERS,
1717
- m.enum.TOP_MEMBERS,
1718
- m.enum.ACTIVE_MEMBERS
1719
- ], Z = {
1720
- [m.enum.NEW_MEMBERS]: "New Members",
1721
- [m.enum.AT_RISK_MEMBERS]: "At-Risk Members",
1722
- [m.enum.TOP_MEMBERS]: "Top Members",
1723
- [m.enum.ACTIVE_MEMBERS]: "Active Members"
1724
- }, Q = {
1725
- [m.enum.NEW_MEMBERS]: "connect.loyalty.segment.default_segments.new_members.description",
1726
- [m.enum.AT_RISK_MEMBERS]: "connect.loyalty.segment.default_segments.at_risk_members.description",
1727
- [m.enum.TOP_MEMBERS]: "connect.loyalty.segment.default_segments.top_members.description",
1728
- [m.enum.ACTIVE_MEMBERS]: "connect.loyalty.segment.default_segments.active_members.description"
1729
- }, T = {
1730
- newJoinDays: 30,
1731
- atRiskMinVisitCount: 2,
1732
- atRiskLastVisitDays: 60,
1733
- topMinVisitCount: 3,
1734
- topMinAvgBillSize: 50,
1735
- topMaxAvgVisitFrequencyDays: 14,
1736
- activeMinVisitCount: 2,
1737
- activeLastVisitDays: 30
1738
- };
1739
- function x(t, n, d) {
1740
- return {
1741
- name: t,
1742
- property: n,
1743
- conditions: d,
1744
- negated: !1
1745
- };
1746
- }
1747
- function N(t, n, d) {
1748
- return {
1749
- name: t,
1750
- rules: d,
1751
- logic: n
1752
- };
1753
- }
1754
- function be(t, n, d) {
1755
- const r = `${t}_today`, i = `${t}_within_last_${d}_days`;
1756
- return N(t, `${r} || ${i}`, {
1757
- [r]: x(r, n, {
1758
- _isRange: {
1759
- op: "this",
1760
- unit: "day",
1761
- ignoreYear: !1
1762
- }
1763
- }),
1764
- [i]: x(i, n, {
1765
- _isRange: {
1766
- op: "last",
1767
- unit: "day",
1768
- x: d,
1769
- ignoreYear: !1
1770
- }
1771
- })
1772
- });
1773
- }
1774
- const b = {
1775
- g_join_recent_30: be(
1776
- "g_join_recent_30",
1777
- "user.joinAt",
1778
- T.newJoinDays
1779
- ),
1780
- r_at_risk_visit_count_min: x(
1781
- "r_at_risk_visit_count_min",
1782
- "user.stats.visitCount",
1783
- { _moreThanOrEqual: T.atRiskMinVisitCount }
1784
- ),
1785
- g_last_visit_recent_60: be(
1786
- "g_last_visit_recent_60",
1787
- "user.stats.lastVisit",
1788
- T.atRiskLastVisitDays
1789
- ),
1790
- r_top_visit_count_min: x(
1791
- "r_top_visit_count_min",
1792
- "user.stats.visitCount",
1793
- { _moreThanOrEqual: T.topMinVisitCount }
1794
- ),
1795
- r_avg_bill_top: x("r_avg_bill_top", "user.stats.avgBillSize", {
1796
- _moreThanOrEqual: T.topMinAvgBillSize
1797
- }),
1798
- r_avg_visit_frequency_top: x(
1799
- "r_avg_visit_frequency_top",
1800
- "user.stats.avgVisitFrequency",
1801
- {
1802
- _lessThanOrEqual: T.topMaxAvgVisitFrequencyDays
1803
- }
1804
- ),
1805
- r_active_visit_count_min: x(
1806
- "r_active_visit_count_min",
1807
- "user.stats.visitCount",
1808
- { _moreThanOrEqual: T.activeMinVisitCount }
1809
- ),
1810
- g_last_visit_recent_30: be(
1811
- "g_last_visit_recent_30",
1812
- "user.stats.lastVisit",
1813
- T.activeLastVisitDays
1814
- )
1815
- }, rt = N(
1816
- "g_not_at_risk",
1817
- "!r_at_risk_visit_count_min || g_last_visit_recent_60",
1818
- {
1819
- r_at_risk_visit_count_min: b.r_at_risk_visit_count_min,
1820
- g_last_visit_recent_60: b.g_last_visit_recent_60
1821
- }
1822
- ), vr = N(
1823
- "g_top_value",
1824
- "r_avg_bill_top || r_avg_visit_frequency_top",
1825
- {
1826
- r_avg_bill_top: b.r_avg_bill_top,
1827
- r_avg_visit_frequency_top: b.r_avg_visit_frequency_top
1828
- }
1829
- ), Cr = N(
1830
- "g_not_top",
1831
- "!r_top_visit_count_min || g_not_top_value",
1832
- {
1833
- r_top_visit_count_min: b.r_top_visit_count_min,
1834
- g_not_top_value: N(
1835
- "g_not_top_value",
1836
- "!r_avg_bill_top && !r_avg_visit_frequency_top",
1837
- {
1838
- r_avg_bill_top: b.r_avg_bill_top,
1839
- r_avg_visit_frequency_top: b.r_avg_visit_frequency_top
1840
- }
1841
- )
1842
- }
1843
- );
1844
- m.enum.NEW_MEMBERS + "", m.enum.NEW_MEMBERS, Z[m.enum.NEW_MEMBERS], Q[m.enum.NEW_MEMBERS], N("g_default_new_members", "g_join_recent_30", {
1845
- g_join_recent_30: b.g_join_recent_30
1846
- }), m.enum.AT_RISK_MEMBERS + "", m.enum.AT_RISK_MEMBERS, Z[m.enum.AT_RISK_MEMBERS], Q[m.enum.AT_RISK_MEMBERS], N(
1847
- "g_default_at_risk_members",
1848
- "!g_join_recent_30 && r_at_risk_visit_count_min && !g_last_visit_recent_60",
1849
- {
1850
- g_join_recent_30: b.g_join_recent_30,
1851
- r_at_risk_visit_count_min: b.r_at_risk_visit_count_min,
1852
- g_last_visit_recent_60: b.g_last_visit_recent_60
1853
- }
1854
- ), m.enum.TOP_MEMBERS + "", m.enum.TOP_MEMBERS, Z[m.enum.TOP_MEMBERS], Q[m.enum.TOP_MEMBERS], N(
1855
- "g_default_top_members",
1856
- "!g_join_recent_30 && g_not_at_risk && r_top_visit_count_min && g_top_value",
1857
- {
1858
- g_join_recent_30: b.g_join_recent_30,
1859
- g_not_at_risk: rt,
1860
- r_top_visit_count_min: b.r_top_visit_count_min,
1861
- g_top_value: vr
1862
- }
1863
- ), m.enum.ACTIVE_MEMBERS + "", m.enum.ACTIVE_MEMBERS, Z[m.enum.ACTIVE_MEMBERS], Q[m.enum.ACTIVE_MEMBERS], N(
1864
- "g_default_active_members",
1865
- "!g_join_recent_30 && g_not_at_risk && g_not_top && r_active_visit_count_min && g_last_visit_recent_30",
1866
- {
1867
- g_join_recent_30: b.g_join_recent_30,
1868
- g_not_at_risk: rt,
1869
- g_not_top: Cr,
1870
- r_active_visit_count_min: b.r_active_visit_count_min,
1871
- g_last_visit_recent_30: b.g_last_visit_recent_30
1872
- }
1873
- );
1874
- const Pr = {
1875
- collectionName: "Segmentations",
1876
- transform: {
1877
- _id: "oid",
1878
- business: "oid"
1879
- }
1880
- }, Rr = {
1881
- collectionName: "SegmentRefreshRuns",
1882
- transform: {
1883
- _id: "oid",
1884
- business: "oid",
1885
- segmentId: "oid",
1886
- upperBoundCursor: "oid",
1887
- lastCursor: "oid"
1888
- }
1889
- }, Ir = e.enum(["DYNAMIC", "STATIC"]), Nr = e.enum([
1890
- "ACTIVE",
1891
- "COMPLETED",
1892
- "FAILED"
1893
- ]), Fr = e.enum([
1894
- "MANUAL",
1895
- "SCHEDULED"
1896
- ]), Ar = e.enum(["userId"]), Q0 = e.object({
1897
- _id: o,
1898
- rule: U,
1899
- name: e.string().min(1),
1900
- description: e.string().nullish(),
1901
- business: o,
1902
- members: e.array(o),
1903
- memberCount: e.number().optional(),
1904
- lastUpdated: e.coerce.date().nullish(),
1905
- type: Ir.nullish(),
1906
- isActive: e.boolean().nullish(),
1907
- importFile: e.string().nullish(),
1908
- defaultKey: m.nullish()
1909
- }).describe(_.describe(Pr));
1910
- e.object({
1911
- _id: o,
1912
- business: o,
1913
- segmentId: o.nullish(),
1914
- triggerType: Fr,
1915
- queueName: e.string(),
1916
- status: Nr,
1917
- active: e.boolean(),
1918
- cursorType: Ar,
1919
- batchSize: e.number(),
1920
- fanoutWindowSize: e.number(),
1921
- maxOutstandingChunks: e.number(),
1922
- upperBoundCursor: o.nullish(),
1923
- lastCursor: o.nullish(),
1924
- nextChunkIndex: e.number(),
1925
- dispatchedChunks: e.number(),
1926
- dispatchDone: e.boolean(),
1927
- fanoutSeq: e.number(),
1928
- requestedBy: e.string().nullish(),
1929
- triggeredAt: e.coerce.date().nullish(),
1930
- startedAt: e.coerce.date(),
1931
- updatedAt: e.coerce.date(),
1932
- completedAt: e.coerce.date().nullish(),
1933
- failedAt: e.coerce.date().nullish(),
1934
- error: e.string().nullish()
1935
- }).describe(_.describe(Rr));
1936
- e.object({
1937
- businessId: e.string(),
1938
- segmentId: e.string().optional(),
1939
- queueName: e.string(),
1940
- runId: e.string(),
1941
- queued: e.boolean(),
1942
- reason: e.literal("in-progress").optional()
1943
- });
1944
- const Tr = e.object({
1945
- id: e.union([e.string(), e.number()]),
1946
- businessId: e.string(),
1947
- segmentId: e.string().optional(),
1948
- queueName: e.string(),
1949
- state: e.string(),
1950
- runId: e.string().optional(),
1951
- createdAt: e.coerce.date(),
1952
- dispatchedChunks: e.number().optional(),
1953
- completedChunks: e.number().optional(),
1954
- failedChunks: e.number().optional(),
1955
- dispatchDone: e.boolean().optional(),
1956
- progress: e.number().optional()
1957
- });
1958
- e.object({
1959
- businessId: e.string(),
1960
- inProgress: e.boolean(),
1961
- jobs: e.array(Tr)
1962
- });
1963
- const Sr = e.enum([
1964
- "PORTAL",
1965
- "BENEFIT",
1966
- "STORE",
1967
- "ORDER",
1968
- "BILL",
1969
- "BILL_DISCOUNT",
1970
- "CASHBACK",
1971
- "FEEDBACK",
1972
- "CYCLE",
1973
- "COUNTER",
1974
- "GAME",
1975
- "COUNTER_CONSUME",
1976
- "STAMP_REWARD",
1977
- "STAMP_CARRY_FORWARD",
1978
- "STAMP_MAX_REACHED",
1979
- "POS_CLAIM",
1980
- "MEMBER_APP-CLAIM",
1981
- "MEMBER_APP-TRANSFER",
1982
- "FEEDVIBE_APP-CLAIM",
1983
- "REFERRAL",
1984
- "REFERRAL_REWARD",
1985
- "ORDER_APP-CLAIM",
1986
- "ORDER_APP-APPLY",
1987
- "INTEGRATION"
1988
- ]), se = e.string(), $e = e.record(e.string(), e.any()).nullish(), Or = {
1989
- collectionName: "Transactions",
1990
- transform: {
1991
- _id: "oid",
1992
- user: "oid",
1993
- collectible: "oid",
1994
- collection: "oid",
1995
- business: "oid",
1996
- refundedFrom: "oid",
1997
- createdAt: "date"
1998
- },
1999
- lookups: {
2000
- user: {
2001
- fromCollection: "UsersV2",
2002
- as: "pf_user"
2003
- },
2004
- collectible: {
2005
- fromCollection: "CollectibleConfigs",
2006
- as: "pf_collectible"
2007
- },
2008
- collection: {
2009
- fromCollection: "Collections",
2010
- as: "pf_collection"
2011
- }
2012
- }
2013
- }, ht = e.object({
2014
- _id: o,
2015
- user: o.nullable(),
2016
- collectible: o,
2017
- collection: o,
2018
- business: o,
2019
- amount: e.number(),
2020
- expiryAmount: e.array(e.lazy(() => Te)),
2021
- from: e.lazy(() => F),
2022
- to: e.lazy(() => F),
2023
- source: se,
2024
- ref: e.string(),
2025
- refunded: e.boolean().optional(),
2026
- refundedFrom: o.optional(),
2027
- metadata: $e,
2028
- createdAt: e.coerce.date().optional(),
2029
- pf_user: e.any().optional(),
2030
- pf_collectible: e.any().optional(),
2031
- pf_collection: e.any().optional(),
2032
- totalAmount: e.number().optional()
2033
- }).describe(_.describe(Or));
2034
- e.object({
2035
- amount: e.number(),
2036
- expiryAmount: e.array(e.lazy(() => Te)),
2037
- collection: e.lazy(() => ne),
2038
- source: se,
2039
- ref: e.string(),
2040
- from: e.lazy(() => F).optional(),
2041
- to: e.lazy(() => F),
2042
- metadata: $e,
2043
- refunded: e.boolean().optional(),
2044
- refundedFrom: o.optional()
2045
- });
2046
- e.object({
2047
- id: e.string(),
2048
- // When set, revert() only reverses transactions owned by this business —
2049
- // used by the Partner API to prevent cross-tenant refunds.
2050
- businessId: e.string().optional()
2051
- });
2052
- Sr.options;
2053
- const re = class re {
2054
- constructor(n) {
2055
- this.redemptionCode = n.generate(), this.expiredAt = new Date(Date.now() + re.EXPIRY_TIME);
2056
- }
2057
- };
2058
- re.EXPIRY_TIME = 5 * 60 * 1e3;
2059
- let it = re;
2060
- const vt = e.enum(["NORMAL", "EXPIRABLE"]), Te = e.object({
2061
- _id: o,
2062
- amount: e.number(),
2063
- expiredAt: e.coerce.date()
2064
- }), F = e.object({
2065
- balance: e.number(),
2066
- expiryBalance: e.array(Te).optional()
2067
- }), Mr = {
2068
- collectionName: "Collections",
2069
- transform: {
2070
- _id: "oid",
2071
- business: "oid",
2072
- collectible: "oid",
2073
- user: "oid",
2074
- deactivatedAt: "date"
2075
- },
2076
- lookups: {
2077
- user: {
2078
- as: "pf_user",
2079
- fromCollection: "UsersV2"
2080
- },
2081
- collectible: {
2082
- as: "pf_collectible",
2083
- fromCollection: "CollectibleConfigs"
2084
- }
2085
- }
2086
- }, xr = e.object({
2087
- redemptionCode: e.string(),
2088
- expiredAt: e.coerce.date()
2089
- }), ne = e.object({
2090
- _id: o,
2091
- business: o,
2092
- user: o.nullish(),
2093
- code: e.string().optional(),
2094
- collectible: o,
2095
- type: ct,
2096
- extras: nn.nullish(),
2097
- options: dn,
2098
- ref: e.string().nullish(),
2099
- deactivatedAt: e.date().nullish(),
2100
- redemption: xr.optional(),
2101
- pf_user: e.any().optional(),
2102
- pf_collectible: e.any().optional(),
2103
- pf_campaign: e.any().optional()
2104
- }).merge(F).describe(_.describe(Mr)), G = e.object({
2105
- amount: e.number(),
2106
- ref: e.string(),
2107
- source: se,
2108
- metadata: $e
2109
- });
2110
- G.extend({
2111
- code: e.string().optional(),
2112
- collectible: o,
2113
- channelConfig: ie.nullish(),
2114
- business: o,
2115
- user: o.nullable()
2116
- });
2117
- G.extend({
2118
- codes: e.array(e.string()),
2119
- collectible: o,
2120
- channelConfig: ie.nullish(),
2121
- business: o,
2122
- user: o.nullable()
2123
- });
2124
- G.extend({
2125
- user: o,
2126
- business: o,
2127
- collectible: o,
2128
- expiredAt: e.date({ coerce: !0 }).nullish()
2129
- });
2130
- G.extend({
2131
- id: o,
2132
- code: e.string().optional(),
2133
- type: vt.optional(),
2134
- skipValidateOption: e.boolean().optional()
2135
- });
2136
- e.object({
2137
- collection: o,
2138
- to: o,
2139
- ref: e.string(),
2140
- source: se,
2141
- metadata: $e
2142
- });
2143
- const Dr = e.object({
2144
- length: e.coerce.number().optional(),
2145
- charset: e.string(),
2146
- prefix: e.string().optional(),
2147
- suffix: e.string().optional(),
2148
- pattern: e.string().optional()
2149
- });
2150
- e.object({
2151
- quantity: e.number(),
2152
- code: e.string(),
2153
- codeConfig: Dr
2154
- });
2155
- const e1 = e.object({
2156
- amount: e.coerce.number().min(1).max(1e7).multipleOf(0.01, "Amount must be maximum of two decimal places (0.00)"),
2157
- day: e.coerce.number().min(1).max(9999),
2158
- remark: e.string().optional()
2159
- }), t1 = e.object({
2160
- amount: e.coerce.number().min(1),
2161
- remark: e.string().optional()
2162
- }), n1 = e.object({
2163
- amount: e.coerce.number().min(1),
2164
- day: e.coerce.number().min(1).max(9999).optional(),
2165
- remark: e.string().optional()
2166
- }), d1 = e.object({
2167
- amount: e.coerce.number().min(1),
2168
- remark: e.string().optional()
2169
- });
2170
- G.extend({
2171
- business: e.string(),
2172
- user: e.string(),
2173
- type: vt.optional()
2174
- });
2175
- G.extend({
2176
- business: e.string(),
2177
- user: e.string(),
2178
- channelConfig: ie.nullish()
2179
- });
2180
- const r1 = e.object({
2181
- memberId: e.array(o).min(1),
2182
- amount: e.coerce.number().min(1).max(9999).optional(),
2183
- ref: e.string().optional()
2184
- });
2185
- e.object({
2186
- userId: o
2187
- });
2188
- e.lazy(
2189
- () => le.omit({ password: !0 }).extend({
2190
- coin: e.lazy(() => F),
2191
- point: e.lazy(() => F),
2192
- credit: e.lazy(() => F),
2193
- voucherCount: e.number(),
2194
- gameCount: e.number(),
2195
- tier: e.lazy(() => F),
2196
- titles: e.lazy(() => e.array(ne)),
2197
- collection: e.record(ct, e.array(ne)).nullish()
2198
- })
2199
- );
2200
- e.object({
2201
- userId: o
2202
- });
2203
- const Lr = e.enum([
2204
- "REGISTER",
2205
- "UPDATE_PHONE"
2206
- ]), wr = e.object({
2207
- name: e.string(),
2208
- id: e.string()
2209
- }), jr = e.object({
2210
- lastVisit: e.coerce.date(),
2211
- topupCount: e.number(),
2212
- // { [productId]: count }
2213
- products: e.record(e.string(), e.number()),
2214
- visitCount: e.number(),
2215
- avgVisitFrequency: e.number(),
2216
- avgBillSize: e.number(),
2217
- feedbackCount: e.number(),
2218
- lastSeasonTierEarned: e.number().optional(),
2219
- lastSeasonPointEarned: e.number().optional()
2220
- }), Ct = e.object({
2221
- name: e.string(),
2222
- address: e.string(),
2223
- coordinates: e.array(e.number())
2224
- }), Br = {
2225
- collectionName: "UsersV2",
2226
- transform: {
2227
- _id: "oid",
2228
- business: "oid"
2229
- },
2230
- lookups: {
2231
- segment: {
2232
- as: "pf_segment",
2233
- fromCollection: "Segments"
2234
- }
2235
- }
2236
- }, le = e.object({
2237
- // user meta
2238
- _id: o,
2239
- name: e.string(),
2240
- birthday: e.coerce.date().nullish(),
2241
- gender: e.enum(["MALE", "FEMALE"]).nullish(),
2242
- address: e.array(Ct).nullish(),
2243
- email: e.string().email().nullish(),
2244
- phoneNumber: e.string().refine((t) => hr(t)),
2245
- externalMemberId: e.string().optional(),
2246
- cardNo: e.string().optional(),
2247
- joinAt: e.coerce.date().nullish(),
2248
- photoUrl: e.string().nullish(),
2249
- location: o.nullish(),
2250
- // member meta
2251
- business: o,
2252
- stats: jr,
2253
- // segment
2254
- segment: e.array(o),
2255
- member: e.boolean(),
2256
- // pf_segment: z
2257
- // .array(z.lazy(() => FdoSegment))
2258
- // .describe(
2259
- // zm
2260
- // .mongo()
2261
- // .populate({
2262
- // fromCollection: 'Segment',
2263
- // localField: 'segment',
2264
- // as: 'pf_segment',
2265
- // })
2266
- // .build(),
2267
- // )
2268
- // .optional(),
2269
- expiringVouchers: e.object({
2270
- days7: e.number(),
2271
- days30: e.number(),
2272
- days90: e.number()
2273
- }).and(e.record(e.string(), e.number())).optional(),
2274
- lastReadAt: e.coerce.date().nullish(),
2275
- importCollection: e.record(e.string(), e.any()).optional(),
2276
- // referral feature
2277
- referralCode: e.string().optional(),
2278
- parentReferralCode: e.string().optional(),
2279
- password: e.string().optional(),
2280
- birthdayUpdateCount: e.number().optional(),
2281
- authProvider: e.array(wr).optional(),
2282
- // arbitrary caller-supplied info (e.g. app language, app version)
2283
- metadata: e.record(e.string(), e.any()).optional()
2284
- }).describe(_.describe(Br)), Ur = e.object({
2285
- id: o,
2286
- expiredAt: e.coerce.number().min(0, "Expire in days must be greater than 0").max(9999, "Expire in days must not exceed 9999")
2287
- }), i1 = e.object({
2288
- titles: e.array(Ur).optional(),
2289
- tier: e.number().optional(),
2290
- experience: e.number().optional(),
2291
- cardNo: e.string().optional(),
2292
- name: e.string().optional(),
2293
- email: e.string().email().optional(),
2294
- birthday: e.coerce.date().optional(),
2295
- gender: e.enum(["MALE", "FEMALE"]).optional(),
2296
- address: e.array(Ct).optional(),
2297
- photoUrl: e.string().optional()
2298
- });
2299
- e.object({
2300
- phoneNumber: e.string(),
2301
- password: e.string(),
2302
- business: e.string()
2303
- });
2304
- e.object({
2305
- _id: o,
2306
- name: e.string().optional(),
2307
- birthday: e.coerce.date().optional(),
2308
- gender: e.enum(["MALE", "FEMALE"]).optional(),
2309
- email: e.string().email().optional()
2310
- });
2311
- e.object({
2312
- phoneNumber: e.string(),
2313
- newPhoneNumber: e.string()
2314
- });
2315
- e.object({
2316
- token: e.string(),
2317
- password: e.string(),
2318
- business: e.string()
2319
- });
2320
- e.object({
2321
- id: e.string(),
2322
- password: e.string(),
2323
- business: e.string()
2324
- });
2325
- e.object({
2326
- phoneNumber: e.string(),
2327
- business: e.string()
2328
- });
2329
- e.object({
2330
- phoneNumber: e.string(),
2331
- otp: e.string(),
2332
- business: e.string(),
2333
- type: Lr
2334
- });
2335
- e.object({
2336
- provider: e.string(),
2337
- oauthToken: e.string(),
2338
- business: e.string()
2339
- });
2340
- e.object({
2341
- location: o,
2342
- memberId: o,
2343
- nettTotal: w,
2344
- remark: e.string().optional()
2345
- });
2346
- const Gr = e.enum(["COUNTER", "POS"]);
2347
- e.object({
2348
- id: e.string(),
2349
- userId: e.string(),
2350
- name: e.string().nullish(),
2351
- birthday: e.string().nullish(),
2352
- phoneNumber: e.string().nullish(),
2353
- balance: e.number().nullish(),
2354
- level: e.number().nullish(),
2355
- mostPurchasedItems: e.array(e.string()).nullish()
2356
- });
2357
- const kr = {
2358
- collectionName: "Bills"
2359
- }, Pt = e.object({
2360
- _id: e.string(),
2361
- items: e.record(e.string(), e.number()).nullish(),
2362
- // business: z.string(),
2363
- // adjustments: z.record(FdoBillAdjustment),
2364
- // refundedFrom: z.string().nullish(),
2365
- user: e.string().nullish(),
2366
- memberid: e.string().nullish(),
2367
- // roundToNearest: z.number().nullish(),
2368
- nettTotal: w,
2369
- // activeItems: z.array(z.string()),
2370
- remark: e.string().nullish(),
2371
- createdAt: e.coerce.date(),
2372
- completedAt: e.coerce.date(),
2373
- refunded: e.boolean().nullish(),
2374
- refundRecord: e.array(e.string()).nullish(),
2375
- location: e.string(),
2376
- channel: Gr.optional()
2377
- }).transform((t) => ({
2378
- ...t,
2379
- createdTime: t.createdAt,
2380
- completedTime: t.completedAt,
2381
- get amount() {
2382
- return t.nettTotal.amount / 10 ** t.nettTotal.precision;
2383
- }
2384
- })).describe(_.describe(kr)), Hr = e.object({
2385
- _id: e.string(),
2386
- rating: e.coerce.number(),
2387
- user: e.string().optional(),
2388
- restaurant: e.string(),
2389
- message: e.string(),
2390
- submittedAt: e.coerce.date()
2391
- }), f = e.enum([
2392
- "SIMPLE_CLAIM",
2393
- "LINK_CLAIM",
2394
- "BILL_COMPLETED",
2395
- "BILL_REFUNDED",
2396
- "SCHEDULE",
2397
- "BIRTHDAY",
2398
- "FEEDBACK",
2399
- "ENTER_SEGMENT",
2400
- "MEMBERSHIP_JOINED",
2401
- "TIER_UPGRADED",
2402
- "MAKING_ORDER",
2403
- "ISSUE_REWARD",
2404
- "MEMBER_REWARD",
2405
- "GAME_COMPLETED",
2406
- "PAGINATE_SCHEDULE",
2407
- "REFERRAL_ADDED",
2408
- "MEMBER_IMPORTED",
2409
- "SEGMENTATION_IMPORTED"
2410
- ]), o1 = f.extract([
2411
- "BILL_COMPLETED",
2412
- "FEEDBACK",
2413
- "GAME_COMPLETED",
2414
- "MAKING_ORDER",
2415
- "MEMBERSHIP_JOINED",
2416
- "SCHEDULE",
2417
- "SIMPLE_CLAIM",
2418
- "TIER_UPGRADED",
2419
- "ISSUE_REWARD"
2420
- ]);
2421
- e.enum(["START_OF", "BEFORE"]);
2422
- e.enum(["WEEK", "MONTH"]);
2423
- const Vr = e.enum([
2424
- "WAITING",
2425
- "ACTIVE",
2426
- "COMPLETED",
2427
- "FAILED"
2428
- ]), g = e.object({
2429
- // type: F_EVENT_TYPE,
2430
- rule: U.optional()
2431
- }), Kr = g.extend({
2432
- type: e.literal(f.enum.BILL_COMPLETED)
2433
- }), Wr = g.extend({
2434
- type: e.literal(f.enum.FEEDBACK)
2435
- }), zr = g.extend({
2436
- type: e.literal(f.enum.SIMPLE_CLAIM)
2437
- });
2438
- g.extend({
2439
- type: e.literal(f.enum.ENTER_SEGMENT),
2440
- segment: e.string()
2441
- });
2442
- const Yr = g.extend({
2443
- type: e.literal(f.enum.MEMBER_REWARD)
2444
- }), qr = g.extend({
2445
- type: e.literal(f.enum.SCHEDULE)
2446
- // option: FdoCronRule,
2447
- }), Xr = g.extend({
2448
- type: e.literal(f.enum.MEMBERSHIP_JOINED)
2449
- }), Jr = g.extend({
2450
- type: e.literal(f.enum.TIER_UPGRADED)
2451
- }), Zr = g.extend({
2452
- type: e.literal(f.enum.MAKING_ORDER)
2453
- }), Qr = g.extend({
2454
- type: e.literal(f.enum.ISSUE_REWARD)
2455
- }), e0 = g.extend({
2456
- type: e.literal(f.enum.GAME_COMPLETED)
2457
- });
2458
- g.extend({
2459
- type: e.literal(f.enum.REFERRAL_ADDED)
2460
- });
2461
- g.extend({
2462
- type: e.literal(f.enum.MEMBER_IMPORTED)
2463
- });
2464
- const t0 = e.discriminatedUnion("type", [
2465
- zr,
2466
- Kr,
2467
- qr,
2468
- Wr,
2469
- Xr,
2470
- Jr,
2471
- Zr,
2472
- Qr,
2473
- Yr,
2474
- e0
2475
- ]);
2476
- e.object({
2477
- _id: o,
2478
- type: f,
2479
- ref: e.string(),
2480
- status: Vr.optional(),
2481
- context: e.record(e.string(), e.any()).optional(),
2482
- failedReason: e.any().optional()
2483
- }).describe(JSON.stringify({ collectionName: "EventLogs" }));
2484
- const v = e.object({
2485
- type: f,
2486
- context: e.any(),
2487
- businessIds: e.array(o).optional(),
2488
- campaignIds: e.array(o).optional(),
2489
- slackWebhookUrl: e.string().optional(),
2490
- emittedAt: e.coerce.date().default(/* @__PURE__ */ new Date())
2491
- }), n0 = v.extend({
2492
- type: e.literal(f.enum.BILL_COMPLETED),
2493
- context: e.object({
2494
- bill: Pt,
2495
- rawBill: e.any()
2496
- })
2497
- }), d0 = v.extend({
2498
- type: e.literal(f.enum.BILL_REFUNDED),
2499
- context: e.object({
2500
- bill: Pt,
2501
- rawBill: e.any()
2502
- })
2503
- }), r0 = v.extend({
2504
- type: e.literal(f.enum.SCHEDULE),
2505
- context: e.object({
2506
- triggeredAt: e.coerce.date()
2507
- })
2508
- }), i0 = v.extend({
2509
- type: e.literal(f.enum.PAGINATE_SCHEDULE),
2510
- context: e.object({
2511
- triggeredAt: e.coerce.date(),
2512
- business: o,
2513
- skip: e.coerce.number(),
2514
- limit: e.coerce.number()
2515
- })
2516
- }), o0 = v.extend({
2517
- type: e.literal(f.enum.FEEDBACK),
2518
- context: e.object({
2519
- feedback: Hr
2520
- })
2521
- }), a0 = v.extend({
2522
- type: e.literal(f.enum.MEMBERSHIP_JOINED),
2523
- context: e.object({
2524
- user: le
2525
- })
2526
- }), s0 = v.extend({
2527
- type: e.literal(f.enum.TIER_UPGRADED),
2528
- context: e.object({
2529
- transaction: ht
2530
- })
2531
- }), $0 = v.extend({
2532
- type: e.literal(f.enum.ISSUE_REWARD),
2533
- context: e.object({
2534
- transaction: ht,
2535
- collection: ne
2536
- })
2537
- }), l0 = v.extend({
2538
- type: e.literal(f.enum.REFERRAL_ADDED),
2539
- context: e.object({
2540
- user: le
2541
- })
2542
- }), Rt = e.object({
2543
- ref: o,
2544
- originalName: e.string(),
2545
- mimeType: e.string(),
2546
- size: e.number(),
2547
- fbFilePath: e.string(),
2548
- isFbFileDeleted: e.boolean().nullish()
2549
- }), u0 = e.object({
2550
- resetCollectionExpiryBalance: e.boolean().nullish()
2551
- }), c0 = v.extend({
2552
- type: e.literal(f.enum.MEMBER_IMPORTED),
2553
- context: e.object({
2554
- business: e.string(),
2555
- file: Rt,
2556
- config: u0.optional()
2557
- })
2558
- }), m0 = v.extend({
2559
- type: e.literal(f.enum.SEGMENTATION_IMPORTED),
2560
- context: e.object({
2561
- business: e.string(),
2562
- segment: e.string(),
2563
- file: Rt
2564
- })
2565
- });
2566
- e.discriminatedUnion("type", [
2567
- n0,
2568
- d0,
2569
- r0,
2570
- o0,
2571
- a0,
2572
- s0,
2573
- $0,
2574
- i0,
2575
- l0,
2576
- c0,
2577
- m0
2578
- ]);
2579
- const f0 = e.object({
2580
- from: e.coerce.number(),
2581
- to: e.coerce.number().optional()
2582
- }).superRefine((t, n) => {
2583
- t.from && t.to && t.from > t.to && n.addIssue({
2584
- code: "custom",
2585
- message: "Max experience must be more than min experience"
2586
- });
2587
- }), g0 = e.enum(["MULTIPLIER", "FIXED"]);
2588
- e.object({
2589
- type: g0
2590
- });
2591
- const p0 = e.object({
2592
- _id: o.optional(),
2593
- rule: U,
2594
- tierExpression: e.string().nullish(),
2595
- expExpression: e.string().nullish()
2596
- }), Se = e.object({
2597
- _id: o,
2598
- name: e.string().min(1),
2599
- image: e.string().nullish(),
2600
- option: f0,
2601
- cycleOptions: e.array(e.lazy(() => p0)).nullish(),
2602
- member_count: e.number().optional()
2603
- });
2604
- Se.partial({
2605
- _id: !0
2606
- });
2607
- const a1 = Se.partial({
2608
- _id: !0
2609
- }), b0 = e.object({
2610
- icon: e.string(),
2611
- label: e.string(),
2612
- value: e.string()
2613
- }), y0 = e.object({
2614
- gatewayKey: e.enum([
2615
- "REVENUE_MONSTER",
2616
- "FEEDME",
2617
- "FEEDME_MEMBER_CREDIT",
2618
- "RAZER_MERCHANT_SERVICE",
2619
- "E_GHL",
2620
- "FEEDME_TERMINAL",
2621
- "MACAU_PASS",
2622
- "NETS",
2623
- "FEEDME_CARD"
2624
- ]),
2625
- checkoutUrl: e.string().optional(),
2626
- checkoutId: e.string().optional(),
2627
- callbackUrl: e.string().optional(),
2628
- vcode: e.string().optional(),
2629
- merchantId: e.string().optional(),
2630
- amount: e.string().optional(),
2631
- currency: e.string().optional(),
2632
- returnUrl: e.string().optional(),
2633
- notifyUrl: e.string().optional(),
2634
- url: e.string().optional(),
2635
- channels: e.array(b0).optional(),
2636
- transactionId: e.string().optional()
2637
- }), _0 = e.object({
2638
- url: e.string(),
2639
- transactionId: e.string()
2640
- });
2641
- e.object({
2642
- trx: e.lazy(() => Ot),
2643
- onlineTrx: y0.optional().or(_0),
2644
- url: e.string().optional()
2645
- });
2646
- e.object({
2647
- remaining: e.number().nullish(),
2648
- isSoldOut: e.boolean()
2649
- });
2650
- const It = e.enum(["POS", "APP", "ADMIN", "PARTNER"]), Nt = e.enum(["topupCount"]), E0 = e.object({
2651
- line1: e.string(),
2652
- line2: e.string().optional(),
2653
- state: e.string(),
2654
- city: e.string(),
2655
- postcode: e.string(),
2656
- country: e.string()
2657
- }), Ft = e.object({
2658
- name: e.string(),
2659
- regNo: e.string(),
2660
- address: E0,
2661
- phoneNo: e.string(),
2662
- sstRegNo: e.string().optional()
2663
- }), At = e.object({
2664
- systemCode: e.string(),
2665
- inclusive: e.boolean()
2666
- }), h0 = e.object({
2667
- id: o,
2668
- dayToExpire: e.number().max(9999, "Max expiry is 9999 days")
2669
- }), v0 = e.object({
2670
- normal: e.coerce.number(),
2671
- free: e.object({
2672
- day: e.coerce.number(),
2673
- amount: e.coerce.number(),
2674
- remark: e.string().nullish()
2675
- }).nullish()
2676
- }), C0 = e.object({
2677
- systemCode: e.string(),
2678
- taxCode: e.string()
2679
- }), P0 = e.object({
2680
- name: e.string(),
2681
- systemCode: e.string(),
2682
- taxCode: e.string(),
2683
- rate: en,
2684
- total: w
2685
- });
2686
- e.object({
2687
- canPurchase: e.boolean(),
2688
- reason: e.string()
2689
- });
2690
- e.object({
2691
- type: Nt
2692
- });
2693
- e.object({
2694
- type: Nt,
2695
- min: e.number().nullish(),
2696
- max: e.number().nullish()
2697
- });
2698
- const R0 = e.object({
2699
- options: e.object({
2700
- maxReceive: e.number().min(1).nullish(),
2701
- maxPerUser: e.number().min(1).nullish()
2702
- }),
2703
- rule: U.nullish()
2704
- }), I0 = (t, n) => {
2705
- const d = t;
2706
- d.isFeedvibe && ye.Dinero.fromFdoDinero(d.price).toUnit() < 1 && n.addIssue({
2707
- code: "custom",
2708
- path: ["price"],
2709
- message: "Price must be at least RM1"
2710
- });
2711
- }, Tt = e.object({
2712
- _id: e.string(),
2713
- isFeedvibe: e.boolean().nullish(),
2714
- // conditions: z.array(FdoTopupCountCondition),
2715
- image: e.string().nullish(),
2716
- rule: U.nullish(),
2717
- name: e.string().min(1, "Name is required"),
2718
- price: w,
2719
- originalPrice: w.nullish(),
2720
- // new field to indicate coinPrice
2721
- coinPrice: e.number().nullish(),
2722
- titles: e.array(h0),
2723
- credit: v0,
2724
- taxes: e.array(C0),
2725
- taxTotals: e.array(P0),
2726
- priceWithTaxes: w.nullish(),
2727
- vouchers: e.array(o),
2728
- _inclusiveTaxes: e.array(At).nullish(),
2729
- _taxSystem: e.array(e.string()).nullish(),
2730
- stripePriceId: e.string().nullish(),
2731
- subscriptionValidity: e.number().min(1, "Must be at least 1 day").max(365, "Maximum is 365").nullish(),
2732
- redeemWithCode: e.boolean().nullish(),
2733
- internal: e.boolean().optional(),
2734
- hideInPos: e.boolean().optional(),
2735
- // Distribution tracking: running counter of units purchased
2736
- distributed: e.coerce.number().optional(),
2737
- config: R0.optional(),
2738
- pf_titles: e.array(e.any()).optional(),
2739
- pf_vouchers: e.array(e.any()).optional(),
2740
- pf_credit: e.number().optional()
2741
- }).superRefine((t, n) => {
2742
- var d, r;
2743
- t.stripePriceId && !t.subscriptionValidity && n.addIssue({
2744
- code: "custom",
2745
- message: "Validity is required when stripePriceId is provided",
2746
- path: ["subscriptionValidity"]
2747
- }), t.originalPrice && t.originalPrice.amount && t.originalPrice.amount < t.price.amount && n.addIssue({
2748
- code: "custom",
2749
- message: "Original price must be greater than price",
2750
- path: ["originalPrice"]
2751
- }), t.price.amount < 0 && n.addIssue({
2752
- code: "custom",
2753
- path: ["price"],
2754
- message: "Price cannot be less than 0"
2755
- }), t.coinPrice && t.coinPrice < 0 && n.addIssue({
2756
- code: "custom",
2757
- path: ["coinPrice"],
2758
- message: "Point price cannot be less than 0"
2759
- }), t.credit.normal < 0 && n.addIssue({
2760
- code: "custom",
2761
- path: ["credit", "normal"],
2762
- message: "Normal credit cannot be less than 0"
2763
- }), t.credit.free && (t.credit.free.amount < 0 && n.addIssue({
2764
- code: "custom",
2765
- path: ["credit", "free", "amount"],
2766
- message: "Free credit cannot be less than 0"
2767
- }), t.credit.free.amount && t.credit.free.day < 0 && n.addIssue({
2768
- code: "custom",
2769
- path: ["credit", "free", "day"],
2770
- message: "Expiry must be at least 0 (expire same day)"
2771
- })), t.credit.normal && t.coinPrice && n.addIssue({
2772
- code: "custom",
2773
- message: "Bundle redeem with point cannot set normal credit.",
2774
- path: ["credit", "normal"]
2775
- }), t.credit.normal > ye.Dinero.fromFdoDinero(t.price).toUnit() && n.addIssue({
2776
- code: "custom",
2777
- message: `Normal credit cannot be more than price. Max: ${ye.Dinero.fromFdoDinero(
2778
- t.price
2779
- ).toUnit()}`,
2780
- path: ["credit", "normal"]
2781
- }), t.titles.length > 0 && t.titles.some((i) => i.dayToExpire < 0) && n.addIssue({
2782
- code: "custom",
2783
- path: ["titles"],
2784
- message: "Title expiry must be at least 0 day (expire same day)"
2785
- }), (((r = (d = t.config) == null ? void 0 : d.options) == null ? void 0 : r.maxPerUser) || 0) < 0 && n.addIssue({
2786
- code: "custom",
2787
- path: ["config.options.maxPerUser"],
2788
- message: "Max purchase per user cannot be negative"
2789
- });
2790
- }).superRefine(I0), St = e.object({
2791
- name: e.string(),
2792
- bundles: e.array(Tt)
2793
- });
2794
- e.object({
2795
- _id: e.string(),
2796
- name: e.string(),
2797
- expiredAt: e.string()
2798
- });
2799
- const N0 = e.object({
2800
- apiKey: e.string(),
2801
- webhookSecret: e.string()
2802
- }), F0 = e.object({
2803
- company: Ft.nullish(),
2804
- inclusiveTaxes: e.array(At).nullish(),
2805
- stripe: N0.nullable().optional()
2806
- }), A0 = {
2807
- collectionName: "Stores",
2808
- transform: {
2809
- _id: "oid",
2810
- business: "oid"
2811
- }
2812
- };
2813
- F0.extend({
2814
- _id: o,
2815
- business: o,
2816
- categories: e.array(St),
2817
- priorityBundleIds: e.array(e.string()).optional()
2818
- }).describe(_.describe(A0));
2819
- const T0 = e.object({
2820
- refundedAt: e.coerce.date(),
2821
- reason: e.string(),
2822
- transactions: e.array(o)
2823
- }), Oe = e.object({
2824
- type: e.enum([
2825
- "ONLINE",
2826
- "OFFLINE",
2827
- "COIN",
2828
- "STRIPE",
2829
- "CARD",
2830
- "FEEDVIBE",
2831
- "ADMIN"
2832
- ]),
2833
- extra: e.string().nullish(),
2834
- gateway: e.string().nullish(),
2835
- method: e.string().nullish()
2836
- }), S0 = {
2837
- collectionName: "StoreTransactions",
2838
- transform: {
2839
- _id: "oid",
2840
- business: "oid",
2841
- location: "oid",
2842
- member: "oid",
2843
- transactions: "oid"
2844
- },
2845
- lookups: {
2846
- member: {
2847
- fromCollection: "UsersV2",
2848
- as: "pf_member"
2849
- }
2850
- }
2851
- }, O0 = e.enum([
2852
- "PENDING_PAYMENT",
2853
- "PENDING_TRANSACTION",
2854
- "COMPLETED",
2855
- "REFUNDED",
2856
- "PAYMENT_EXPIRED",
2857
- "PAYMENT_CANCEL"
2858
- ]), Ot = e.object({
2859
- _id: o,
2860
- source: It,
2861
- // can be memberStorePurchase
2862
- ref: e.string(),
2863
- business: o,
2864
- company: Ft,
2865
- location: o.optional(),
2866
- member: o,
2867
- // createdAt: z.coerce.date(),
2868
- bundle: Tt,
2869
- transactions: e.array(o),
2870
- // array of transaction id (voucher, credit, title)
2871
- status: O0,
2872
- refund: T0.nullish(),
2873
- paymentType: Oe.nullish(),
2874
- paymentRef: e.string().nullish(),
2875
- previousPaymentRefs: e.array(e.string()).optional(),
2876
- paymentUrl: e.string().optional(),
2877
- webhookUrl: e.string().optional(),
2878
- webhookSent: e.boolean().optional(),
2879
- quantity: e.number().optional(),
2880
- pf_transactions: e.array(e.any()).optional(),
2881
- pf_member: e.any().optional(),
2882
- pf_location: e.any().optional(),
2883
- pf_ref: e.any().optional()
2884
- }).describe(_.describe(S0));
2885
- e.object({
2886
- bundle: o,
2887
- member: e.string(),
2888
- ref: e.string(),
2889
- paymentType: Oe.nullish(),
2890
- withCoin: e.boolean().optional(),
2891
- card: e.string().optional(),
2892
- location: o.optional(),
2893
- source: It,
2894
- webhookUrl: e.string().optional(),
2895
- quantity: e.coerce.number().int().min(1).max(10).optional()
2896
- });
2897
- e.object({
2898
- transactionId: e.string()
2899
- });
2900
- e.object({
2901
- transactionId: e.string(),
2902
- paymentType: Oe
2903
- });
2904
- e.object({
2905
- categories: e.array(St)
2906
- });
2907
- e.object({
2908
- id: o,
2909
- reason: e.string(),
2910
- location: o.optional()
2911
- });
2912
- e.object({
2913
- _id: o,
2914
- business: o,
2915
- user: o,
2916
- bundleId: e.string(),
2917
- transaction: e.array(o),
2918
- subscriptionId: e.string(),
2919
- expiredAt: e.coerce.date()
2920
- }).describe(
2921
- _.describe({
2922
- collectionName: "StoreSubscriptions",
2923
- transform: {
2924
- _id: "oid",
2925
- business: "oid",
2926
- user: "oid",
2927
- transaction: "oid",
2928
- expiredAt: "date"
2929
- }
2930
- })
2931
- );
2932
- e.object({
2933
- member: e.string(),
2934
- subscriptionId: e.string()
2935
- });
2936
- const M0 = {
2937
- collectionName: "Cards",
2938
- transform: {
2939
- _id: "oid",
2940
- business: "oid",
2941
- member: "oid",
2942
- redeemedAt: "date"
2943
- },
2944
- lookups: {
2945
- business: {
2946
- as: "business",
2947
- fromCollection: "Business"
2948
- },
2949
- member: {
2950
- as: "pf_member",
2951
- fromCollection: "UsersV2"
2952
- }
2953
- }
2954
- };
2955
- e.object({
2956
- _id: o,
2957
- business: o,
2958
- serialNumber: e.string(),
2959
- setCardOnBind: e.boolean().nullish(),
2960
- redeemedAt: e.date().nullish(),
2961
- member: o.nullish(),
2962
- design: e.string().nullish(),
2963
- bundle: e.string().nullish(),
2964
- subscriptionBundle: e.string().nullish(),
2965
- pf_member: e.lazy(() => le).nullish(),
2966
- pf_transaction: e.lazy(() => Ot).nullish()
2967
- }).describe(_.describe(M0));
2968
- const x0 = e.object({
2969
- length: e.coerce.number().optional(),
2970
- charset: e.string(),
2971
- prefix: e.string().optional(),
2972
- suffix: e.string().optional(),
2973
- pattern: e.string().optional()
2974
- });
2975
- e.object({
2976
- quantity: e.number(),
2977
- code: e.string(),
2978
- codeConfig: x0,
2979
- setCardOnBind: e.boolean().optional(),
2980
- design: e.string().nullish(),
2981
- bundle: e.string().optional(),
2982
- subscriptionBundle: e.string().optional()
2983
- });
2984
- const D0 = e.enum(["SMS", "WHATSAPP", "EMAIL"]), k = e.object({
2985
- channel: D0,
2986
- variables: e.array(e.string()),
2987
- title: e.string().nullish(),
2988
- design: e.any(),
2989
- content: e.string(),
2990
- language: e.string(),
2991
- imageUrl: e.string().nullish()
2992
- }).superRefine((t, n) => {
2993
- t.content.length == 0 && n.addIssue({
2994
- code: e.ZodIssueCode.custom,
2995
- message: "Content is required"
2996
- });
2997
- const d = /{{(.*?)}}/g, r = [...t.content.matchAll(d)].map((s) => s[1]), i = t.variables, a = r.filter((s) => i.indexOf(s) < 0);
2998
- a.length && n.addIssue({
2999
- code: e.ZodIssueCode.custom,
3000
- message: "Invalid variable(s): " + a.join(", ")
3001
- });
3002
- });
3003
- function s1(t, n) {
3004
- return t.replace(/{{(.*?)}}/g, (d, r) => {
3005
- const a = r.trim().split(".").reduce((s, $) => (s != null ? s[$] : null) ?? null, n);
3006
- return a !== null ? a : d;
3007
- });
3008
- }
3009
- const Me = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), xe = e.number().min(0, "Weight need to be at least 0"), De = e.number().int("Must be integer").min(0, "Threshold need to be at least 0"), Mt = e.object({
3010
- type: e.literal(Me.enum.NO_REWARD),
3011
- collectible: e.null(),
3012
- weight: xe
3013
- }), xt = e.object({
3014
- type: e.literal(Me.enum.VOUCHER),
3015
- collectible: o,
3016
- collectibleConfig: e.lazy(() => $t._def.right.options[0]),
3017
- earningOption: e.lazy(() => S)
3018
- }), ue = e.object({
3019
- type: e.literal(Me.enum.LOYALTY),
3020
- collectible: o,
3021
- earningOption: e.lazy(() => S),
3022
- validityOption: e.lazy(() => rn)
3023
- }), Dt = xt.extend({
3024
- weight: xe
3025
- }), Lt = ue.extend({
3026
- weight: e.number().min(0, "Weight need to be at least 0")
3027
- }), $1 = ue.extend({
3028
- validityOption: lt,
3029
- weight: xe
3030
- }), L0 = e.discriminatedUnion("type", [
3031
- Dt,
3032
- Lt,
3033
- Mt
3034
- ]), ot = e.discriminatedUnion("type", [
3035
- Dt.extend({
3036
- collectible: o.nullish(),
3037
- business: o.nullish()
3038
- }),
3039
- Lt.extend({
3040
- collectible: o.nullish(),
3041
- business: o.nullish()
3042
- }),
3043
- Mt
3044
- ]), wt = xt.extend({
3045
- threshold: De
3046
- }), jt = ue.extend({
3047
- threshold: De
3048
- }), l1 = ue.extend({
3049
- validityOption: lt,
3050
- threshold: De
3051
- }), Bt = e.discriminatedUnion("type", [
3052
- wt,
3053
- jt
3054
- ]), w0 = e.discriminatedUnion("type", [
3055
- wt.extend({
3056
- collectible: o.nullish(),
3057
- business: o.nullish()
3058
- }),
3059
- jt.extend({
3060
- collectible: o.nullish(),
3061
- collectibleConfig: $t.nullish(),
3062
- business: o.nullish()
3063
- })
3064
- ]), j0 = {
3065
- collectionName: "Locations",
3066
- transform: {
3067
- _id: "oid",
3068
- business: "oid"
3069
- }
3070
- }, Ut = e.object({
3071
- _id: o,
3072
- business: o,
3073
- name: e.string(),
3074
- code: e.string().nullish(),
3075
- otp: e.string().nullish(),
3076
- otpExpiredAt: e.coerce.date().nullish(),
3077
- apiToken: e.string().nullish(),
3078
- customAttribute: e.record(e.any()).nullish()
3079
- }).describe(_.describe(j0));
3080
- e.object({
3081
- _id: o,
3082
- name: e.string(),
3083
- location: o,
3084
- os: e.string(),
3085
- apiToken: e.string().nullish()
3086
- }).describe(
3087
- _.describe({
3088
- collectionName: "LocationDevices",
3089
- transform: {
3090
- _id: "oid",
3091
- location: "oid"
3092
- }
3093
- })
3094
- );
3095
- e.object({
3096
- _id: e.string(),
3097
- name: e.string()
3098
- });
3099
- const B0 = e.enum(["PROGRESSIVE", "STAMP"]), U0 = e.object({
3100
- type: B0,
3101
- end: e.number().int().min(0, "Threshold need to be at least 1"),
3102
- rewards: e.array(e.lazy(() => Bt)).nullish()
3103
- }).superRefine((t, n) => {
3104
- t.type == "STAMP" && t.end > 40 && (n.addIssue({
3105
- code: "custom",
3106
- path: [],
3107
- message: "Stamp mission can have at most 40 threshold"
3108
- }), n.addIssue({
3109
- code: "custom",
3110
- path: ["end"],
3111
- message: "Stamp mission can have at most 40 threshold"
3112
- }));
3113
- }), ce = e.object({
3114
- totalCount: e.number().optional(),
3115
- totalCountPerUser: e.number().optional()
3116
- }), M = e.object({
3117
- periods: e.array(
3118
- e.object({
3119
- startTime: e.string(),
3120
- endTime: e.string()
3121
- })
3122
- )
3123
- }), me = e.object({
3124
- startTime: e.string(),
3125
- // ISO 8601 date string
3126
- endTime: e.string(),
3127
- // ISO 8601 date string
3128
- eaterType: e.enum(["all", "new", "existing"]),
3129
- minBasketAmount: e.number().optional(),
3130
- bundleQuantity: e.number().optional(),
3131
- workingHour: e.object({
3132
- mon: M.optional(),
3133
- tue: M.optional(),
3134
- wed: M.optional(),
3135
- thu: M.optional(),
3136
- fri: M.optional(),
3137
- sat: M.optional(),
3138
- sun: M.optional()
3139
- }).optional()
3140
- }), G0 = e.object({
3141
- type: e.enum(["items", "category", "order"]),
3142
- objectIDs: e.array(e.string()).optional()
3143
- }), fe = e.object({
3144
- type: e.enum([
3145
- "net",
3146
- // dollar off
3147
- "percentage",
3148
- // percentage off
3149
- "bundleSameFixPrice",
3150
- // bundle fix price (same item)
3151
- "bundleDiffFixPrice",
3152
- // bundle fix price (different items)
3153
- "bundleSameNet",
3154
- // bundle dollar off (same item)
3155
- "bundleDiffNet",
3156
- // bundle dollar off (different items)
3157
- "bundleSamePercentage",
3158
- // bundle percentage off (same item)
3159
- "bundleDiffPercentage",
3160
- // bundle percentage off (different items)
3161
- "delivery",
3162
- // delivery fee off
3163
- "freeItem"
3164
- // free item
3165
- ]),
3166
- value: e.number(),
3167
- cap: e.number().optional(),
3168
- // for percentage off campaigns
3169
- scope: G0
3170
- });
3171
- e.object({
3172
- merchantID: e.string().optional(),
3173
- name: e.string().max(256),
3174
- quotas: ce.optional(),
3175
- conditions: me,
3176
- discount: fe,
3177
- customTag: e.string().max(22).optional()
3178
- });
3179
- e.object({
3180
- id: e.string()
3181
- });
3182
- e.object({
3183
- merchantID: e.string().optional(),
3184
- name: e.string().max(256).optional(),
3185
- quotas: ce.optional(),
3186
- conditions: me.optional(),
3187
- discount: fe.optional(),
3188
- customTag: e.string().max(22).optional()
3189
- });
3190
- const at = e.object({
3191
- id: e.string(),
3192
- merchantID: e.string(),
3193
- name: e.string(),
3194
- quotas: ce.optional(),
3195
- conditions: me,
3196
- discount: fe,
3197
- customTag: e.string().optional(),
3198
- status: e.enum(["ongoing", "upcoming", "expired", "cancelled"]).optional(),
3199
- createdAt: e.string().optional(),
3200
- updatedAt: e.string().optional()
3201
- });
3202
- e.object({
3203
- ongoing: e.array(at),
3204
- upcoming: e.array(at)
3205
- });
3206
- e.object({
3207
- merchantID: e.string()
3208
- });
3209
- e.object({
3210
- target: e.string(),
3211
- reason: e.string(),
3212
- message: e.string()
3213
- });
3214
- const k0 = {
3215
- collectionName: "Groups",
3216
- transform: {
3217
- _id: "oid",
3218
- business: "oid"
3219
- },
3220
- lookups: {
3221
- business: {
3222
- fromCollection: "Businesses",
3223
- as: "pf_business"
3224
- },
3225
- pf_campaigns: {
3226
- fromCollection: "Campaigns",
3227
- as: "pf_campaigns",
3228
- localField: "_id",
3229
- foreignField: "group"
3230
- }
3231
- }
3232
- }, u1 = e.object({
3233
- _id: o,
3234
- name: e.string().min(1).max(300),
3235
- business: o,
3236
- pf_campaigns: e.array(e.any()).optional()
3237
- }).describe(_.describe(k0)), H0 = e.object({
3238
- from: e.string().email().nullish(),
3239
- name: e.string().min(1).max(50).nullish()
3240
- }), V0 = e.object({
3241
- _id: e.string(),
3242
- url: e.string(),
3243
- targetLocation: e.array(o).nullish(),
3244
- // null/empty = all locations
3245
- order: e.number().optional()
3246
- }), Gt = e.object({
3247
- type: e.literal(st.enum.MEMBERSHIP),
3248
- business: o,
3249
- name: e.string().min(1).max(50),
3250
- image: e.string().nullish(),
3251
- url: e.string().nullish(),
3252
- tiers: e.array(e.lazy(() => Se)),
3253
- titles: e.array(o),
3254
- tierCycleEnable: e.boolean().optional(),
3255
- tierCycle: e.lazy(() => U).nullish(),
3256
- welcomeMessage: k.optional(),
3257
- advertisements: e.union([e.array(e.string()), e.array(V0)]).optional(),
3258
- cardEnable: e.boolean().optional(),
3259
- autoRevertReward: e.boolean().optional(),
3260
- design: e.array(
3261
- e.object({
3262
- _id: o,
3263
- image: e.string()
3264
- })
3265
- ).optional(),
3266
- targetLocation: e.array(o).nullish(),
3267
- brand: e.string().nullish(),
3268
- email: H0.nullish(),
3269
- freeCreditAsDiscount: e.boolean().optional(),
3270
- pf_title: e.array(e.lazy(() => D)).optional(),
3271
- pf_targetLocation: e.array(e.lazy(() => Ut)).optional(),
3272
- allowedPhoneCountries: e.union([
3273
- e.array(e.string().regex(/^\+\d{1,4}$/)),
3274
- e.null()
3275
- ]).optional(),
3276
- // new structure
3277
- group: e.string().nullish(),
3278
- templateId: o.nullish()
3279
- }), c = st.exclude(["MEMBERSHIP"]), C = e.object({
3280
- _id: o.nullish(),
3281
- type: c,
3282
- // common information
3283
- business: o,
3284
- name: e.string().min(1).max(50),
3285
- image: e.string().nullish(),
3286
- description: e.string().max(500).nullish(),
3287
- timeframeOptions: ut.superRefine((t, n) => {
3288
- t.start && t.end && t.end < t.start && n.addIssue({
3289
- code: "custom",
3290
- path: [],
3291
- params: {
3292
- i18n: "connectZodCustom:timeframe.end_before_start"
3293
- }
3294
- });
3295
- }).nullish(),
3296
- targetLocation: e.array(o).nullish(),
3297
- event: t0,
3298
- config: ie.nullish(),
3299
- currentReceive: e.coerce.number().optional(),
3300
- // new group structure
3301
- group: o.nullish(),
3302
- templateId: o.nullish(),
3303
- pf_targetLocation: e.array(e.lazy(() => Ut)).optional(),
3304
- deletedAt: e.coerce.date().optional()
3305
- }), P = {
3306
- [c.enum.VOUCHER]: [
3307
- "BILL_COMPLETED",
3308
- "FEEDBACK",
3309
- "MEMBERSHIP_JOINED",
3310
- "TIER_UPGRADED",
3311
- "SCHEDULE",
3312
- "SIMPLE_CLAIM"
3313
- ],
3314
- [c.enum.PROMOTION]: ["MAKING_ORDER"],
3315
- [c.enum.GRAB]: ["MAKING_ORDER"],
3316
- [c.enum.POINT]: [
3317
- "BILL_COMPLETED",
3318
- "FEEDBACK",
3319
- "MEMBERSHIP_JOINED",
3320
- "TIER_UPGRADED",
3321
- "SCHEDULE"
3322
- ],
3323
- [c.enum.CREDIT]: [
3324
- "BILL_COMPLETED",
3325
- "FEEDBACK",
3326
- "MEMBERSHIP_JOINED",
3327
- "TIER_UPGRADED",
3328
- "SCHEDULE"
3329
- ],
3330
- [c.enum.BROADCAST]: [
3331
- "SCHEDULE",
3332
- "ISSUE_REWARD",
3333
- "FEEDBACK"
3334
- ],
3335
- [c.enum.COIN]: [
3336
- "BILL_COMPLETED",
3337
- "FEEDBACK",
3338
- "MEMBERSHIP_JOINED",
3339
- "TIER_UPGRADED",
3340
- "SCHEDULE"
3341
- ],
3342
- [c.enum.REWARD_POOL]: ["GAME_COMPLETED"],
3343
- [c.enum.GAME]: [
3344
- "BILL_COMPLETED",
3345
- "FEEDBACK",
3346
- "MEMBERSHIP_JOINED",
3347
- "TIER_UPGRADED",
3348
- "SCHEDULE",
3349
- "SIMPLE_CLAIM"
3350
- ],
3351
- [c.enum.MISSION]: [
3352
- "BILL_COMPLETED",
3353
- "FEEDBACK",
3354
- "SCHEDULE"
3355
- ]
3356
- }, kt = C.extend({
3357
- type: e.literal(c.enum.VOUCHER),
3358
- // event
3359
- code: e.string().min(0).max(15).regex(/^[A-Za-z0-9\-_.@]*$/, {
3360
- message: "Code can only contain letters, numbers, and - _ . @"
3361
- }).optional(),
3362
- event: g.merge(
3363
- e.object({
3364
- type: e.enum(P[c.enum.VOUCHER])
3365
- })
3366
- ),
3367
- earningOption: S.default({
3368
- amount: 1,
3369
- type: "FIXED"
3370
- }),
3371
- collectible: o,
3372
- hideInApp: e.boolean().optional(),
3373
- notify: e.boolean().optional(),
3374
- notifyMessage: e.lazy(() => k).optional(),
3375
- notifyCampaign: o.nullish(),
3376
- pf_collectible: e.lazy(() => D).optional(),
3377
- pf_notifyCampaign: e.lazy(() => H).optional()
3378
- }), K0 = e.object({
3379
- gameType: e.string()
3380
- }), Ht = C.extend({
3381
- type: e.literal(c.enum.PROMOTION),
3382
- // event
3383
- event: g.merge(
3384
- e.object({
3385
- type: e.enum(P[c.enum.PROMOTION])
3386
- })
3387
- ),
3388
- effect: e.custom().superRefine((t, n) => {
3389
- t || n.addIssue({
3390
- code: "custom",
3391
- path: [],
3392
- params: {
3393
- i18n: "connectZodCustom:campaign.effect_required"
3394
- }
3395
- });
3396
- }),
3397
- gameConfig: K0.nullish()
3398
- }), Vt = C.extend({
3399
- type: e.literal(c.enum.POINT),
3400
- // event
3401
- event: g.merge(
3402
- e.object({
3403
- type: e.enum(P[c.enum.POINT])
3404
- })
3405
- ),
3406
- earningOption: S,
3407
- collectible: o,
3408
- notify: e.boolean().optional(),
3409
- notifyMessage: e.lazy(() => k).optional(),
3410
- notifyCampaign: o.nullish(),
3411
- pf_collectible: e.lazy(() => D).optional(),
3412
- pf_notifyCampaign: e.lazy(() => H).optional()
3413
- }), Kt = C.extend({
3414
- type: e.literal(c.enum.CREDIT),
3415
- // event
3416
- event: g.merge(
3417
- e.object({
3418
- type: e.enum(P[c.enum.CREDIT])
3419
- })
3420
- ),
3421
- earningOption: S,
3422
- collectible: o,
3423
- notify: e.boolean().optional(),
3424
- notifyMessage: e.lazy(() => k).optional(),
3425
- notifyCampaign: o.nullish(),
3426
- pf_collectible: e.lazy(() => D).optional(),
3427
- pf_notifyCampaign: e.lazy(() => H).optional()
3428
- }), H = C.extend({
3429
- type: e.literal(c.enum.BROADCAST),
3430
- // event
3431
- event: g.merge(
3432
- e.object({
3433
- type: e.enum(P[c.enum.BROADCAST])
3434
- })
3435
- ),
3436
- message: k,
3437
- linkedCampaign: o.nullish()
3438
- }), Wt = C.extend({
3439
- type: e.literal(c.enum.COIN),
3440
- // event
3441
- event: g.merge(
3442
- e.object({
3443
- type: e.enum(P[c.enum.COIN])
3444
- })
3445
- ),
3446
- earningOption: S,
3447
- collectible: o,
3448
- notify: e.boolean().optional(),
3449
- notifyMessage: e.lazy(() => k).optional(),
3450
- notifyCampaign: o.nullish(),
3451
- pf_collectible: e.lazy(() => D).optional(),
3452
- pf_notifyCampaign: e.lazy(() => H).optional()
3453
- }), de = C.extend({
3454
- type: e.literal(c.enum.REWARD_POOL),
3455
- // event
3456
- event: g.merge(
3457
- e.object({
3458
- type: e.enum(P[c.enum.REWARD_POOL])
3459
- })
3460
- ),
3461
- rewards: e.array(e.lazy(() => L0)).min(1, "Requires at least 1 reward")
3462
- }), zt = C.extend({
3463
- type: e.literal(c.enum.GAME),
3464
- // event
3465
- event: g.merge(
3466
- e.object({
3467
- type: e.enum(P[c.enum.GAME])
3468
- })
3469
- ),
3470
- earningOption: S,
3471
- collectible: o,
3472
- game: e.lazy(() => de).optional(),
3473
- pf_collectible: e.lazy(() => D).optional(),
3474
- rewardPool: o.optional()
3475
- }), Yt = C.extend({
3476
- type: e.literal(c.enum.MISSION),
3477
- event: g.merge(
3478
- e.object({
3479
- type: e.enum(P[c.enum.MISSION])
3480
- })
3481
- ),
3482
- earningOption: S,
3483
- collectible: o,
3484
- pf_collectible: e.lazy(() => D).optional(),
3485
- mission: e.lazy(() => U0),
3486
- rewards: e.array(e.lazy(() => Bt)).min(1, "Requires at least 1 reward")
3487
- }), qt = C.omit({
3488
- timeframeOptions: !0
3489
- }).extend({
3490
- type: e.literal(c.enum.GRAB),
3491
- event: g.merge(
3492
- e.object({
3493
- type: e.enum(P[c.enum.GRAB])
3494
- })
3495
- ),
3496
- business: o,
3497
- name: e.string().min(1).max(50),
3498
- targetLocation: e.array(o).nullish(),
3499
- group: e.string().nullish(),
3500
- templateId: o.nullish(),
3501
- // Grab specific fields
3502
- conditions: me,
3503
- quotas: ce,
3504
- discount: fe,
3505
- grabCampaignMeta: e.array(
3506
- e.object({
3507
- locationId: e.string(),
3508
- campaignId: e.string()
3509
- })
3510
- ).optional(),
3511
- // Make timeframeOptions required (remove .nullish() from parent)
3512
- timeframeOptions: ut.superRefine((t, n) => {
3513
- (!t.start || !t.end) && n.addIssue({
3514
- code: "custom",
3515
- path: [],
3516
- params: {
3517
- i18n: { key: "timeframe.required" }
3518
- }
3519
- }), t.start && t.end && t.end < t.start && n.addIssue({
3520
- code: "custom",
3521
- path: [],
3522
- params: {
3523
- i18n: { key: "timeframe.end_before_start" }
3524
- }
3525
- });
3526
- })
3527
- }), W0 = {
3528
- collectionName: "Campaigns",
3529
- transform: {
3530
- _id: "oid",
3531
- business: "oid",
3532
- collectible: "oid",
3533
- templateId: "oid",
3534
- group: "oid",
3535
- notifyCampaign: "oid",
3536
- linkedCampaign: "oid",
3537
- rewardPool: "oid"
3538
- },
3539
- lookups: {
3540
- business: {
3541
- fromCollection: "Businesses",
3542
- as: "pf_business"
3543
- },
3544
- targetLocation: {
3545
- fromCollection: "Locations",
3546
- as: "pf_targetLocation"
3547
- },
3548
- collectible: {
3549
- fromCollection: "CollectibleConfigs",
3550
- as: "pf_collectible"
3551
- },
3552
- titles: {
3553
- fromCollection: "CollectibleConfigs",
3554
- as: "pf_title"
3555
- },
3556
- templateId: {
3557
- fromCollection: "Templates",
3558
- as: "template"
3559
- },
3560
- notifyCampaign: {
3561
- fromCollection: "Campaigns",
3562
- as: "pf_notifyCampaign"
3563
- },
3564
- rewardPool: {
3565
- fromCollection: "Campaigns",
3566
- as: "game"
3567
- }
3568
- }
3569
- }, c1 = e.object({ _id: o }).and(
3570
- e.discriminatedUnion("type", [
3571
- Gt,
3572
- kt,
3573
- Ht,
3574
- Vt,
3575
- Kt,
3576
- H,
3577
- Wt,
3578
- de,
3579
- zt,
3580
- Yt,
3581
- qt
3582
- ])
3583
- ).describe(_.describe(W0)), m1 = e.discriminatedUnion("type", [
3584
- kt.extend({
3585
- business: o.nullish()
3586
- }),
3587
- Ht.extend({
3588
- business: o.nullish()
3589
- }),
3590
- Vt.extend({
3591
- business: o.nullish()
3592
- }),
3593
- Kt.extend({
3594
- business: o.nullish()
3595
- }),
3596
- H.extend({
3597
- business: o.nullish()
3598
- }),
3599
- Wt.extend({
3600
- business: o.nullish()
3601
- }),
3602
- de.extend({
3603
- rewards: e.array(e.lazy(() => ot)).min(1, "Requires at least 1 reward")
3604
- }),
3605
- zt.extend({
3606
- business: o.nullish(),
3607
- game: de.extend({
3608
- business: o.nullish(),
3609
- rewards: e.array(e.lazy(() => ot)).min(1, "Requires at least 1 reward")
3610
- })
3611
- }),
3612
- Yt.extend({
3613
- business: o.nullish(),
3614
- rewards: e.array(e.lazy(() => w0)).min(1, "Requires at least 1 reward")
3615
- }),
3616
- qt.extend({
3617
- business: o.nullish()
3618
- })
3619
- ]);
3620
- Gt.pick({
3621
- business: !0,
3622
- name: !0,
3623
- image: !0,
3624
- // url: true,
3625
- tiers: !0,
3626
- // titles: true,
3627
- cardEnable: !0,
3628
- // design: true,
3629
- targetLocation: !0,
3630
- brand: !0,
3631
- email: !0,
3632
- freeCreditAsDiscount: !0,
3633
- allowedPhoneCountries: !0,
3634
- pf_title: !0,
3635
- pf_targetLocation: !0
3636
- }).extend({
3637
- allowedPhoneCountryDetails: e.array(tn).nullish()
3638
- });
3639
- export {
3640
- U0 as A,
3641
- hr as B,
3642
- ht as C,
3643
- Q as D,
3644
- ne as E,
3645
- a1 as F,
3646
- t0 as G,
3647
- le as H,
3648
- P as I,
3649
- s1 as J,
3650
- Gt as K,
3651
- Vr as L,
3652
- c as a,
3653
- r1 as b,
3654
- f as c,
3655
- i1 as d,
3656
- n1 as e,
3657
- e1 as f,
3658
- d1 as g,
3659
- t1 as h,
3660
- Q0 as i,
3661
- Ir as j,
3662
- Z0 as k,
3663
- c1 as l,
3664
- o1 as m,
3665
- F0 as n,
3666
- Ft as o,
3667
- E0 as p,
3668
- Tt as q,
3669
- It as r,
3670
- Sr as s,
3671
- u1 as t,
3672
- m1 as u,
3673
- $1 as v,
3674
- ot as w,
3675
- B0 as x,
3676
- l1 as y,
3677
- w0 as z
3678
- };