@arkyn/server 3.0.1-beta.155 → 3.0.1-beta.157

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 (91) hide show
  1. package/dist/index.js +1301 -37
  2. package/dist/modules/http/api/_logRequest.js +69 -0
  3. package/dist/modules/http/api/_makeRequest.js +69 -0
  4. package/dist/modules/http/api/deleteRequest.js +13 -0
  5. package/dist/modules/http/api/getRequest.js +12 -0
  6. package/dist/modules/http/api/patchRequest.js +13 -0
  7. package/dist/modules/http/api/postRequest.js +13 -0
  8. package/dist/modules/http/api/putRequest.js +13 -0
  9. package/dist/modules/http/badResponses/_badResponse.js +59 -0
  10. package/dist/modules/http/badResponses/badGateway.js +30 -0
  11. package/dist/modules/http/badResponses/badRequest.js +30 -0
  12. package/dist/modules/http/badResponses/conflict.js +30 -0
  13. package/dist/modules/http/badResponses/forbidden.js +30 -0
  14. package/dist/modules/http/badResponses/notFound.js +30 -0
  15. package/dist/modules/http/badResponses/notImplemented.js +30 -0
  16. package/dist/modules/http/badResponses/serverError.js +30 -0
  17. package/dist/modules/http/badResponses/unauthorized.js +30 -0
  18. package/dist/modules/http/badResponses/unprocessableEntity.js +36 -0
  19. package/dist/modules/http/successResponses/_successResponse.js +69 -0
  20. package/dist/modules/http/successResponses/created.js +30 -0
  21. package/dist/modules/http/successResponses/found.js +30 -0
  22. package/dist/modules/http/successResponses/noContent.js +21 -0
  23. package/dist/modules/http/successResponses/success.js +30 -0
  24. package/dist/modules/http/successResponses/updated.js +30 -0
  25. package/dist/modules/index.js +68 -0
  26. package/dist/modules/services/apiService.js +129 -0
  27. package/dist/modules/services/debugService.js +66 -0
  28. package/dist/modules/services/logMapperService.js +52 -0
  29. package/dist/modules/services/logService.js +31 -0
  30. package/dist/modules/utilities/decodeRequestBody.js +22 -0
  31. package/dist/modules/utilities/decodeRequestErrorMessage.js +7 -0
  32. package/dist/modules/utilities/errorHandler.js +54 -0
  33. package/dist/modules/utilities/flushDebugLogs.js +20 -0
  34. package/dist/modules/utilities/formAsyncParse.js +19 -0
  35. package/dist/modules/utilities/formParse.js +19 -0
  36. package/dist/modules/utilities/getScopedParams.js +11 -0
  37. package/dist/modules/utilities/schemaValidator.js +106 -0
  38. package/dist/modules/validations/validateCep.js +9 -0
  39. package/dist/modules/validations/validateCnpj.js +31 -0
  40. package/dist/modules/validations/validateCpf.js +28 -0
  41. package/dist/modules/validations/validateDate.js +27 -0
  42. package/dist/modules/validations/validateEmail.js +53 -0
  43. package/dist/modules/validations/validatePassword.js +16 -0
  44. package/dist/modules/validations/validatePhone.js +10 -0
  45. package/dist/modules/validations/validateRg.js +8 -0
  46. package/package.json +121 -87
  47. package/dist/bundle.js +0 -3014
  48. package/dist/bundle.umd.cjs +0 -9
  49. package/dist/http/api/_logRequest.js +0 -109
  50. package/dist/http/api/_makeRequest.js +0 -116
  51. package/dist/http/api/deleteRequest.js +0 -18
  52. package/dist/http/api/getRequest.js +0 -17
  53. package/dist/http/api/patchRequest.js +0 -18
  54. package/dist/http/api/postRequest.js +0 -18
  55. package/dist/http/api/putRequest.js +0 -18
  56. package/dist/http/badResponses/_badResponse.js +0 -62
  57. package/dist/http/badResponses/badGateway.js +0 -43
  58. package/dist/http/badResponses/badRequest.js +0 -41
  59. package/dist/http/badResponses/conflict.js +0 -42
  60. package/dist/http/badResponses/forbidden.js +0 -41
  61. package/dist/http/badResponses/notFound.js +0 -41
  62. package/dist/http/badResponses/notImplemented.js +0 -41
  63. package/dist/http/badResponses/serverError.js +0 -41
  64. package/dist/http/badResponses/unauthorized.js +0 -42
  65. package/dist/http/badResponses/unprocessableEntity.js +0 -53
  66. package/dist/http/successResponses/_successResponse.js +0 -75
  67. package/dist/http/successResponses/created.js +0 -41
  68. package/dist/http/successResponses/found.js +0 -41
  69. package/dist/http/successResponses/noContent.js +0 -32
  70. package/dist/http/successResponses/success.js +0 -41
  71. package/dist/http/successResponses/updated.js +0 -42
  72. package/dist/services/apiService.js +0 -174
  73. package/dist/services/debugService.js +0 -82
  74. package/dist/services/logMapperService.js +0 -68
  75. package/dist/services/logService.js +0 -35
  76. package/dist/utilities/decodeRequestBody.js +0 -40
  77. package/dist/utilities/decodeRequestErrorMessage.js +0 -36
  78. package/dist/utilities/errorHandler.js +0 -74
  79. package/dist/utilities/flushDebugLogs.js +0 -39
  80. package/dist/utilities/formAsyncParse.js +0 -37
  81. package/dist/utilities/formParse.js +0 -37
  82. package/dist/utilities/getScopedParams.js +0 -26
  83. package/dist/utilities/schemaValidator.js +0 -119
  84. package/dist/validations/validateCep.js +0 -27
  85. package/dist/validations/validateCnpj.js +0 -59
  86. package/dist/validations/validateCpf.js +0 -54
  87. package/dist/validations/validateDate.js +0 -51
  88. package/dist/validations/validateEmail.js +0 -111
  89. package/dist/validations/validatePassword.js +0 -34
  90. package/dist/validations/validatePhone.js +0 -28
  91. package/dist/validations/validateRg.js +0 -31
package/dist/bundle.js DELETED
@@ -1,3014 +0,0 @@
1
- var Ke = Object.defineProperty;
2
- var qe = (t, e, d) => e in t ? Ke(t, e, { enumerable: !0, configurable: !0, writable: !0, value: d }) : t[e] = d;
3
- var c = (t, e, d) => qe(t, typeof e != "symbol" ? e + "" : e, d);
4
- import { formatJsonString as Ze, formatJsonObject as Xe, removeNonNumeric as Q, ValidateDateService as Ye } from "@arkyn/shared";
5
- import ze from "node:path";
6
- import Qe from "node:dns";
7
- import { countries as et } from "@arkyn/templates";
8
- class ee {
9
- /**
10
- * Adds a file name to the ignore list so it is skipped when resolving the caller in stack traces.
11
- *
12
- * @param file - File name to ignore (e.g. `"httpAdapter.ts"`).
13
- */
14
- static setIgnoreFile(e) {
15
- this.ignoreFiles.push(e);
16
- }
17
- /** Resets the ignore list, restoring full stack trace analysis. */
18
- static clearIgnoreFiles() {
19
- this.ignoreFiles = [];
20
- }
21
- /**
22
- * Resolves the file path and function name of the code that triggered the current debug call,
23
- * skipping internal node modules and any files registered with `setIgnoreFile`.
24
- *
25
- * @returns `{ functionName, callerInfo }` — caller function name and file path relative to `process.cwd()`.
26
- */
27
- static getCaller() {
28
- const e = process.cwd(), n = (new Error().stack || "").split(`
29
- `).map((u) => u.trim());
30
- let s = 2;
31
- for (; s < n.length && (n[s].includes("node:internal") || n[s].includes("/node_modules/")); )
32
- s++;
33
- if (this.ignoreFiles.length > 0)
34
- for (; s < n.length && this.ignoreFiles.some(
35
- (u) => n[s].includes(u)
36
- ); )
37
- s++;
38
- const $ = n[s] || "";
39
- let o = "Unknown function", i = "Unknown caller";
40
- const a = $.match(/at\s+([^(\s]+)\s+\(([^)]+)\)/);
41
- if (a)
42
- o = a[1], i = a[2];
43
- else {
44
- const u = $.match(/at\s+(.+)/);
45
- if (u) {
46
- i = u[1];
47
- const l = i.match(/at\s+([^(\s]+)\s+/);
48
- l && l[1] !== "new" && (o = l[1]);
49
- }
50
- }
51
- i.includes("(") && (i = i.substring(
52
- i.indexOf("(") + 1,
53
- i.lastIndexOf(")")
54
- )), i = i.split(":").slice(0, -2).join(":");
55
- try {
56
- i = ze.relative(e, i);
57
- } catch {
58
- }
59
- return { functionName: o, callerInfo: i };
60
- }
61
- }
62
- /**
63
- * The name of the file to ignore when analyzing the stack trace.
64
- * When set, the `getCaller` function will skip stack frames containing this file name.
65
- */
66
- c(ee, "ignoreFiles", []);
67
- function C(t) {
68
- var d;
69
- if (process.env.NODE_ENV === "development" || ((d = process.env) == null ? void 0 : d.DEBUG_MODE) === "true") {
70
- const s = `${{
71
- yellow: "\x1B[33m",
72
- cyan: "\x1B[36m",
73
- red: "\x1B[31m",
74
- green: "\x1B[32m"
75
- }[t.scheme]}[${t.name}]\x1B[0m`;
76
- let $ = `
77
- `;
78
- t.debugs.forEach((o, i) => {
79
- $ += `${s} ${o.trim()}`, i < t.debugs.length - 1 && ($ += `
80
- `);
81
- }), console.log($);
82
- }
83
- }
84
- class p {
85
- constructor() {
86
- c(this, "_cause");
87
- c(this, "_name", "BadResponse");
88
- c(this, "_status", 500);
89
- c(this, "_statusText", "Unknown error");
90
- c(this, "_debugColor", "red");
91
- }
92
- get cause() {
93
- return this._cause;
94
- }
95
- set cause(e) {
96
- this._cause = e;
97
- }
98
- get name() {
99
- return this._name;
100
- }
101
- set name(e) {
102
- this._name = e;
103
- }
104
- get status() {
105
- return this._status;
106
- }
107
- set status(e) {
108
- this._status = e;
109
- }
110
- get statusText() {
111
- return this._statusText;
112
- }
113
- set statusText(e) {
114
- this._statusText = e;
115
- }
116
- get debugColor() {
117
- return this._debugColor;
118
- }
119
- set debugColor(e) {
120
- ["green", "yellow", "cyan", "red"].includes(e) && (this._debugColor = e);
121
- }
122
- onDebug() {
123
- const e = [], { callerInfo: d, functionName: r } = ee.getCaller();
124
- e.push(`Caller Function: ${r}`), e.push(`Caller Location: ${d}`), this._statusText && e.push(`Message: ${this._statusText}`), this._cause && e.push(`Cause: ${Ze(JSON.stringify(this._cause))}`), C({ scheme: "red", name: this._name, debugs: e });
125
- }
126
- makeBody() {
127
- return {
128
- name: this._name,
129
- message: this._statusText,
130
- cause: this._cause
131
- };
132
- }
133
- }
134
- class tt extends p {
135
- /**
136
- * @param message - Error description sent in the response body and logged for debugging.
137
- * @param cause - Optional extra context (serialized to JSON in the response).
138
- */
139
- constructor(e, d) {
140
- super(), this.name = "BadGateway", this.status = 502, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
141
- }
142
- /** Converts to a `Response` with `Content-Type: application/json` header. */
143
- toResponse() {
144
- const e = {
145
- headers: { "Content-Type": "application/json" },
146
- status: this.status,
147
- statusText: this.statusText
148
- };
149
- return new Response(JSON.stringify(this.makeBody()), e);
150
- }
151
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
152
- toJson() {
153
- const e = {
154
- status: this.status,
155
- statusText: this.statusText
156
- };
157
- return Response.json(this.makeBody(), e);
158
- }
159
- }
160
- class V extends p {
161
- /**
162
- * @param message - Error description.
163
- * @param cause - Optional extra context (serialized to JSON).
164
- */
165
- constructor(e, d) {
166
- super(), this.name = "BadRequest", this.status = 400, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
167
- }
168
- /** Converts to a `Response` with `Content-Type: application/json` header. */
169
- toResponse() {
170
- const e = {
171
- headers: { "Content-Type": "application/json" },
172
- status: this.status,
173
- statusText: this.statusText
174
- };
175
- return new Response(JSON.stringify(this.makeBody()), e);
176
- }
177
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
178
- toJson() {
179
- const e = {
180
- status: this.status,
181
- statusText: this.statusText
182
- };
183
- return Response.json(this.makeBody(), e);
184
- }
185
- }
186
- class dt extends p {
187
- /**
188
- * @param message - Error description.
189
- * @param cause - Optional extra context (serialized to JSON).
190
- */
191
- constructor(e, d) {
192
- super(), this.name = "Conflict", this.status = 409, this.statusText = e, this.debugColor = "yellow", this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
193
- }
194
- /** Converts to a `Response` with `Content-Type: application/json` header. */
195
- toResponse() {
196
- const e = {
197
- headers: { "Content-Type": "application/json" },
198
- status: this.status,
199
- statusText: this.statusText
200
- };
201
- return new Response(JSON.stringify(this.makeBody()), e);
202
- }
203
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
204
- toJson() {
205
- const e = {
206
- status: this.status,
207
- statusText: this.statusText
208
- };
209
- return Response.json(this.makeBody(), e);
210
- }
211
- }
212
- class rt extends p {
213
- /**
214
- * @param message - Error description.
215
- * @param cause - Optional extra context (serialized to JSON).
216
- */
217
- constructor(e, d) {
218
- super(), this.name = "Forbidden", this.status = 403, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
219
- }
220
- /** Converts to a `Response` with `Content-Type: application/json` header. */
221
- toResponse() {
222
- const e = {
223
- headers: { "Content-Type": "application/json" },
224
- status: this.status,
225
- statusText: this.statusText
226
- };
227
- return new Response(JSON.stringify(this.makeBody()), e);
228
- }
229
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
230
- toJson() {
231
- const e = {
232
- status: this.status,
233
- statusText: this.statusText
234
- };
235
- return Response.json(this.makeBody(), e);
236
- }
237
- }
238
- class nt extends p {
239
- /**
240
- * @param message - Error description.
241
- * @param cause - Optional extra context (serialized to JSON).
242
- */
243
- constructor(e, d) {
244
- super(), this.name = "NotFound", this.status = 404, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
245
- }
246
- /** Converts to a `Response` with `Content-Type: application/json` header. */
247
- toResponse() {
248
- const e = {
249
- headers: { "Content-Type": "application/json" },
250
- status: this.status,
251
- statusText: this.statusText
252
- };
253
- return new Response(JSON.stringify(this.makeBody()), e);
254
- }
255
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
256
- toJson() {
257
- const e = {
258
- status: this.status,
259
- statusText: this.statusText
260
- };
261
- return Response.json(this.makeBody(), e);
262
- }
263
- }
264
- class st extends p {
265
- /**
266
- * @param message - Error description.
267
- * @param cause - Optional extra context (serialized to JSON).
268
- */
269
- constructor(e, d) {
270
- super(), this.name = "NotImplemented", this.status = 501, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
271
- }
272
- /** Converts to a `Response` with `Content-Type: application/json` header. */
273
- toResponse() {
274
- const e = {
275
- headers: { "Content-Type": "application/json" },
276
- status: this.status,
277
- statusText: this.statusText
278
- };
279
- return new Response(JSON.stringify(this.makeBody()), e);
280
- }
281
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
282
- toJson() {
283
- const e = {
284
- status: this.status,
285
- statusText: this.statusText
286
- };
287
- return Response.json(this.makeBody(), e);
288
- }
289
- }
290
- class W extends p {
291
- /**
292
- * @param message - Error description.
293
- * @param cause - Optional extra context (serialized to JSON).
294
- */
295
- constructor(e, d) {
296
- super(), this.name = "ServerError", this.status = 500, this.statusText = e, this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
297
- }
298
- /** Converts to a `Response` with `Content-Type: application/json` header. */
299
- toResponse() {
300
- const e = {
301
- headers: { "Content-Type": "application/json" },
302
- status: this.status,
303
- statusText: this.statusText
304
- };
305
- return new Response(JSON.stringify(this.makeBody()), e);
306
- }
307
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
308
- toJson() {
309
- const e = {
310
- status: this.status,
311
- statusText: this.statusText
312
- };
313
- return Response.json(this.makeBody(), e);
314
- }
315
- }
316
- class $t extends p {
317
- /**
318
- * @param message - Error description.
319
- * @param cause - Optional extra context (serialized to JSON).
320
- */
321
- constructor(e, d) {
322
- super(), this.name = "Unauthorized", this.status = 401, this.statusText = e, this.debugColor = "yellow", this.cause = d ? JSON.stringify(d) : void 0, this.onDebug();
323
- }
324
- /** Converts to a `Response` with `Content-Type: application/json` header. */
325
- toResponse() {
326
- const e = {
327
- headers: { "Content-Type": "application/json" },
328
- status: this.status,
329
- statusText: this.statusText
330
- };
331
- return new Response(JSON.stringify(this.makeBody()), e);
332
- }
333
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
334
- toJson() {
335
- const e = {
336
- status: this.status,
337
- statusText: this.statusText
338
- };
339
- return Response.json(this.makeBody(), e);
340
- }
341
- }
342
- class K extends p {
343
- /**
344
- * @param props.message - Human-readable description of the error.
345
- * @param props.fieldErrors - Per-field validation messages keyed by field name.
346
- * @param props.fields - Original submitted field values (useful for repopulating forms).
347
- * @param props.data - Any extra data to include in the response body.
348
- */
349
- constructor(e) {
350
- super(), this.name = "UnprocessableEntity", this.status = 422, this.statusText = e.message || "Unprocessable entity", this.debugColor = "yellow", this.cause = {
351
- data: e.data,
352
- fieldErrors: e.fieldErrors,
353
- fields: e.fields
354
- }, this.onDebug();
355
- }
356
- /** Converts to a `Response` with `Content-Type: application/json` header. */
357
- toResponse() {
358
- const e = {
359
- headers: { "Content-Type": "application/json" },
360
- status: this.status,
361
- statusText: this.statusText
362
- };
363
- return new Response(JSON.stringify(this.makeBody()), e);
364
- }
365
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
366
- toJson() {
367
- const e = {
368
- status: this.status,
369
- statusText: this.statusText
370
- };
371
- return Response.json(this.makeBody(), e);
372
- }
373
- }
374
- class A {
375
- constructor() {
376
- c(this, "_body", null);
377
- c(this, "_name", "SuccessResponse");
378
- c(this, "_status", 200);
379
- c(this, "_statusText", "OK");
380
- c(this, "_debugColor", "green");
381
- }
382
- get body() {
383
- return this._body;
384
- }
385
- set body(e) {
386
- this._body = e ?? null;
387
- }
388
- get name() {
389
- return this._name;
390
- }
391
- set name(e) {
392
- this._name = e;
393
- }
394
- get status() {
395
- return this._status;
396
- }
397
- set status(e) {
398
- this._status = e;
399
- }
400
- get statusText() {
401
- return this._statusText;
402
- }
403
- set statusText(e) {
404
- this._statusText = e;
405
- }
406
- get debugColor() {
407
- return this._debugColor;
408
- }
409
- set debugColor(e) {
410
- ["green", "yellow", "cyan", "red"].includes(e) && (this._debugColor = e);
411
- }
412
- /**
413
- * Logs debug information for success responses including caller context and response details.
414
- *
415
- * @param {any} body - The response body or success data to be logged
416
- *
417
- * @example
418
- * ```typescript
419
- * const SuccessResponse = new SuccessResponse();
420
- * SuccessResponse.onDebug({ data: "Operation completed successfully" });
421
- * ```
422
- */
423
- onDebug(e) {
424
- const d = [], { callerInfo: r, functionName: n } = ee.getCaller();
425
- d.push(`Caller Function: ${n}`), d.push(`Caller Location: ${r}`), this.statusText && d.push(`Message: ${this.statusText}`), e && d.push(`Body: ${JSON.stringify(e)}`), C({ scheme: this._debugColor, name: this.name, debugs: d });
426
- }
427
- makeBody() {
428
- return {
429
- name: this.name,
430
- message: this.statusText,
431
- body: this.body
432
- };
433
- }
434
- }
435
- class it extends A {
436
- /**
437
- * @param message - Description included in the response status text.
438
- * @param body - Data to include in the response body.
439
- */
440
- constructor(e, d) {
441
- super(), this.name = "Created", this.status = 201, this.statusText = e, this.body = d || void 0, this.onDebug();
442
- }
443
- /** Converts to a `Response` with `Content-Type: application/json` header. */
444
- toResponse() {
445
- const e = {
446
- headers: { "Content-Type": "application/json" },
447
- status: this.status,
448
- statusText: this.statusText
449
- };
450
- return new Response(JSON.stringify(this.body), e);
451
- }
452
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
453
- toJson() {
454
- const e = {
455
- status: this.status,
456
- statusText: this.statusText
457
- };
458
- return Response.json(this.body, e);
459
- }
460
- }
461
- class ot extends A {
462
- /**
463
- * @param message - Description included in the response status text.
464
- * @param body - Data to include in the response body.
465
- */
466
- constructor(e, d) {
467
- super(), this.name = "Found", this.status = 302, this.statusText = e, this.body = d || void 0, this.onDebug();
468
- }
469
- /** Converts to a `Response` with `Content-Type: application/json` header. */
470
- toResponse() {
471
- const e = {
472
- headers: { "Content-Type": "application/json" },
473
- status: this.status,
474
- statusText: this.statusText
475
- };
476
- return new Response(JSON.stringify(this.body), e);
477
- }
478
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
479
- toJson() {
480
- const e = {
481
- status: this.status,
482
- statusText: this.statusText
483
- };
484
- return Response.json(this.body, e);
485
- }
486
- }
487
- class at extends A {
488
- /**
489
- * @param message - Description included in the response status text.
490
- */
491
- constructor(e) {
492
- super(), this.name = "NoContent", this.status = 204, this.statusText = e, this.onDebug();
493
- }
494
- /** Converts to a `Response` with `Content-Type: application/json` header and no body. */
495
- toResponse() {
496
- const e = {
497
- headers: { "Content-Type": "application/json" },
498
- status: this.status,
499
- statusText: this.statusText
500
- };
501
- return new Response(null, e);
502
- }
503
- }
504
- class ut extends A {
505
- /**
506
- * @param message - Description included in the response status text.
507
- * @param body - Data to include in the response body.
508
- */
509
- constructor(e, d) {
510
- super(), this.name = "Success", this.status = 200, this.statusText = e, this.body = d || void 0, this.onDebug();
511
- }
512
- /** Converts to a `Response` with `Content-Type: application/json` header. */
513
- toResponse() {
514
- const e = {
515
- headers: { "Content-Type": "application/json" },
516
- status: this.status,
517
- statusText: this.statusText
518
- };
519
- return new Response(JSON.stringify(this.body), e);
520
- }
521
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
522
- toJson() {
523
- const e = {
524
- status: this.status,
525
- statusText: this.statusText
526
- };
527
- return Response.json(this.body, e);
528
- }
529
- }
530
- class lt extends A {
531
- /**
532
- * @param message - Description included in the response status text.
533
- * @param body - Data to include in the response body.
534
- */
535
- constructor(e, d) {
536
- super(), this.name = "Updated", this.status = 200, this.statusText = e, this.body = d || void 0, this.onDebug();
537
- }
538
- /** Converts to a `Response` with `Content-Type: application/json` header. */
539
- toResponse() {
540
- const e = {
541
- headers: { "Content-Type": "application/json" },
542
- status: this.status,
543
- statusText: this.statusText
544
- };
545
- return new Response(JSON.stringify(this.body), e);
546
- }
547
- /** Converts to a `Response` using `Response.json()`. Alternative to `toResponse()`. */
548
- toJson() {
549
- const e = {
550
- status: this.status,
551
- statusText: this.statusText
552
- };
553
- return Response.json(this.body, e);
554
- }
555
- }
556
- class ct {
557
- /**
558
- * Converts various header formats into a plain key-value object.
559
- *
560
- * @param {HeadersInit} headers - The headers to map.
561
- * @returns {Record<string, string>} A plain object with header key-value pairs.
562
- * @private
563
- */
564
- static mapHeaders(e) {
565
- return e instanceof Headers ? Object.fromEntries(e.entries()) : typeof e == "object" ? Object.entries(e).reduce(
566
- (d, [r, n]) => (typeof n == "string" ? d[r] = n : Array.isArray(n) ? d[r] = n.join(", ") : d[r] = JSON.stringify(n), d),
567
- {}
568
- ) : {};
569
- }
570
- /**
571
- * Converts URLSearchParams into a plain key-value object.
572
- *
573
- * @param {URLSearchParams} queryParams - The query parameters to map.
574
- * @returns {Record<string, string>} A plain object with query parameter key-value pairs.
575
- * @private
576
- */
577
- static mapQueryParams(e) {
578
- const d = {};
579
- return e.forEach((r, n) => d[n] = r), d;
580
- }
581
- /**
582
- * Transforms raw HTTP request/response data into a standardized log output format.
583
- *
584
- * @param {InputProps} props - The input properties containing request/response data.
585
- * @returns {OutputProps} The mapped output object ready for logging.
586
- */
587
- static handle(e) {
588
- return {
589
- rawUrl: e.rawUrl,
590
- status: e.status,
591
- method: e.method,
592
- token: null,
593
- elapsedTime: e.elapsedTime,
594
- requestHeaders: this.mapHeaders(e.requestHeaders),
595
- requestBody: e.requestBody || null,
596
- queryParams: {
597
- ...this.mapQueryParams(e.queryParams),
598
- ...e.urlParams
599
- },
600
- responseHeaders: this.mapHeaders(e.responseHeaders),
601
- responseBody: e.responseBody || null
602
- };
603
- }
604
- }
605
- class Fe {
606
- /**
607
- * Sets the log service configuration once. Subsequent calls are ignored.
608
- *
609
- * @param config.trafficSourceId - Traffic source identifier.
610
- * @param config.userToken - User token for authentication.
611
- * @param config.logBaseApiUrl - Override the default log ingestion base URL.
612
- */
613
- static setConfig(e) {
614
- if (this.config) return;
615
- const { trafficSourceId: d, userToken: r, logBaseApiUrl: n } = e, $ = `${n || "http://62.238.8.44:8081"}/ingest-log`;
616
- this.config = { trafficSourceId: d, userToken: r, apiUrl: $ };
617
- }
618
- /** Returns the stored configuration, or `undefined` if `setConfig` has not been called. */
619
- static getConfig() {
620
- return this.config;
621
- }
622
- /**
623
- * Resets the stored configuration, allowing a new initialization.
624
- */
625
- static resetConfig() {
626
- this.config = void 0;
627
- }
628
- }
629
- c(Fe, "config");
630
- async function ft(t) {
631
- const e = Fe.getConfig();
632
- if (!e) return;
633
- const { userToken: d, apiUrl: r, trafficSourceId: n } = e, {
634
- elapsedTime: s,
635
- method: $,
636
- queryParams: o,
637
- requestBody: i,
638
- requestHeaders: a,
639
- responseBody: u,
640
- responseHeaders: l,
641
- status: h,
642
- token: b,
643
- rawUrl: P
644
- } = t;
645
- if (process.env.NODE_ENV !== "development")
646
- try {
647
- const v = new URL(P);
648
- let L = "https";
649
- v.protocol === "http:" && (L = "http");
650
- const U = JSON.stringify({
651
- domainUrl: v.protocol + "//" + v.host,
652
- pathnameUrl: v.pathname,
653
- trafficSourceId: n,
654
- status: h,
655
- protocol: L,
656
- method: $.toLowerCase(),
657
- trafficUserId: null,
658
- elapsedTime: s,
659
- requestHeaders: JSON.stringify(a),
660
- requestBody: JSON.stringify(i),
661
- queryParams: JSON.stringify(o),
662
- responseHeaders: JSON.stringify(l),
663
- responseBody: JSON.stringify(u)
664
- }), G = {
665
- "Content-Type": "application/json",
666
- Authorization: `Bearer ${d}`
667
- }, O = await fetch(r, {
668
- method: "POST",
669
- body: U,
670
- headers: G
671
- });
672
- if (!O.ok) {
673
- const Je = await O.text(), Ve = O.status, We = O.statusText, ie = await O.json().catch(() => null);
674
- C({
675
- name: "LogError",
676
- scheme: "red",
677
- debugs: [
678
- "Failed to log request.",
679
- `Status: ${Ve} ${We}.`,
680
- `Status text: ${Je}.`,
681
- `JSON Response: ${ie ? Xe(ie, 0) : "No JSON response"}`
682
- ]
683
- });
684
- }
685
- } catch (v) {
686
- C({
687
- debugs: [`Error sending request: ${v}`],
688
- name: "LogError",
689
- scheme: "red"
690
- });
691
- }
692
- }
693
- async function D(t) {
694
- let e = t.url;
695
- t.urlParams && Object.entries(t.urlParams).forEach(([r, n]) => {
696
- e = e.replaceAll(`:${r}`, n);
697
- });
698
- const d = {
699
- POST: "Resource created successfully",
700
- PUT: "Resource updated successfully",
701
- DELETE: "Resource deleted successfully",
702
- PATCH: "Resource patched successfully",
703
- GET: "Request successful"
704
- };
705
- try {
706
- const r = performance.now(), n = { ...t.headers, "Content-Type": "application/json" }, s = await fetch(e, {
707
- headers: n,
708
- method: t.method,
709
- body: t.body ? JSON.stringify(t.body) : void 0
710
- }), $ = performance.now() - r, o = s.status;
711
- let i = null;
712
- try {
713
- i = await s.json();
714
- } catch {
715
- i = null;
716
- }
717
- const a = ct.handle({
718
- elapsedTime: $,
719
- method: t.method,
720
- queryParams: new URL(e).searchParams,
721
- requestHeaders: n,
722
- requestBody: t.body,
723
- responseBody: i,
724
- responseHeaders: s.headers,
725
- status: o,
726
- rawUrl: t.url,
727
- urlParams: t.urlParams
728
- });
729
- return ft(a), s.ok ? {
730
- success: !0,
731
- status: o,
732
- message: (i == null ? void 0 : i.message) || d[t.method],
733
- response: i,
734
- cause: null
735
- } : {
736
- success: !1,
737
- status: o,
738
- message: (i == null ? void 0 : i.message) || s.statusText || "Request failed",
739
- response: i,
740
- cause: null
741
- };
742
- } catch (r) {
743
- return C({
744
- debugs: [`Network error or request failed: ${r}`],
745
- name: "MakeRequestError",
746
- scheme: "red"
747
- }), {
748
- success: !1,
749
- status: 0,
750
- message: "Network error or request failed",
751
- response: null,
752
- cause: r instanceof Error ? r.message : String(r)
753
- };
754
- }
755
- }
756
- async function ht(t) {
757
- return D({
758
- method: "DELETE",
759
- url: t.url,
760
- urlParams: t.urlParams,
761
- headers: t.headers,
762
- body: t.body
763
- });
764
- }
765
- async function yt(t) {
766
- return D({
767
- method: "GET",
768
- url: t.url,
769
- urlParams: t.urlParams,
770
- headers: t.headers
771
- });
772
- }
773
- async function gt(t) {
774
- return D({
775
- method: "PATCH",
776
- url: t.url,
777
- urlParams: t.urlParams,
778
- headers: t.headers,
779
- body: t.body
780
- });
781
- }
782
- async function mt(t) {
783
- return D({
784
- method: "POST",
785
- url: t.url,
786
- urlParams: t.urlParams,
787
- headers: t.headers,
788
- body: t.body
789
- });
790
- }
791
- async function pt(t) {
792
- return D({
793
- method: "PUT",
794
- url: t.url,
795
- urlParams: t.urlParams,
796
- headers: t.headers,
797
- body: t.body
798
- });
799
- }
800
- class rd {
801
- constructor(e) {
802
- c(this, "baseUrl");
803
- c(this, "baseHeaders");
804
- c(this, "baseToken");
805
- c(this, "enableDebug");
806
- this.baseUrl = e.baseUrl, this.baseHeaders = e.baseHeaders || void 0, this.baseToken = e.baseToken || void 0, this.enableDebug = e.enableDebug || !1;
807
- }
808
- onDebug(e, d, r) {
809
- if (this.enableDebug) {
810
- const n = [], s = ($) => JSON.stringify($, null, 2);
811
- n.push(`Base URL: ${this.baseUrl}`), n.push(`Endpoint: ${e}`), n.push(`Status/Method: ${d} => ${r.status}`), n.push(`Message: ${r.message}`), r.headers && n.push(`Headers: ${s(r.headers)}`), r.body && n.push(`Body: ${s(r.body)}`), C({ debugs: n, name: "ApiDebug", scheme: "yellow" });
812
- }
813
- }
814
- generateHeaders(e, d) {
815
- let r = {};
816
- return this.baseToken && (r = { Authorization: `Bearer ${this.baseToken}` }), this.baseHeaders && (r = { ...r, ...this.baseHeaders }), e && (r = { ...r, ...e }), d && (r = { ...r, Authorization: `Bearer ${d}` }), r;
817
- }
818
- /**
819
- * Sends a get request to the specified endpoint.
820
- * @param endpoint - The API endpoint to send the get request to.
821
- * @param data - The request data, including optional headers and token.
822
- * @returns The API response data.
823
- */
824
- async get(e, d) {
825
- const r = this.generateHeaders((d == null ? void 0 : d.headers) || {}, d == null ? void 0 : d.token), n = await yt({
826
- url: this.baseUrl + e,
827
- urlParams: (d == null ? void 0 : d.urlParams) || {},
828
- headers: r
829
- });
830
- return this.onDebug(e, "get", {
831
- headers: r,
832
- message: n.message,
833
- status: n.status
834
- }), n;
835
- }
836
- /**
837
- * Sends a post request to the specified endpoint.
838
- * @param endpoint - The API endpoint to send the post request to.
839
- * @param data - The request data, including body, optional headers, and token.
840
- * @returns The API response data.
841
- */
842
- async post(e, d) {
843
- const r = this.generateHeaders((d == null ? void 0 : d.headers) || {}, d == null ? void 0 : d.token), n = d == null ? void 0 : d.body, s = await mt({
844
- url: this.baseUrl + e,
845
- urlParams: (d == null ? void 0 : d.urlParams) || {},
846
- headers: r,
847
- body: n
848
- });
849
- return this.onDebug(e, "post", {
850
- headers: r,
851
- body: n,
852
- message: s.message,
853
- status: s.status
854
- }), s;
855
- }
856
- /**
857
- * Sends a put request to the specified endpoint.
858
- * @param endpoint - The API endpoint to send the put request to.
859
- * @param data - The request data, including body, optional headers, and token.
860
- * @returns The API response data.
861
- */
862
- async put(e, d) {
863
- const r = this.generateHeaders((d == null ? void 0 : d.headers) || {}, d == null ? void 0 : d.token), n = d == null ? void 0 : d.body, s = await pt({
864
- url: this.baseUrl + e,
865
- urlParams: (d == null ? void 0 : d.urlParams) || {},
866
- headers: r,
867
- body: n
868
- });
869
- return this.onDebug(e, "put", {
870
- headers: r,
871
- body: n,
872
- message: s.message,
873
- status: s.status
874
- }), s;
875
- }
876
- /**
877
- * Sends a patch request to the specified endpoint.
878
- * @param endpoint - The API endpoint to send the patch request to.
879
- * @param data - The request data, including body, optional headers, and token.
880
- * @returns The API response data.
881
- */
882
- async patch(e, d) {
883
- const r = this.generateHeaders((d == null ? void 0 : d.headers) || {}, d == null ? void 0 : d.token), n = d == null ? void 0 : d.body, s = await gt({
884
- url: this.baseUrl + e,
885
- urlParams: (d == null ? void 0 : d.urlParams) || {},
886
- headers: r,
887
- body: n
888
- });
889
- return this.onDebug(e, "patch", {
890
- headers: r,
891
- body: n,
892
- message: s.message,
893
- status: s.status
894
- }), s;
895
- }
896
- /**
897
- * Sends a delete request to the specified endpoint.
898
- * @param endpoint - The API endpoint to send the delete request to.
899
- * @param data - The request data, including body, optional headers, and token.
900
- * @returns The API response data.
901
- */
902
- async delete(e, d) {
903
- const r = this.generateHeaders((d == null ? void 0 : d.headers) || {}, d == null ? void 0 : d.token), n = d == null ? void 0 : d.body, s = await ht({
904
- url: this.baseUrl + e,
905
- urlParams: (d == null ? void 0 : d.urlParams) || {},
906
- headers: r,
907
- body: n
908
- });
909
- return this.onDebug(e, "delete", {
910
- headers: r,
911
- body: n,
912
- message: s.message,
913
- status: s.status
914
- }), s;
915
- }
916
- }
917
- async function nd(t) {
918
- let e;
919
- const d = await t.arrayBuffer(), r = new TextDecoder().decode(d);
920
- try {
921
- e = JSON.parse(r);
922
- } catch {
923
- try {
924
- if (r.includes("=")) {
925
- const s = new URLSearchParams(r);
926
- e = Object.fromEntries(s.entries());
927
- } else
928
- throw new V("Invalid URLSearchParams format");
929
- } catch {
930
- throw new V("Failed to extract data from request");
931
- }
932
- }
933
- return e;
934
- }
935
- function sd(t, e) {
936
- var d, r, n;
937
- return t != null && t.message && typeof (t == null ? void 0 : t.message) == "string" ? t == null ? void 0 : t.message : t != null && t.operator_erro_message && typeof (t == null ? void 0 : t.operator_erro_message) == "string" ? t == null ? void 0 : t.operator_erro_message : t != null && t.error && typeof (t == null ? void 0 : t.error) == "string" ? t == null ? void 0 : t.error : (d = t == null ? void 0 : t.error) != null && d.message && typeof ((r = t == null ? void 0 : t.error) == null ? void 0 : r.message) == "string" ? (n = t == null ? void 0 : t.error) == null ? void 0 : n.message : e != null && e.statusText && typeof (e == null ? void 0 : e.statusText) == "string" ? e == null ? void 0 : e.statusText : "Missing error message";
938
- }
939
- function $d(t) {
940
- switch (!0) {
941
- case t instanceof Response:
942
- return t;
943
- case t instanceof ot:
944
- return t.toResponse();
945
- case t instanceof it:
946
- return t.toResponse();
947
- case t instanceof lt:
948
- return t.toResponse();
949
- case t instanceof ut:
950
- return t.toResponse();
951
- case t instanceof at:
952
- return t.toResponse();
953
- }
954
- switch (!0) {
955
- case t instanceof tt:
956
- return t.toResponse();
957
- case t instanceof V:
958
- return t.toResponse();
959
- case t instanceof dt:
960
- return t.toResponse();
961
- case t instanceof rt:
962
- return t.toResponse();
963
- case t instanceof nt:
964
- return t.toResponse();
965
- case t instanceof st:
966
- return t.toResponse();
967
- case t instanceof W:
968
- return t.toResponse();
969
- case t instanceof $t:
970
- return t.toResponse();
971
- case t instanceof K:
972
- return t.toResponse();
973
- }
974
- return new W("Server error", t).toResponse();
975
- }
976
- async function bt([
977
- t,
978
- e
979
- ]) {
980
- const d = await e.safeParseAsync(t);
981
- if (d.success === !1) {
982
- const r = Object.fromEntries(
983
- d.error.issues.map((n) => [n.path.join("."), n.message])
984
- );
985
- return {
986
- success: d.success,
987
- fieldErrors: r,
988
- fields: t
989
- };
990
- } else
991
- return {
992
- success: d.success,
993
- data: d.data
994
- };
995
- }
996
- function vt([
997
- t,
998
- e
999
- ]) {
1000
- const d = e.safeParse(t);
1001
- if (d.success === !1) {
1002
- const r = Object.fromEntries(
1003
- d.error.issues.map((n) => [n.path.join("."), n.message])
1004
- );
1005
- return {
1006
- success: d.success,
1007
- fieldErrors: r,
1008
- fields: t
1009
- };
1010
- } else
1011
- return {
1012
- success: d.success,
1013
- data: d.data
1014
- };
1015
- }
1016
- function id(t, e = "") {
1017
- const d = new URL(t.url);
1018
- if (e === "") return d.searchParams;
1019
- const r = Array.from(
1020
- d.searchParams.entries()
1021
- ).filter(([n]) => n.startsWith(`${e}:`)).map(([n, s]) => [n.replace(`${e}:`, ""), s]);
1022
- return new URLSearchParams(r);
1023
- }
1024
- function Pt(t) {
1025
- const e = "Error validating:", d = t.issues.map(
1026
- ({ path: r, message: n }) => `-> ${r.join(".")}: ${n}`
1027
- );
1028
- return [e, ...d].join(`
1029
- `);
1030
- }
1031
- class od {
1032
- /**
1033
- * @param schema - The Zod schema used for all validation methods on this instance.
1034
- */
1035
- constructor(e) {
1036
- this.schema = e;
1037
- }
1038
- /**
1039
- * Returns `true` if the data satisfies the schema, `false` otherwise. Never throws.
1040
- *
1041
- * @param data - The value to check.
1042
- */
1043
- isValid(e) {
1044
- return this.schema.safeParse(e).success;
1045
- }
1046
- /**
1047
- * Validates data and returns the raw Zod `safeParseResult` without throwing.
1048
- * Useful when you need access to the full error details.
1049
- *
1050
- * @param data - The value to validate.
1051
- */
1052
- safeValidate(e) {
1053
- return this.schema.safeParse(e);
1054
- }
1055
- /**
1056
- * Validates data and returns the typed result, throwing `ServerError` on failure.
1057
- * Use for validating internal/trusted data (e.g. env vars, config objects).
1058
- *
1059
- * @param data - The value to validate.
1060
- * @throws `ServerError` with a formatted field-by-field error message.
1061
- */
1062
- validate(e) {
1063
- try {
1064
- return this.schema.parse(e);
1065
- } catch (d) {
1066
- throw new W(Pt(d));
1067
- }
1068
- }
1069
- /**
1070
- * Validates form data and returns the typed result, throwing `UnprocessableEntity` on failure.
1071
- * The error includes `fieldErrors`, `fields`, and `data.scrollTo` (first failing field name).
1072
- *
1073
- * @param data - The raw form data to validate.
1074
- * @param message - Optional human-readable error message for the 422 response.
1075
- * @throws `UnprocessableEntity` with structured field errors for client-side form handling.
1076
- *
1077
- * @example
1078
- * ```typescript
1079
- * const validator = new SchemaValidator(registerSchema);
1080
- * const body = validator.formValidate(await decodeRequestBody(request));
1081
- * ```
1082
- */
1083
- formValidate(e, d) {
1084
- const r = vt([e, this.schema]);
1085
- if (!r.success) {
1086
- const n = Object.keys(r.fieldErrors)[0];
1087
- throw new K({
1088
- fields: r.fields,
1089
- fieldErrors: r.fieldErrors,
1090
- data: { scrollTo: n },
1091
- message: d
1092
- });
1093
- }
1094
- return r.data;
1095
- }
1096
- /**
1097
- * Async version of `formValidate` for schemas with async refinements (e.g. uniqueness checks).
1098
- *
1099
- * @param data - The raw form data to validate.
1100
- * @param message - Optional human-readable error message for the 422 response.
1101
- * @throws `UnprocessableEntity` with structured field errors for client-side form handling.
1102
- *
1103
- * @example
1104
- * ```typescript
1105
- * const validator = new SchemaValidator(registerSchema);
1106
- * const body = await validator.formAsyncValidate(await decodeRequestBody(request));
1107
- * ```
1108
- */
1109
- async formAsyncValidate(e, d) {
1110
- const r = await bt([e, this.schema]);
1111
- if (!r.success) {
1112
- const n = Object.keys(r.fieldErrors)[0];
1113
- throw new K({
1114
- fields: r.fields,
1115
- fieldErrors: r.fieldErrors,
1116
- data: { scrollTo: n },
1117
- message: d
1118
- });
1119
- }
1120
- return r.data;
1121
- }
1122
- }
1123
- function ad(t) {
1124
- if (!(/^\d{5}-\d{3}$/.test(t) || /^\d{8}$/.test(t))) return !1;
1125
- const d = Q(t), r = 8, n = /^\d{8}$/.test(d);
1126
- return d.length === r && n;
1127
- }
1128
- function Nt(t) {
1129
- return t.length !== 14;
1130
- }
1131
- function Tt(t) {
1132
- const [e] = t;
1133
- return [...t].every((d) => d === e);
1134
- }
1135
- function oe(t, e) {
1136
- let d = 0;
1137
- for (let n = 0; n < e.length; n++)
1138
- d += parseInt(t[n]) * e[n];
1139
- const r = d % 11;
1140
- return r < 2 ? 0 : 11 - r;
1141
- }
1142
- function Ct(t) {
1143
- return t.slice(12);
1144
- }
1145
- function ud(t) {
1146
- if (!t || t.length > 18 || t.length < 14 || /\s/.test(t)) return !1;
1147
- const d = Q(t);
1148
- if (Nt(d) || Tt(d)) return !1;
1149
- const r = d.slice(0, 12), n = oe(r, [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]), s = oe(
1150
- r + n,
1151
- [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
1152
- );
1153
- return Ct(d) === `${n}${s}`;
1154
- }
1155
- function Et(t) {
1156
- return t.length !== 11;
1157
- }
1158
- function Ot(t) {
1159
- const [e] = t;
1160
- return [...t].every((d) => d === e);
1161
- }
1162
- function ae(t, e) {
1163
- let d = 0;
1164
- for (const n of t)
1165
- e > 1 && (d += parseInt(n) * e--);
1166
- const r = d % 11;
1167
- return r < 2 ? 0 : 11 - r;
1168
- }
1169
- function _t(t) {
1170
- return t.slice(9);
1171
- }
1172
- function ld(t) {
1173
- if (!t || t.length > 14 || t.length < 11 || /\s/.test(t)) return !1;
1174
- const d = Q(t);
1175
- if (Et(d) || Ot(d)) return !1;
1176
- const r = ae(d, 10), n = ae(d, 11);
1177
- return _t(d) === `${r}${n}`;
1178
- }
1179
- function cd(t, e) {
1180
- const d = (e == null ? void 0 : e.inputFormat) || "brazilianDate", r = (e == null ? void 0 : e.minYear) || 1900, n = (e == null ? void 0 : e.maxYear) || 3e3, s = new Ye();
1181
- s.validateInputFormat(d);
1182
- let $, o, i;
1183
- const a = t.split(/[-/]/).map(Number);
1184
- if (a.length !== 3) return !1;
1185
- try {
1186
- switch (d) {
1187
- case "brazilianDate":
1188
- [$, o, i] = a, s.validateDateParts(i, o, $);
1189
- break;
1190
- case "isoDate":
1191
- [o, $, i] = a, s.validateDateParts(i, o, $);
1192
- break;
1193
- case "timestamp":
1194
- [i, o, $] = a, s.validateDateParts(i, o, $);
1195
- break;
1196
- }
1197
- return !(i < r || i > n);
1198
- } catch {
1199
- return !1;
1200
- }
1201
- }
1202
- function xt(t) {
1203
- return /^[a-zA-Z0-9.!$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t);
1204
- }
1205
- function St(t) {
1206
- return !(t.length === 0 || t.length > 64 || t.startsWith(".") || t.endsWith(".") || t.includes("..") || !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+$/.test(t));
1207
- }
1208
- function Rt(t) {
1209
- return !(t.length === 0 || t.length > 63 || t.startsWith("-") || t.endsWith("-") || !/^[a-zA-Z0-9-]+$/.test(t));
1210
- }
1211
- function It(t) {
1212
- if (t.length === 0 || t.length > 253 || t.startsWith(".") || t.endsWith(".") || t.startsWith("-") || t.endsWith("-"))
1213
- return !1;
1214
- const e = t.split(".");
1215
- if (e.length < 2) return !1;
1216
- for (const r of e) if (!Rt(r)) return !1;
1217
- const d = e[e.length - 1];
1218
- return !(d.length < 2 || !/^[a-zA-Z]+$/.test(d));
1219
- }
1220
- function Ft(t) {
1221
- const e = t.split("@");
1222
- if (e.length !== 2) return !1;
1223
- const [d, r] = e;
1224
- return !(!St(d) || !It(r));
1225
- }
1226
- function wt(t) {
1227
- const e = t.split("@");
1228
- return e.length === 2 ? e[1].toLowerCase() : null;
1229
- }
1230
- const At = ["MX", "A", "AAAA"];
1231
- async function Dt(t, e) {
1232
- var d, r;
1233
- try {
1234
- return await ((r = (d = Qe) == null ? void 0 : d.promises) == null ? void 0 : r.resolve(t, e)), !0;
1235
- } catch {
1236
- return !1;
1237
- }
1238
- }
1239
- async function Lt(t) {
1240
- for (const e of At)
1241
- if (await Dt(t, e)) return !0;
1242
- return !1;
1243
- }
1244
- async function fd(t) {
1245
- if (!t || typeof t != "string") return !1;
1246
- const e = t.trim();
1247
- if (!xt(e) || !Ft(e)) return !1;
1248
- const d = wt(e);
1249
- return d ? await Lt(d) : !1;
1250
- }
1251
- function hd(t) {
1252
- if (!t) return !1;
1253
- const e = t.length >= 8, d = /[A-Z]/.test(t), r = /[a-z]/.test(t), n = /\d/.test(t), s = /[!@#$%^&*(),.?":;{}|<>_\-+=~`[\]\\\/]/.test(
1254
- t
1255
- );
1256
- return [
1257
- e,
1258
- d,
1259
- r,
1260
- n,
1261
- s
1262
- ].every(($) => $);
1263
- }
1264
- const Mt = { 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}"]]] } };
1265
- function we(t, e) {
1266
- var d = Array.prototype.slice.call(e);
1267
- return d.push(Mt), t.apply(this, d);
1268
- }
1269
- function ue(t, e) {
1270
- t = t.split("-"), e = e.split("-");
1271
- for (var d = t[0].split("."), r = e[0].split("."), n = 0; n < 3; n++) {
1272
- var s = Number(d[n]), $ = Number(r[n]);
1273
- if (s > $) return 1;
1274
- if ($ > s) return -1;
1275
- if (!isNaN(s) && isNaN($)) return 1;
1276
- if (isNaN(s) && !isNaN($)) return -1;
1277
- }
1278
- return t[1] && e[1] ? t[1] > e[1] ? 1 : t[1] < e[1] ? -1 : 0 : !t[1] && e[1] ? 1 : t[1] && !e[1] ? -1 : 0;
1279
- }
1280
- var jt = {}.constructor;
1281
- function T(t) {
1282
- return t != null && t.constructor === jt;
1283
- }
1284
- function E(t) {
1285
- "@babel/helpers - typeof";
1286
- return E = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
1287
- return typeof e;
1288
- } : function(e) {
1289
- return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
1290
- }, E(t);
1291
- }
1292
- function B(t, e) {
1293
- if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
1294
- }
1295
- function Bt(t, e) {
1296
- for (var d = 0; d < e.length; d++) {
1297
- var r = e[d];
1298
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, kt(r.key), r);
1299
- }
1300
- }
1301
- function k(t, e, d) {
1302
- return e && Bt(t.prototype, e), Object.defineProperty(t, "prototype", { writable: !1 }), t;
1303
- }
1304
- function kt(t) {
1305
- var e = Ut(t, "string");
1306
- return E(e) == "symbol" ? e : e + "";
1307
- }
1308
- function Ut(t, e) {
1309
- if (E(t) != "object" || !t) return t;
1310
- var d = t[Symbol.toPrimitive];
1311
- if (d !== void 0) {
1312
- var r = d.call(t, e);
1313
- if (E(r) != "object") return r;
1314
- throw new TypeError("@@toPrimitive must return a primitive value.");
1315
- }
1316
- return String(t);
1317
- }
1318
- var Gt = "1.2.0", Ht = "1.7.35", le = " ext. ", Jt = /^\d+$/, f = /* @__PURE__ */ function() {
1319
- function t(e) {
1320
- B(this, t), Ae(e), this.metadata = e, De.call(this, e);
1321
- }
1322
- return k(t, [{
1323
- key: "getCountries",
1324
- value: function() {
1325
- return Object.keys(this.metadata.countries).filter(function(d) {
1326
- return d !== "001";
1327
- });
1328
- }
1329
- }, {
1330
- key: "getCountryMetadata",
1331
- value: function(d) {
1332
- return this.metadata.countries[d];
1333
- }
1334
- }, {
1335
- key: "nonGeographic",
1336
- value: function() {
1337
- if (!(this.v1 || this.v2 || this.v3))
1338
- return this.metadata.nonGeographic || this.metadata.nonGeographical;
1339
- }
1340
- }, {
1341
- key: "hasCountry",
1342
- value: function(d) {
1343
- return this.getCountryMetadata(d) !== void 0;
1344
- }
1345
- }, {
1346
- key: "hasCallingCode",
1347
- value: function(d) {
1348
- if (this.getCountryCodesForCallingCode(d))
1349
- return !0;
1350
- if (this.nonGeographic()) {
1351
- if (this.nonGeographic()[d])
1352
- return !0;
1353
- } else {
1354
- var r = this.countryCallingCodes()[d];
1355
- if (r && r.length === 1 && r[0] === "001")
1356
- return !0;
1357
- }
1358
- }
1359
- }, {
1360
- key: "isNonGeographicCallingCode",
1361
- value: function(d) {
1362
- return this.nonGeographic() ? !!this.nonGeographic()[d] : !this.getCountryCodesForCallingCode(d);
1363
- }
1364
- // Deprecated.
1365
- }, {
1366
- key: "country",
1367
- value: function(d) {
1368
- return this.selectNumberingPlan(d);
1369
- }
1370
- }, {
1371
- key: "selectNumberingPlan",
1372
- value: function(d, r) {
1373
- if (d && Jt.test(d) && (r = d, d = null), d && d !== "001") {
1374
- if (!this.hasCountry(d))
1375
- throw new Error("Unknown country: ".concat(d));
1376
- this.numberingPlan = new ce(this.getCountryMetadata(d), this);
1377
- } else if (r) {
1378
- if (!this.hasCallingCode(r))
1379
- throw new Error("Unknown calling code: ".concat(r));
1380
- this.numberingPlan = new ce(this.getNumberingPlanMetadata(r), this);
1381
- } else
1382
- this.numberingPlan = void 0;
1383
- return this;
1384
- }
1385
- }, {
1386
- key: "getCountryCodesForCallingCode",
1387
- value: function(d) {
1388
- var r = this.countryCallingCodes()[d];
1389
- if (r)
1390
- return r.length === 1 && r[0].length === 3 ? void 0 : r;
1391
- }
1392
- }, {
1393
- key: "getCountryCodeForCallingCode",
1394
- value: function(d) {
1395
- var r = this.getCountryCodesForCallingCode(d);
1396
- if (r)
1397
- return r[0];
1398
- }
1399
- }, {
1400
- key: "getNumberingPlanMetadata",
1401
- value: function(d) {
1402
- var r = this.getCountryCodeForCallingCode(d);
1403
- if (r)
1404
- return this.getCountryMetadata(r);
1405
- if (this.nonGeographic()) {
1406
- var n = this.nonGeographic()[d];
1407
- if (n)
1408
- return n;
1409
- } else {
1410
- var s = this.countryCallingCodes()[d];
1411
- if (s && s.length === 1 && s[0] === "001")
1412
- return this.metadata.countries["001"];
1413
- }
1414
- }
1415
- // Deprecated.
1416
- }, {
1417
- key: "countryCallingCode",
1418
- value: function() {
1419
- return this.numberingPlan.callingCode();
1420
- }
1421
- // Deprecated.
1422
- }, {
1423
- key: "IDDPrefix",
1424
- value: function() {
1425
- return this.numberingPlan.IDDPrefix();
1426
- }
1427
- // Deprecated.
1428
- }, {
1429
- key: "defaultIDDPrefix",
1430
- value: function() {
1431
- return this.numberingPlan.defaultIDDPrefix();
1432
- }
1433
- // Deprecated.
1434
- }, {
1435
- key: "nationalNumberPattern",
1436
- value: function() {
1437
- return this.numberingPlan.nationalNumberPattern();
1438
- }
1439
- // Deprecated.
1440
- }, {
1441
- key: "possibleLengths",
1442
- value: function() {
1443
- return this.numberingPlan.possibleLengths();
1444
- }
1445
- // Deprecated.
1446
- }, {
1447
- key: "formats",
1448
- value: function() {
1449
- return this.numberingPlan.formats();
1450
- }
1451
- // Deprecated.
1452
- }, {
1453
- key: "nationalPrefixForParsing",
1454
- value: function() {
1455
- return this.numberingPlan.nationalPrefixForParsing();
1456
- }
1457
- // Deprecated.
1458
- }, {
1459
- key: "nationalPrefixTransformRule",
1460
- value: function() {
1461
- return this.numberingPlan.nationalPrefixTransformRule();
1462
- }
1463
- // Deprecated.
1464
- }, {
1465
- key: "leadingDigits",
1466
- value: function() {
1467
- return this.numberingPlan.leadingDigits();
1468
- }
1469
- // Deprecated.
1470
- }, {
1471
- key: "hasTypes",
1472
- value: function() {
1473
- return this.numberingPlan.hasTypes();
1474
- }
1475
- // Deprecated.
1476
- }, {
1477
- key: "type",
1478
- value: function(d) {
1479
- return this.numberingPlan.type(d);
1480
- }
1481
- // Deprecated.
1482
- }, {
1483
- key: "ext",
1484
- value: function() {
1485
- return this.numberingPlan.ext();
1486
- }
1487
- }, {
1488
- key: "countryCallingCodes",
1489
- value: function() {
1490
- return this.v1 ? this.metadata.country_phone_code_to_countries : this.metadata.country_calling_codes;
1491
- }
1492
- // Deprecated.
1493
- }, {
1494
- key: "chooseCountryByCountryCallingCode",
1495
- value: function(d) {
1496
- return this.selectNumberingPlan(d);
1497
- }
1498
- }, {
1499
- key: "hasSelectedNumberingPlan",
1500
- value: function() {
1501
- return this.numberingPlan !== void 0;
1502
- }
1503
- }]);
1504
- }(), ce = /* @__PURE__ */ function() {
1505
- function t(e, d) {
1506
- B(this, t), this.globalMetadataObject = d, this.metadata = e, De.call(this, d.metadata);
1507
- }
1508
- return k(t, [{
1509
- key: "callingCode",
1510
- value: function() {
1511
- return this.metadata[0];
1512
- }
1513
- // Formatting information for regions which share
1514
- // a country calling code is contained by only one region
1515
- // for performance reasons. For example, for NANPA region
1516
- // ("North American Numbering Plan Administration",
1517
- // which includes USA, Canada, Cayman Islands, Bahamas, etc)
1518
- // it will be contained in the metadata for `US`.
1519
- }, {
1520
- key: "getDefaultCountryMetadataForRegion",
1521
- value: function() {
1522
- return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());
1523
- }
1524
- // Is always present.
1525
- }, {
1526
- key: "IDDPrefix",
1527
- value: function() {
1528
- if (!(this.v1 || this.v2))
1529
- return this.metadata[1];
1530
- }
1531
- // Is only present when a country supports multiple IDD prefixes.
1532
- }, {
1533
- key: "defaultIDDPrefix",
1534
- value: function() {
1535
- if (!(this.v1 || this.v2))
1536
- return this.metadata[12];
1537
- }
1538
- }, {
1539
- key: "nationalNumberPattern",
1540
- value: function() {
1541
- return this.v1 || this.v2 ? this.metadata[1] : this.metadata[2];
1542
- }
1543
- // "possible length" data is always present in Google's metadata.
1544
- }, {
1545
- key: "possibleLengths",
1546
- value: function() {
1547
- if (!this.v1)
1548
- return this.metadata[this.v2 ? 2 : 3];
1549
- }
1550
- }, {
1551
- key: "_getFormats",
1552
- value: function(d) {
1553
- return d[this.v1 ? 2 : this.v2 ? 3 : 4];
1554
- }
1555
- // For countries of the same region (e.g. NANPA)
1556
- // formats are all stored in the "main" country for that region.
1557
- // E.g. "RU" and "KZ", "US" and "CA".
1558
- }, {
1559
- key: "formats",
1560
- value: function() {
1561
- var d = this, r = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];
1562
- return r.map(function(n) {
1563
- return new Vt(n, d);
1564
- });
1565
- }
1566
- }, {
1567
- key: "nationalPrefix",
1568
- value: function() {
1569
- return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];
1570
- }
1571
- }, {
1572
- key: "_getNationalPrefixFormattingRule",
1573
- value: function(d) {
1574
- return d[this.v1 ? 4 : this.v2 ? 5 : 6];
1575
- }
1576
- // For countries of the same region (e.g. NANPA)
1577
- // national prefix formatting rule is stored in the "main" country for that region.
1578
- // E.g. "RU" and "KZ", "US" and "CA".
1579
- }, {
1580
- key: "nationalPrefixFormattingRule",
1581
- value: function() {
1582
- return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());
1583
- }
1584
- }, {
1585
- key: "_nationalPrefixForParsing",
1586
- value: function() {
1587
- return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];
1588
- }
1589
- }, {
1590
- key: "nationalPrefixForParsing",
1591
- value: function() {
1592
- return this._nationalPrefixForParsing() || this.nationalPrefix();
1593
- }
1594
- }, {
1595
- key: "nationalPrefixTransformRule",
1596
- value: function() {
1597
- return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];
1598
- }
1599
- }, {
1600
- key: "_getNationalPrefixIsOptionalWhenFormatting",
1601
- value: function() {
1602
- return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];
1603
- }
1604
- // For countries of the same region (e.g. NANPA)
1605
- // "national prefix is optional when formatting" flag is
1606
- // stored in the "main" country for that region.
1607
- // E.g. "RU" and "KZ", "US" and "CA".
1608
- }, {
1609
- key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
1610
- value: function() {
1611
- return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());
1612
- }
1613
- }, {
1614
- key: "leadingDigits",
1615
- value: function() {
1616
- return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];
1617
- }
1618
- }, {
1619
- key: "types",
1620
- value: function() {
1621
- return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];
1622
- }
1623
- }, {
1624
- key: "hasTypes",
1625
- value: function() {
1626
- return this.types() && this.types().length === 0 ? !1 : !!this.types();
1627
- }
1628
- }, {
1629
- key: "type",
1630
- value: function(d) {
1631
- if (this.hasTypes() && fe(this.types(), d))
1632
- return new Kt(fe(this.types(), d), this);
1633
- }
1634
- }, {
1635
- key: "ext",
1636
- value: function() {
1637
- return this.v1 || this.v2 ? le : this.metadata[13] || le;
1638
- }
1639
- }]);
1640
- }(), Vt = /* @__PURE__ */ function() {
1641
- function t(e, d) {
1642
- B(this, t), this._format = e, this.metadata = d;
1643
- }
1644
- return k(t, [{
1645
- key: "pattern",
1646
- value: function() {
1647
- return this._format[0];
1648
- }
1649
- }, {
1650
- key: "format",
1651
- value: function() {
1652
- return this._format[1];
1653
- }
1654
- }, {
1655
- key: "leadingDigitsPatterns",
1656
- value: function() {
1657
- return this._format[2] || [];
1658
- }
1659
- }, {
1660
- key: "nationalPrefixFormattingRule",
1661
- value: function() {
1662
- return this._format[3] || this.metadata.nationalPrefixFormattingRule();
1663
- }
1664
- }, {
1665
- key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
1666
- value: function() {
1667
- return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
1668
- }
1669
- }, {
1670
- key: "nationalPrefixIsMandatoryWhenFormattingInNationalFormat",
1671
- value: function() {
1672
- return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
1673
- }
1674
- // Checks whether national prefix formatting rule contains national prefix.
1675
- }, {
1676
- key: "usesNationalPrefix",
1677
- value: function() {
1678
- return !!(this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a "dummy" one.
1679
- !Wt.test(this.nationalPrefixFormattingRule()));
1680
- }
1681
- }, {
1682
- key: "internationalFormat",
1683
- value: function() {
1684
- return this._format[5] || this.format();
1685
- }
1686
- }]);
1687
- }(), Wt = /^\(?\$1\)?$/, Kt = /* @__PURE__ */ function() {
1688
- function t(e, d) {
1689
- B(this, t), this.type = e, this.metadata = d;
1690
- }
1691
- return k(t, [{
1692
- key: "pattern",
1693
- value: function() {
1694
- return this.metadata.v1 ? this.type : this.type[0];
1695
- }
1696
- }, {
1697
- key: "possibleLengths",
1698
- value: function() {
1699
- if (!this.metadata.v1)
1700
- return this.type[1] || this.metadata.possibleLengths();
1701
- }
1702
- }]);
1703
- }();
1704
- function fe(t, e) {
1705
- switch (e) {
1706
- case "FIXED_LINE":
1707
- return t[0];
1708
- case "MOBILE":
1709
- return t[1];
1710
- case "TOLL_FREE":
1711
- return t[2];
1712
- case "PREMIUM_RATE":
1713
- return t[3];
1714
- case "PERSONAL_NUMBER":
1715
- return t[4];
1716
- case "VOICEMAIL":
1717
- return t[5];
1718
- case "UAN":
1719
- return t[6];
1720
- case "PAGER":
1721
- return t[7];
1722
- case "VOIP":
1723
- return t[8];
1724
- case "SHARED_COST":
1725
- return t[9];
1726
- }
1727
- }
1728
- function Ae(t) {
1729
- if (!t)
1730
- throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");
1731
- if (!T(t) || !T(t.countries))
1732
- 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(T(t) ? "an object of shape: { " + Object.keys(t).join(", ") + " }" : "a " + qt(t) + ": " + t, "."));
1733
- }
1734
- var qt = function(e) {
1735
- return E(e);
1736
- };
1737
- function te(t, e) {
1738
- if (e = new f(e), e.hasCountry(t))
1739
- return e.selectNumberingPlan(t).countryCallingCode();
1740
- throw new Error("Unknown country: ".concat(t));
1741
- }
1742
- function Zt(t, e) {
1743
- return e.countries.hasOwnProperty(t);
1744
- }
1745
- function De(t) {
1746
- var e = t.version;
1747
- typeof e == "number" ? (this.v1 = e === 1, this.v2 = e === 2, this.v3 = e === 3, this.v4 = e === 4) : e ? ue(e, Gt) === -1 ? this.v2 = !0 : ue(e, Ht) === -1 ? this.v3 = !0 : this.v4 = !0 : this.v1 = !0;
1748
- }
1749
- function de(t, e, d) {
1750
- return Xt(t, e, void 0, d);
1751
- }
1752
- function Xt(t, e, d, r) {
1753
- e && (r = new f(r.metadata), r.selectNumberingPlan(e));
1754
- var n = r.type(d), s = n && n.possibleLengths() || r.possibleLengths();
1755
- if (!s)
1756
- return "IS_POSSIBLE";
1757
- var $ = t.length, o = s[0];
1758
- return o === $ ? "IS_POSSIBLE" : o > $ ? "TOO_SHORT" : s[s.length - 1] < $ ? "TOO_LONG" : s.indexOf($, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
1759
- }
1760
- function Yt(t, e, d) {
1761
- if (e === void 0 && (e = {}), d = new f(d), e.v2) {
1762
- if (!t.countryCallingCode)
1763
- throw new Error("Invalid phone number object passed");
1764
- d.selectNumberingPlan(t.countryCallingCode);
1765
- } else {
1766
- if (!t.phone)
1767
- return !1;
1768
- if (t.country) {
1769
- if (!d.hasCountry(t.country))
1770
- throw new Error("Unknown country: ".concat(t.country));
1771
- d.selectNumberingPlan(t.country);
1772
- } else {
1773
- if (!t.countryCallingCode)
1774
- throw new Error("Invalid phone number object passed");
1775
- d.selectNumberingPlan(t.countryCallingCode);
1776
- }
1777
- }
1778
- if (d.possibleLengths())
1779
- return Le(t.phone || t.nationalNumber, t.country, d);
1780
- if (t.countryCallingCode && d.isNonGeographicCallingCode(t.countryCallingCode))
1781
- return !0;
1782
- throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.');
1783
- }
1784
- function Le(t, e, d) {
1785
- switch (de(t, e, d)) {
1786
- case "IS_POSSIBLE":
1787
- return !0;
1788
- default:
1789
- return !1;
1790
- }
1791
- }
1792
- function m(t, e) {
1793
- return t = t || "", new RegExp("^(?:" + e + ")$").test(t);
1794
- }
1795
- function zt(t, e) {
1796
- var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
1797
- if (d) return (d = d.call(t)).next.bind(d);
1798
- if (Array.isArray(t) || (d = Qt(t)) || e) {
1799
- d && (t = d);
1800
- var r = 0;
1801
- return function() {
1802
- return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
1803
- };
1804
- }
1805
- throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1806
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1807
- }
1808
- function Qt(t, e) {
1809
- if (t) {
1810
- if (typeof t == "string") return he(t, e);
1811
- var d = {}.toString.call(t).slice(8, -1);
1812
- 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) ? he(t, e) : void 0;
1813
- }
1814
- }
1815
- function he(t, e) {
1816
- (e == null || e > t.length) && (e = t.length);
1817
- for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
1818
- return r;
1819
- }
1820
- var e0 = ["MOBILE", "PREMIUM_RATE", "TOLL_FREE", "SHARED_COST", "VOIP", "PERSONAL_NUMBER", "PAGER", "UAN", "VOICEMAIL"];
1821
- function re(t, e, d) {
1822
- if (e = e || {}, !(!t.country && !t.countryCallingCode)) {
1823
- d = new f(d), d.selectNumberingPlan(t.country, t.countryCallingCode);
1824
- var r = e.v2 ? t.nationalNumber : t.phone;
1825
- if (m(r, d.nationalNumberPattern())) {
1826
- if (H(r, "FIXED_LINE", d))
1827
- return d.type("MOBILE") && d.type("MOBILE").pattern() === "" || !d.type("MOBILE") || H(r, "MOBILE", d) ? "FIXED_LINE_OR_MOBILE" : "FIXED_LINE";
1828
- for (var n = zt(e0), s; !(s = n()).done; ) {
1829
- var $ = s.value;
1830
- if (H(r, $, d))
1831
- return $;
1832
- }
1833
- }
1834
- }
1835
- }
1836
- function H(t, e, d) {
1837
- var r = d.type(e);
1838
- return !r || !r.pattern() || r.possibleLengths() && r.possibleLengths().indexOf(t.length) < 0 ? !1 : m(t, r.pattern());
1839
- }
1840
- function t0(t, e, d) {
1841
- if (e = e || {}, d = new f(d), d.selectNumberingPlan(t.country, t.countryCallingCode), d.hasTypes())
1842
- return re(t, e, d.metadata) !== void 0;
1843
- var r = e.v2 ? t.nationalNumber : t.phone;
1844
- return m(r, d.nationalNumberPattern());
1845
- }
1846
- function d0(t, e, d) {
1847
- var r = new f(d), n = r.getCountryCodesForCallingCode(t);
1848
- return n ? n.filter(function(s) {
1849
- return r0(e, s, d);
1850
- }) : [];
1851
- }
1852
- function r0(t, e, d) {
1853
- var r = new f(d);
1854
- return r.selectNumberingPlan(e), r.numberingPlan.possibleLengths().indexOf(t.length) >= 0;
1855
- }
1856
- var ne = 2, n0 = 17, s0 = 3, y = "0-90-9٠-٩۰-۹", $0 = "-‐-―−ー-", i0 = "//", o0 = "..", a0 = "  ­​⁠ ", u0 = "()()[]\\[\\]", l0 = "~⁓∼~", M = "".concat($0).concat(i0).concat(o0).concat(a0).concat(u0).concat(l0), se = "++", c0 = new RegExp("([" + y + "])");
1857
- function f0(t, e, d, r) {
1858
- if (e) {
1859
- var n = new f(r);
1860
- n.selectNumberingPlan(e, d);
1861
- var s = new RegExp(n.IDDPrefix());
1862
- if (t.search(s) === 0) {
1863
- t = t.slice(t.match(s)[0].length);
1864
- var $ = t.match(c0);
1865
- if (!($ && $[1] != null && $[1].length > 0 && $[1] === "0"))
1866
- return t;
1867
- }
1868
- }
1869
- }
1870
- function h0(t, e) {
1871
- if (t && e.numberingPlan.nationalPrefixForParsing()) {
1872
- var d = new RegExp("^(?:" + e.numberingPlan.nationalPrefixForParsing() + ")"), r = d.exec(t);
1873
- if (r) {
1874
- var n, s, $ = r.length - 1, o = $ > 0 && r[$];
1875
- if (e.nationalPrefixTransformRule() && o)
1876
- n = t.replace(d, e.nationalPrefixTransformRule()), $ > 1 && (s = r[1]);
1877
- else {
1878
- var i = r[0];
1879
- n = t.slice(i.length), o && (s = r[1]);
1880
- }
1881
- var a;
1882
- if (o) {
1883
- var u = t.indexOf(r[1]), l = t.slice(0, u);
1884
- l === e.numberingPlan.nationalPrefix() && (a = e.numberingPlan.nationalPrefix());
1885
- } else
1886
- a = r[0];
1887
- return {
1888
- nationalNumber: n,
1889
- nationalPrefix: a,
1890
- carrierCode: s
1891
- };
1892
- }
1893
- }
1894
- return {
1895
- nationalNumber: t
1896
- };
1897
- }
1898
- function y0(t, e) {
1899
- var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
1900
- if (d) return (d = d.call(t)).next.bind(d);
1901
- if (Array.isArray(t) || (d = g0(t)) || e) {
1902
- d && (t = d);
1903
- var r = 0;
1904
- return function() {
1905
- return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
1906
- };
1907
- }
1908
- throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1909
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1910
- }
1911
- function g0(t, e) {
1912
- if (t) {
1913
- if (typeof t == "string") return ye(t, e);
1914
- var d = {}.toString.call(t).slice(8, -1);
1915
- 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) ? ye(t, e) : void 0;
1916
- }
1917
- }
1918
- function ye(t, e) {
1919
- (e == null || e > t.length) && (e = t.length);
1920
- for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
1921
- return r;
1922
- }
1923
- function m0(t, e) {
1924
- var d = e.countries, r = e.metadata;
1925
- r = new f(r);
1926
- for (var n = y0(d), s; !(s = n()).done; ) {
1927
- var $ = s.value;
1928
- if (r.selectNumberingPlan($), r.leadingDigits()) {
1929
- if (t && t.search(r.leadingDigits()) === 0)
1930
- return $;
1931
- } else if (re({
1932
- phone: t,
1933
- country: $
1934
- }, void 0, r.metadata))
1935
- return $;
1936
- }
1937
- }
1938
- function Me(t, e) {
1939
- var d = e.nationalNumber, r = e.metadata, n = r.getCountryCodesForCallingCode(t);
1940
- if (n)
1941
- return n.length === 1 ? n[0] : m0(d, {
1942
- countries: n,
1943
- metadata: r.metadata
1944
- });
1945
- }
1946
- function q(t, e, d) {
1947
- var r = h0(t, d), n = r.carrierCode, s = r.nationalNumber;
1948
- if (s !== t) {
1949
- if (!p0(t, s, d))
1950
- return {
1951
- nationalNumber: t
1952
- };
1953
- if (d.numberingPlan.possibleLengths() && (e || (e = Me(d.numberingPlan.callingCode(), {
1954
- nationalNumber: s,
1955
- metadata: d
1956
- })), !b0(s, e, d)))
1957
- return {
1958
- nationalNumber: t
1959
- };
1960
- }
1961
- return {
1962
- nationalNumber: s,
1963
- carrierCode: n
1964
- };
1965
- }
1966
- function p0(t, e, d) {
1967
- return !(m(t, d.nationalNumberPattern()) && !m(e, d.nationalNumberPattern()));
1968
- }
1969
- function b0(t, e, d) {
1970
- switch (de(t, e, d)) {
1971
- case "TOO_SHORT":
1972
- case "INVALID_LENGTH":
1973
- return !1;
1974
- default:
1975
- return !0;
1976
- }
1977
- }
1978
- function v0(t, e, d, r, n) {
1979
- var s = d ? te(d, n) : r;
1980
- if (t.indexOf(s) === 0) {
1981
- n = new f(n), n.selectNumberingPlan(d, s);
1982
- var $ = t.slice(s.length), o = q($, e, n), i = o.nationalNumber, a = q(t, e, n), u = a.nationalNumber;
1983
- if (!m(u, n.nationalNumberPattern()) && m(i, n.nationalNumberPattern()) || de(u, e, n) === "TOO_LONG")
1984
- return {
1985
- countryCallingCode: s,
1986
- number: $
1987
- };
1988
- }
1989
- return {
1990
- number: t
1991
- };
1992
- }
1993
- function je(t, e, d, r, n) {
1994
- if (!t)
1995
- return {};
1996
- var s;
1997
- if (t[0] !== "+") {
1998
- var $ = f0(t, d, r, n);
1999
- if ($ && $ !== t)
2000
- s = !0, t = "+" + $;
2001
- else {
2002
- if (d || r) {
2003
- var o = v0(t, e, d, r, n), i = o.countryCallingCode, a = o.number;
2004
- if (i)
2005
- return {
2006
- countryCallingCodeSource: "FROM_NUMBER_WITHOUT_PLUS_SIGN",
2007
- countryCallingCode: i,
2008
- number: a
2009
- };
2010
- }
2011
- return {
2012
- // No need to set it to `UNSPECIFIED`. It can be just `undefined`.
2013
- // countryCallingCodeSource: 'UNSPECIFIED',
2014
- number: t
2015
- };
2016
- }
2017
- }
2018
- if (t[1] === "0")
2019
- return {};
2020
- n = new f(n);
2021
- for (var u = 2; u - 1 <= s0 && u <= t.length; ) {
2022
- var l = t.slice(1, u);
2023
- if (n.hasCallingCode(l))
2024
- return n.selectNumberingPlan(l), {
2025
- countryCallingCodeSource: s ? "FROM_NUMBER_WITH_IDD" : "FROM_NUMBER_WITH_PLUS_SIGN",
2026
- countryCallingCode: l,
2027
- number: t.slice(u)
2028
- };
2029
- u++;
2030
- }
2031
- return {};
2032
- }
2033
- function P0(t) {
2034
- return t.replace(new RegExp("[".concat(M, "]+"), "g"), " ").trim();
2035
- }
2036
- var N0 = /(\$\d)/;
2037
- function T0(t, e, d) {
2038
- var r = d.useInternationalFormat, n = d.withNationalPrefix, s = t.replace(new RegExp(e.pattern()), r ? e.internationalFormat() : (
2039
- // This library doesn't use `domestic_carrier_code_formatting_rule`,
2040
- // because that one is only used when formatting phone numbers
2041
- // for dialing from a mobile phone, and this is not a dialing library.
2042
- // carrierCode && format.domesticCarrierCodeFormattingRule()
2043
- // // First, replace the $CC in the formatting rule with the desired carrier code.
2044
- // // Then, replace the $FG in the formatting rule with the first group
2045
- // // and the carrier code combined in the appropriate way.
2046
- // ? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))
2047
- // : (
2048
- // withNationalPrefix && format.nationalPrefixFormattingRule()
2049
- // ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())
2050
- // : format.format()
2051
- // )
2052
- n && e.nationalPrefixFormattingRule() ? e.format().replace(N0, e.nationalPrefixFormattingRule()) : e.format()
2053
- ));
2054
- return r ? P0(s) : s;
2055
- }
2056
- var C0 = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;
2057
- function E0(t, e, d) {
2058
- var r = new f(d);
2059
- if (r.selectNumberingPlan(t, e), r.defaultIDDPrefix())
2060
- return r.defaultIDDPrefix();
2061
- if (C0.test(r.IDDPrefix()))
2062
- return r.IDDPrefix();
2063
- }
2064
- var O0 = ";ext=", N = function(e) {
2065
- return "([".concat(y, "]{1,").concat(e, "})");
2066
- };
2067
- function Be(t) {
2068
- var e = "20", d = "15", r = "9", n = "6", s = "[  \\t,]*", $ = "[:\\..]?[  \\t,-]*", o = "#?", i = "(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)", a = "(?:[xx##~~]|int|int)", u = "[- ]+", l = "[  \\t]*", h = "(?:,{2}|;)", b = O0 + N(e), P = s + i + $ + N(e) + o, v = s + a + $ + N(r) + o, L = u + N(n) + "#", U = l + h + $ + N(d) + o, G = l + "(?:,)+" + $ + N(r) + o;
2069
- return b + "|" + P + "|" + v + "|" + L + "|" + U + "|" + G;
2070
- }
2071
- var _0 = "[" + y + "]{" + ne + "}", x0 = "[" + se + "]{0,1}(?:[" + M + "]*[" + y + "]){3,}[" + M + y + "]*", S0 = new RegExp("^[" + se + "]{0,1}(?:[" + M + "]*[" + y + "]){1,2}$", "i"), R0 = x0 + // Phone number extensions
2072
- "(?:" + Be() + ")?", I0 = new RegExp(
2073
- // Either a short two-digit-only phone number
2074
- "^" + _0 + "$|^" + R0 + "$",
2075
- "i"
2076
- );
2077
- function F0(t) {
2078
- return t.length >= ne && I0.test(t);
2079
- }
2080
- function w0(t) {
2081
- return S0.test(t);
2082
- }
2083
- function A0(t) {
2084
- var e = t.number, d = t.ext;
2085
- if (!e)
2086
- return "";
2087
- if (e[0] !== "+")
2088
- throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');
2089
- return "tel:".concat(e).concat(d ? ";ext=" + d : "");
2090
- }
2091
- var ge = {
2092
- formatExtension: function(e, d, r) {
2093
- return "".concat(e).concat(r.ext()).concat(d);
2094
- }
2095
- };
2096
- function D0(t, e, d, r) {
2097
- if (d ? d = j0({}, ge, d) : d = ge, r = new f(r), t.country && t.country !== "001") {
2098
- if (!r.hasCountry(t.country))
2099
- throw new Error("Unknown country: ".concat(t.country));
2100
- r.selectNumberingPlan(t.country);
2101
- } else if (t.countryCallingCode)
2102
- r.selectNumberingPlan(t.countryCallingCode);
2103
- else return t.phone || "";
2104
- var n = r.countryCallingCode(), s = d.v2 ? t.nationalNumber : t.phone, $;
2105
- switch (e) {
2106
- case "NATIONAL":
2107
- return s ? ($ = j(s, t.carrierCode, "NATIONAL", r, d), J($, t.ext, r, d.formatExtension)) : "";
2108
- case "INTERNATIONAL":
2109
- return s ? ($ = j(s, null, "INTERNATIONAL", r, d), $ = "+".concat(n, " ").concat($), J($, t.ext, r, d.formatExtension)) : "+".concat(n);
2110
- case "E.164":
2111
- return "+".concat(n).concat(s);
2112
- case "RFC3966":
2113
- return A0({
2114
- number: "+".concat(n).concat(s),
2115
- ext: t.ext
2116
- });
2117
- case "IDD":
2118
- if (!d.fromCountry)
2119
- return;
2120
- var o = M0(s, t.carrierCode, n, d.fromCountry, r);
2121
- return o ? J(o, t.ext, r, d.formatExtension) : void 0;
2122
- default:
2123
- throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(e, '"'));
2124
- }
2125
- }
2126
- function j(t, e, d, r, n) {
2127
- var s = L0(r.formats(), t);
2128
- return s ? T0(t, s, {
2129
- useInternationalFormat: d === "INTERNATIONAL",
2130
- withNationalPrefix: !(s.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && n && n.nationalPrefix === !1)
2131
- }) : t;
2132
- }
2133
- function L0(t, e) {
2134
- return B0(t, function(d) {
2135
- if (d.leadingDigitsPatterns().length > 0) {
2136
- var r = d.leadingDigitsPatterns()[d.leadingDigitsPatterns().length - 1];
2137
- if (e.search(r) !== 0)
2138
- return !1;
2139
- }
2140
- return m(e, d.pattern());
2141
- });
2142
- }
2143
- function J(t, e, d, r) {
2144
- return e ? r(t, e, d) : t;
2145
- }
2146
- function M0(t, e, d, r, n) {
2147
- var s = te(r, n.metadata);
2148
- if (s === d) {
2149
- var $ = j(t, e, "NATIONAL", n);
2150
- return d === "1" ? d + " " + $ : $;
2151
- }
2152
- var o = E0(r, void 0, n.metadata);
2153
- if (o)
2154
- return "".concat(o, " ").concat(d, " ").concat(j(t, null, "INTERNATIONAL", n));
2155
- }
2156
- function j0() {
2157
- for (var t = 1, e = arguments.length, d = new Array(e), r = 0; r < e; r++)
2158
- d[r] = arguments[r];
2159
- for (; t < d.length; ) {
2160
- if (d[t])
2161
- for (var n in d[t])
2162
- d[0][n] = d[t][n];
2163
- t++;
2164
- }
2165
- return d[0];
2166
- }
2167
- function B0(t, e) {
2168
- for (var d = 0; d < t.length; ) {
2169
- if (e(t[d]))
2170
- return t[d];
2171
- d++;
2172
- }
2173
- }
2174
- function _(t) {
2175
- "@babel/helpers - typeof";
2176
- return _ = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2177
- return typeof e;
2178
- } : function(e) {
2179
- return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2180
- }, _(t);
2181
- }
2182
- function me(t, e) {
2183
- var d = Object.keys(t);
2184
- if (Object.getOwnPropertySymbols) {
2185
- var r = Object.getOwnPropertySymbols(t);
2186
- e && (r = r.filter(function(n) {
2187
- return Object.getOwnPropertyDescriptor(t, n).enumerable;
2188
- })), d.push.apply(d, r);
2189
- }
2190
- return d;
2191
- }
2192
- function pe(t) {
2193
- for (var e = 1; e < arguments.length; e++) {
2194
- var d = arguments[e] != null ? arguments[e] : {};
2195
- e % 2 ? me(Object(d), !0).forEach(function(r) {
2196
- k0(t, r, d[r]);
2197
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : me(Object(d)).forEach(function(r) {
2198
- Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
2199
- });
2200
- }
2201
- return t;
2202
- }
2203
- function k0(t, e, d) {
2204
- return (e = ke(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
2205
- }
2206
- function U0(t, e) {
2207
- if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
2208
- }
2209
- function G0(t, e) {
2210
- for (var d = 0; d < e.length; d++) {
2211
- var r = e[d];
2212
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, ke(r.key), r);
2213
- }
2214
- }
2215
- function H0(t, e, d) {
2216
- return e && G0(t.prototype, e), Object.defineProperty(t, "prototype", { writable: !1 }), t;
2217
- }
2218
- function ke(t) {
2219
- var e = J0(t, "string");
2220
- return _(e) == "symbol" ? e : e + "";
2221
- }
2222
- function J0(t, e) {
2223
- if (_(t) != "object" || !t) return t;
2224
- var d = t[Symbol.toPrimitive];
2225
- if (d !== void 0) {
2226
- var r = d.call(t, e);
2227
- if (_(r) != "object") return r;
2228
- throw new TypeError("@@toPrimitive must return a primitive value.");
2229
- }
2230
- return String(t);
2231
- }
2232
- var V0 = /* @__PURE__ */ function() {
2233
- function t(e, d, r) {
2234
- if (U0(this, t), !e)
2235
- throw new TypeError("First argument is required");
2236
- if (typeof e != "string")
2237
- throw new TypeError("First argument must be a string");
2238
- if (e[0] === "+" && !d)
2239
- throw new TypeError("`metadata` argument not passed");
2240
- if (T(d) && T(d.countries)) {
2241
- r = d;
2242
- var n = e;
2243
- if (!q0.test(n))
2244
- throw new Error('Invalid `number` argument passed: must consist of a "+" followed by digits');
2245
- var s = je(n, void 0, void 0, void 0, r), $ = s.countryCallingCode, o = s.number;
2246
- if (d = o, e = $, !d)
2247
- throw new Error("Invalid `number` argument passed: too short");
2248
- }
2249
- if (!d)
2250
- throw new TypeError("`nationalNumber` argument is required");
2251
- if (typeof d != "string")
2252
- throw new TypeError("`nationalNumber` argument must be a string");
2253
- Ae(r);
2254
- var i = K0(e, r), a = i.country, u = i.countryCallingCode;
2255
- this.country = a, this.countryCallingCode = u, this.nationalNumber = d, this.number = "+" + this.countryCallingCode + this.nationalNumber, this.getMetadata = function() {
2256
- return r;
2257
- };
2258
- }
2259
- return H0(t, [{
2260
- key: "setExt",
2261
- value: function(d) {
2262
- this.ext = d;
2263
- }
2264
- }, {
2265
- key: "getPossibleCountries",
2266
- value: function() {
2267
- return this.country ? [this.country] : d0(this.countryCallingCode, this.nationalNumber, this.getMetadata());
2268
- }
2269
- }, {
2270
- key: "isPossible",
2271
- value: function() {
2272
- return Yt(this, {
2273
- v2: !0
2274
- }, this.getMetadata());
2275
- }
2276
- }, {
2277
- key: "isValid",
2278
- value: function() {
2279
- return t0(this, {
2280
- v2: !0
2281
- }, this.getMetadata());
2282
- }
2283
- }, {
2284
- key: "isNonGeographic",
2285
- value: function() {
2286
- var d = new f(this.getMetadata());
2287
- return d.isNonGeographicCallingCode(this.countryCallingCode);
2288
- }
2289
- }, {
2290
- key: "isEqual",
2291
- value: function(d) {
2292
- return this.number === d.number && this.ext === d.ext;
2293
- }
2294
- // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,
2295
- // but later it was found out that it doesn't include the possible `TOO_SHORT` result
2296
- // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,
2297
- // so eventually I simply commented out this method from the `PhoneNumber` class
2298
- // and just left the `validatePhoneNumberLength()` function, even though that one would require
2299
- // and additional step to also validate the actual country / calling code of the phone number.
2300
- // validateLength() {
2301
- // const metadata = new Metadata(this.getMetadata())
2302
- // metadata.selectNumberingPlan(this.countryCallingCode)
2303
- // const result = checkNumberLength(this.nationalNumber, metadata)
2304
- // if (result !== 'IS_POSSIBLE') {
2305
- // return result
2306
- // }
2307
- // }
2308
- }, {
2309
- key: "getType",
2310
- value: function() {
2311
- return re(this, {
2312
- v2: !0
2313
- }, this.getMetadata());
2314
- }
2315
- }, {
2316
- key: "format",
2317
- value: function(d, r) {
2318
- return D0(this, d, r ? pe(pe({}, r), {}, {
2319
- v2: !0
2320
- }) : {
2321
- v2: !0
2322
- }, this.getMetadata());
2323
- }
2324
- }, {
2325
- key: "formatNational",
2326
- value: function(d) {
2327
- return this.format("NATIONAL", d);
2328
- }
2329
- }, {
2330
- key: "formatInternational",
2331
- value: function(d) {
2332
- return this.format("INTERNATIONAL", d);
2333
- }
2334
- }, {
2335
- key: "getURI",
2336
- value: function(d) {
2337
- return this.format("RFC3966", d);
2338
- }
2339
- }]);
2340
- }(), W0 = function(e) {
2341
- return /^[A-Z]{2}$/.test(e);
2342
- };
2343
- function K0(t, e) {
2344
- var d, r, n = new f(e);
2345
- return W0(t) ? (d = t, n.selectNumberingPlan(d), r = n.countryCallingCode()) : r = t, {
2346
- country: d,
2347
- countryCallingCode: r
2348
- };
2349
- }
2350
- var q0 = /^\+\d+$/;
2351
- function Z(t) {
2352
- "@babel/helpers - typeof";
2353
- return Z = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2354
- return typeof e;
2355
- } : function(e) {
2356
- return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2357
- }, Z(t);
2358
- }
2359
- function Z0(t, e, d) {
2360
- return Object.defineProperty(t, "prototype", { writable: !1 }), t;
2361
- }
2362
- function X0(t, e) {
2363
- if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
2364
- }
2365
- function Y0(t, e, d) {
2366
- return e = S(e), z0(t, $e() ? Reflect.construct(e, d || [], S(t).constructor) : e.apply(t, d));
2367
- }
2368
- function z0(t, e) {
2369
- if (e && (Z(e) == "object" || typeof e == "function")) return e;
2370
- if (e !== void 0) throw new TypeError("Derived constructors may only return object or undefined");
2371
- return Q0(t);
2372
- }
2373
- function Q0(t) {
2374
- if (t === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
2375
- return t;
2376
- }
2377
- function e1(t, e) {
2378
- if (typeof e != "function" && e !== null) throw new TypeError("Super expression must either be null or a function");
2379
- t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && x(t, e);
2380
- }
2381
- function X(t) {
2382
- var e = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
2383
- return X = function(r) {
2384
- if (r === null || !d1(r)) return r;
2385
- if (typeof r != "function") throw new TypeError("Super expression must either be null or a function");
2386
- if (e !== void 0) {
2387
- if (e.has(r)) return e.get(r);
2388
- e.set(r, n);
2389
- }
2390
- function n() {
2391
- return t1(r, arguments, S(this).constructor);
2392
- }
2393
- return n.prototype = Object.create(r.prototype, { constructor: { value: n, enumerable: !1, writable: !0, configurable: !0 } }), x(n, r);
2394
- }, X(t);
2395
- }
2396
- function t1(t, e, d) {
2397
- if ($e()) return Reflect.construct.apply(null, arguments);
2398
- var r = [null];
2399
- r.push.apply(r, e);
2400
- var n = new (t.bind.apply(t, r))();
2401
- return d && x(n, d.prototype), n;
2402
- }
2403
- function $e() {
2404
- try {
2405
- var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
2406
- }));
2407
- } catch {
2408
- }
2409
- return ($e = function() {
2410
- return !!t;
2411
- })();
2412
- }
2413
- function d1(t) {
2414
- try {
2415
- return Function.toString.call(t).indexOf("[native code]") !== -1;
2416
- } catch {
2417
- return typeof t == "function";
2418
- }
2419
- }
2420
- function x(t, e) {
2421
- return x = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(d, r) {
2422
- return d.__proto__ = r, d;
2423
- }, x(t, e);
2424
- }
2425
- function S(t) {
2426
- return S = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) {
2427
- return e.__proto__ || Object.getPrototypeOf(e);
2428
- }, S(t);
2429
- }
2430
- var g = /* @__PURE__ */ function(t) {
2431
- function e(d) {
2432
- var r;
2433
- return X0(this, e), r = Y0(this, e, [d]), Object.setPrototypeOf(r, e.prototype), r.name = r.constructor.name, r;
2434
- }
2435
- return e1(e, t), Z0(e);
2436
- }(/* @__PURE__ */ X(Error)), be = new RegExp("(?:" + Be() + ")$", "i");
2437
- function r1(t) {
2438
- var e = t.search(be);
2439
- if (e < 0)
2440
- return {};
2441
- for (var d = t.slice(0, e), r = t.match(be), n = 1; n < r.length; ) {
2442
- if (r[n])
2443
- return {
2444
- number: d,
2445
- ext: r[n]
2446
- };
2447
- n++;
2448
- }
2449
- }
2450
- var n1 = {
2451
- 0: "0",
2452
- 1: "1",
2453
- 2: "2",
2454
- 3: "3",
2455
- 4: "4",
2456
- 5: "5",
2457
- 6: "6",
2458
- 7: "7",
2459
- 8: "8",
2460
- 9: "9",
2461
- "0": "0",
2462
- // Fullwidth digit 0
2463
- "1": "1",
2464
- // Fullwidth digit 1
2465
- "2": "2",
2466
- // Fullwidth digit 2
2467
- "3": "3",
2468
- // Fullwidth digit 3
2469
- "4": "4",
2470
- // Fullwidth digit 4
2471
- "5": "5",
2472
- // Fullwidth digit 5
2473
- "6": "6",
2474
- // Fullwidth digit 6
2475
- "7": "7",
2476
- // Fullwidth digit 7
2477
- "8": "8",
2478
- // Fullwidth digit 8
2479
- "9": "9",
2480
- // Fullwidth digit 9
2481
- "٠": "0",
2482
- // Arabic-indic digit 0
2483
- "١": "1",
2484
- // Arabic-indic digit 1
2485
- "٢": "2",
2486
- // Arabic-indic digit 2
2487
- "٣": "3",
2488
- // Arabic-indic digit 3
2489
- "٤": "4",
2490
- // Arabic-indic digit 4
2491
- "٥": "5",
2492
- // Arabic-indic digit 5
2493
- "٦": "6",
2494
- // Arabic-indic digit 6
2495
- "٧": "7",
2496
- // Arabic-indic digit 7
2497
- "٨": "8",
2498
- // Arabic-indic digit 8
2499
- "٩": "9",
2500
- // Arabic-indic digit 9
2501
- "۰": "0",
2502
- // Eastern-Arabic digit 0
2503
- "۱": "1",
2504
- // Eastern-Arabic digit 1
2505
- "۲": "2",
2506
- // Eastern-Arabic digit 2
2507
- "۳": "3",
2508
- // Eastern-Arabic digit 3
2509
- "۴": "4",
2510
- // Eastern-Arabic digit 4
2511
- "۵": "5",
2512
- // Eastern-Arabic digit 5
2513
- "۶": "6",
2514
- // Eastern-Arabic digit 6
2515
- "۷": "7",
2516
- // Eastern-Arabic digit 7
2517
- "۸": "8",
2518
- // Eastern-Arabic digit 8
2519
- "۹": "9"
2520
- // Eastern-Arabic digit 9
2521
- };
2522
- function s1(t) {
2523
- return n1[t];
2524
- }
2525
- function $1(t, e) {
2526
- var d = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
2527
- if (d) return (d = d.call(t)).next.bind(d);
2528
- if (Array.isArray(t) || (d = i1(t)) || e) {
2529
- d && (t = d);
2530
- var r = 0;
2531
- return function() {
2532
- return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
2533
- };
2534
- }
2535
- throw new TypeError(`Invalid attempt to iterate non-iterable instance.
2536
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
2537
- }
2538
- function i1(t, e) {
2539
- if (t) {
2540
- if (typeof t == "string") return ve(t, e);
2541
- var d = {}.toString.call(t).slice(8, -1);
2542
- 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) ? ve(t, e) : void 0;
2543
- }
2544
- }
2545
- function ve(t, e) {
2546
- (e == null || e > t.length) && (e = t.length);
2547
- for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
2548
- return r;
2549
- }
2550
- function Pe(t) {
2551
- for (var e = "", d = $1(t.split("")), r; !(r = d()).done; ) {
2552
- var n = r.value;
2553
- e += o1(n, e) || "";
2554
- }
2555
- return e;
2556
- }
2557
- function o1(t, e, d) {
2558
- return t === "+" ? e ? void 0 : "+" : s1(t);
2559
- }
2560
- var Ue = "+", a1 = "[\\-\\.\\(\\)]?", Ne = "([" + y + "]|" + a1 + ")", u1 = "^\\" + Ue + Ne + "*[" + y + "]" + Ne + "*$", l1 = new RegExp(u1, "g"), Y = y, c1 = "[" + Y + "]+((\\-)*[" + Y + "])*", f1 = "a-zA-Z", h1 = "[" + f1 + "]+((\\-)*[" + Y + "])*", y1 = "^(" + c1 + "\\.)*" + h1 + "\\.?$", g1 = new RegExp(y1, "g"), Te = "tel:", z = ";phone-context=", m1 = ";isub=";
2561
- function p1(t) {
2562
- var e = t.indexOf(z);
2563
- if (e < 0)
2564
- return null;
2565
- var d = e + z.length;
2566
- if (d >= t.length)
2567
- return "";
2568
- var r = t.indexOf(";", d);
2569
- return r >= 0 ? t.substring(d, r) : t.substring(d);
2570
- }
2571
- function b1(t) {
2572
- return t === null ? !0 : t.length === 0 ? !1 : l1.test(t) || g1.test(t);
2573
- }
2574
- function v1(t, e) {
2575
- var d = e.extractFormattedPhoneNumber, r = p1(t);
2576
- if (!b1(r))
2577
- throw new g("NOT_A_NUMBER");
2578
- var n;
2579
- if (r === null)
2580
- n = d(t) || "";
2581
- else {
2582
- n = "", r.charAt(0) === Ue && (n += r);
2583
- var s = t.indexOf(Te), $;
2584
- s >= 0 ? $ = s + Te.length : $ = 0;
2585
- var o = t.indexOf(z);
2586
- n += t.substring($, o);
2587
- }
2588
- var i = n.indexOf(m1);
2589
- if (i > 0 && (n = n.substring(0, i)), n !== "")
2590
- return n;
2591
- }
2592
- var P1 = 250, N1 = new RegExp("[" + se + y + "]"), T1 = new RegExp("[^" + y + "#]+$");
2593
- function C1(t, e, d) {
2594
- if (e = e || {}, d = new f(d), e.defaultCountry && !d.hasCountry(e.defaultCountry))
2595
- throw e.v2 ? new g("INVALID_COUNTRY") : new Error("Unknown country: ".concat(e.defaultCountry));
2596
- var r = O1(t, e.v2, e.extract), n = r.number, s = r.ext, $ = r.error;
2597
- if (!n) {
2598
- if (e.v2)
2599
- throw $ === "TOO_SHORT" ? new g("TOO_SHORT") : new g("NOT_A_NUMBER");
2600
- return {};
2601
- }
2602
- var o = x1(n, e.defaultCountry, e.defaultCallingCode, d), i = o.country, a = o.nationalNumber, u = o.countryCallingCode, l = o.countryCallingCodeSource, h = o.carrierCode;
2603
- if (!d.hasSelectedNumberingPlan()) {
2604
- if (e.v2)
2605
- throw new g("INVALID_COUNTRY");
2606
- return {};
2607
- }
2608
- if (!a || a.length < ne) {
2609
- if (e.v2)
2610
- throw new g("TOO_SHORT");
2611
- return {};
2612
- }
2613
- if (a.length > n0) {
2614
- if (e.v2)
2615
- throw new g("TOO_LONG");
2616
- return {};
2617
- }
2618
- if (e.v2) {
2619
- var b = new V0(u, a, d.metadata);
2620
- return i && (b.country = i), h && (b.carrierCode = h), s && (b.ext = s), b.__countryCallingCodeSource = l, b;
2621
- }
2622
- var P = (e.extended ? d.hasSelectedNumberingPlan() : i) ? m(a, d.nationalNumberPattern()) : !1;
2623
- return e.extended ? {
2624
- country: i,
2625
- countryCallingCode: u,
2626
- carrierCode: h,
2627
- valid: P,
2628
- possible: P ? !0 : !!(e.extended === !0 && d.possibleLengths() && Le(a, i, d)),
2629
- phone: a,
2630
- ext: s
2631
- } : P ? _1(i, a, s) : {};
2632
- }
2633
- function E1(t, e, d) {
2634
- if (t) {
2635
- if (t.length > P1) {
2636
- if (d)
2637
- throw new g("TOO_LONG");
2638
- return;
2639
- }
2640
- if (e === !1)
2641
- return t;
2642
- var r = t.search(N1);
2643
- if (!(r < 0))
2644
- return t.slice(r).replace(T1, "");
2645
- }
2646
- }
2647
- function O1(t, e, d) {
2648
- var r = v1(t, {
2649
- extractFormattedPhoneNumber: function($) {
2650
- return E1($, d, e);
2651
- }
2652
- });
2653
- if (!r)
2654
- return {};
2655
- if (!F0(r))
2656
- return w0(r) ? {
2657
- error: "TOO_SHORT"
2658
- } : {};
2659
- var n = r1(r);
2660
- return n.ext ? n : {
2661
- number: r
2662
- };
2663
- }
2664
- function _1(t, e, d) {
2665
- var r = {
2666
- country: t,
2667
- phone: e
2668
- };
2669
- return d && (r.ext = d), r;
2670
- }
2671
- function x1(t, e, d, r) {
2672
- var n = je(Pe(t), void 0, e, d, r.metadata), s = n.countryCallingCodeSource, $ = n.countryCallingCode, o = n.number, i;
2673
- if ($)
2674
- r.selectNumberingPlan($);
2675
- else if (o && (e || d))
2676
- r.selectNumberingPlan(e, d), e && (i = e), $ = d || te(e, r.metadata);
2677
- else return {};
2678
- if (!o)
2679
- return {
2680
- countryCallingCodeSource: s,
2681
- countryCallingCode: $
2682
- };
2683
- var a = q(Pe(o), i, r), u = a.nationalNumber, l = a.carrierCode, h = Me($, {
2684
- nationalNumber: u,
2685
- metadata: r
2686
- });
2687
- return h && (i = h, h === "001" || r.selectNumberingPlan(i)), {
2688
- country: i,
2689
- countryCallingCode: $,
2690
- countryCallingCodeSource: s,
2691
- nationalNumber: u,
2692
- carrierCode: l
2693
- };
2694
- }
2695
- function R(t) {
2696
- "@babel/helpers - typeof";
2697
- return R = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2698
- return typeof e;
2699
- } : function(e) {
2700
- return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2701
- }, R(t);
2702
- }
2703
- function Ce(t, e) {
2704
- var d = Object.keys(t);
2705
- if (Object.getOwnPropertySymbols) {
2706
- var r = Object.getOwnPropertySymbols(t);
2707
- e && (r = r.filter(function(n) {
2708
- return Object.getOwnPropertyDescriptor(t, n).enumerable;
2709
- })), d.push.apply(d, r);
2710
- }
2711
- return d;
2712
- }
2713
- function Ee(t) {
2714
- for (var e = 1; e < arguments.length; e++) {
2715
- var d = arguments[e] != null ? arguments[e] : {};
2716
- e % 2 ? Ce(Object(d), !0).forEach(function(r) {
2717
- S1(t, r, d[r]);
2718
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : Ce(Object(d)).forEach(function(r) {
2719
- Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
2720
- });
2721
- }
2722
- return t;
2723
- }
2724
- function S1(t, e, d) {
2725
- return (e = R1(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
2726
- }
2727
- function R1(t) {
2728
- var e = I1(t, "string");
2729
- return R(e) == "symbol" ? e : e + "";
2730
- }
2731
- function I1(t, e) {
2732
- if (R(t) != "object" || !t) return t;
2733
- var d = t[Symbol.toPrimitive];
2734
- if (d !== void 0) {
2735
- var r = d.call(t, e);
2736
- if (R(r) != "object") return r;
2737
- throw new TypeError("@@toPrimitive must return a primitive value.");
2738
- }
2739
- return (e === "string" ? String : Number)(t);
2740
- }
2741
- function Ge(t, e, d) {
2742
- return C1(t, Ee(Ee({}, e), {}, {
2743
- v2: !0
2744
- }), d);
2745
- }
2746
- function I(t) {
2747
- "@babel/helpers - typeof";
2748
- return I = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2749
- return typeof e;
2750
- } : function(e) {
2751
- return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2752
- }, I(t);
2753
- }
2754
- function Oe(t, e) {
2755
- var d = Object.keys(t);
2756
- if (Object.getOwnPropertySymbols) {
2757
- var r = Object.getOwnPropertySymbols(t);
2758
- e && (r = r.filter(function(n) {
2759
- return Object.getOwnPropertyDescriptor(t, n).enumerable;
2760
- })), d.push.apply(d, r);
2761
- }
2762
- return d;
2763
- }
2764
- function F1(t) {
2765
- for (var e = 1; e < arguments.length; e++) {
2766
- var d = arguments[e] != null ? arguments[e] : {};
2767
- e % 2 ? Oe(Object(d), !0).forEach(function(r) {
2768
- w1(t, r, d[r]);
2769
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : Oe(Object(d)).forEach(function(r) {
2770
- Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
2771
- });
2772
- }
2773
- return t;
2774
- }
2775
- function w1(t, e, d) {
2776
- return (e = A1(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
2777
- }
2778
- function A1(t) {
2779
- var e = D1(t, "string");
2780
- return I(e) == "symbol" ? e : e + "";
2781
- }
2782
- function D1(t, e) {
2783
- if (I(t) != "object" || !t) return t;
2784
- var d = t[Symbol.toPrimitive];
2785
- if (d !== void 0) {
2786
- var r = d.call(t, e);
2787
- if (I(r) != "object") return r;
2788
- throw new TypeError("@@toPrimitive must return a primitive value.");
2789
- }
2790
- return (e === "string" ? String : Number)(t);
2791
- }
2792
- function L1(t, e) {
2793
- return k1(t) || B1(t, e) || j1(t, e) || M1();
2794
- }
2795
- function M1() {
2796
- throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2797
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
2798
- }
2799
- function j1(t, e) {
2800
- if (t) {
2801
- if (typeof t == "string") return _e(t, e);
2802
- var d = {}.toString.call(t).slice(8, -1);
2803
- 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) ? _e(t, e) : void 0;
2804
- }
2805
- }
2806
- function _e(t, e) {
2807
- (e == null || e > t.length) && (e = t.length);
2808
- for (var d = 0, r = Array(e); d < e; d++) r[d] = t[d];
2809
- return r;
2810
- }
2811
- function B1(t, e) {
2812
- var d = t == null ? null : typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
2813
- if (d != null) {
2814
- var r, n, s, $, o = [], i = !0, a = !1;
2815
- try {
2816
- if (s = (d = d.call(t)).next, e !== 0) for (; !(i = (r = s.call(d)).done) && (o.push(r.value), o.length !== e); i = !0) ;
2817
- } catch (u) {
2818
- a = !0, n = u;
2819
- } finally {
2820
- try {
2821
- if (!i && d.return != null && ($ = d.return(), Object($) !== $)) return;
2822
- } finally {
2823
- if (a) throw n;
2824
- }
2825
- }
2826
- return o;
2827
- }
2828
- }
2829
- function k1(t) {
2830
- if (Array.isArray(t)) return t;
2831
- }
2832
- function He(t) {
2833
- var e = Array.prototype.slice.call(t), d = L1(e, 4), r = d[0], n = d[1], s = d[2], $ = d[3], o, i, a;
2834
- if (typeof r == "string")
2835
- o = r;
2836
- else throw new TypeError("A text for parsing must be a string.");
2837
- if (!n || typeof n == "string")
2838
- $ ? (i = s, a = $) : (i = void 0, a = s), n && (i = F1({
2839
- defaultCountry: n
2840
- }, i));
2841
- else if (T(n))
2842
- s ? (i = n, a = s) : a = n;
2843
- else throw new Error("Invalid second argument: ".concat(n));
2844
- return {
2845
- text: o,
2846
- options: i,
2847
- metadata: a
2848
- };
2849
- }
2850
- function U1() {
2851
- var t = He(arguments), e = t.text, d = t.options, r = t.metadata;
2852
- return Ge(e, d, r);
2853
- }
2854
- function F(t) {
2855
- "@babel/helpers - typeof";
2856
- return F = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2857
- return typeof e;
2858
- } : function(e) {
2859
- return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2860
- }, F(t);
2861
- }
2862
- function xe(t, e) {
2863
- var d = Object.keys(t);
2864
- if (Object.getOwnPropertySymbols) {
2865
- var r = Object.getOwnPropertySymbols(t);
2866
- e && (r = r.filter(function(n) {
2867
- return Object.getOwnPropertyDescriptor(t, n).enumerable;
2868
- })), d.push.apply(d, r);
2869
- }
2870
- return d;
2871
- }
2872
- function Se(t) {
2873
- for (var e = 1; e < arguments.length; e++) {
2874
- var d = arguments[e] != null ? arguments[e] : {};
2875
- e % 2 ? xe(Object(d), !0).forEach(function(r) {
2876
- G1(t, r, d[r]);
2877
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : xe(Object(d)).forEach(function(r) {
2878
- Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
2879
- });
2880
- }
2881
- return t;
2882
- }
2883
- function G1(t, e, d) {
2884
- return (e = H1(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
2885
- }
2886
- function H1(t) {
2887
- var e = J1(t, "string");
2888
- return F(e) == "symbol" ? e : e + "";
2889
- }
2890
- function J1(t, e) {
2891
- if (F(t) != "object" || !t) return t;
2892
- var d = t[Symbol.toPrimitive];
2893
- if (d !== void 0) {
2894
- var r = d.call(t, e);
2895
- if (F(r) != "object") return r;
2896
- throw new TypeError("@@toPrimitive must return a primitive value.");
2897
- }
2898
- return (e === "string" ? String : Number)(t);
2899
- }
2900
- function V1(t, e, d) {
2901
- e && e.defaultCountry && !Zt(e.defaultCountry, d) && (e = Se(Se({}, e), {}, {
2902
- defaultCountry: void 0
2903
- }));
2904
- try {
2905
- return Ge(t, e, d);
2906
- } catch (r) {
2907
- if (!(r instanceof g)) throw r;
2908
- }
2909
- }
2910
- function w(t) {
2911
- "@babel/helpers - typeof";
2912
- return w = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
2913
- return typeof e;
2914
- } : function(e) {
2915
- return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2916
- }, w(t);
2917
- }
2918
- function Re(t, e) {
2919
- var d = Object.keys(t);
2920
- if (Object.getOwnPropertySymbols) {
2921
- var r = Object.getOwnPropertySymbols(t);
2922
- e && (r = r.filter(function(n) {
2923
- return Object.getOwnPropertyDescriptor(t, n).enumerable;
2924
- })), d.push.apply(d, r);
2925
- }
2926
- return d;
2927
- }
2928
- function Ie(t) {
2929
- for (var e = 1; e < arguments.length; e++) {
2930
- var d = arguments[e] != null ? arguments[e] : {};
2931
- e % 2 ? Re(Object(d), !0).forEach(function(r) {
2932
- W1(t, r, d[r]);
2933
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(d)) : Re(Object(d)).forEach(function(r) {
2934
- Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(d, r));
2935
- });
2936
- }
2937
- return t;
2938
- }
2939
- function W1(t, e, d) {
2940
- return (e = K1(e)) in t ? Object.defineProperty(t, e, { value: d, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = d, t;
2941
- }
2942
- function K1(t) {
2943
- var e = q1(t, "string");
2944
- return w(e) == "symbol" ? e : e + "";
2945
- }
2946
- function q1(t, e) {
2947
- if (w(t) != "object" || !t) return t;
2948
- var d = t[Symbol.toPrimitive];
2949
- if (d !== void 0) {
2950
- var r = d.call(t, e);
2951
- if (w(r) != "object") return r;
2952
- throw new TypeError("@@toPrimitive must return a primitive value.");
2953
- }
2954
- return (e === "string" ? String : Number)(t);
2955
- }
2956
- function Z1() {
2957
- var t = He(arguments), e = t.text, d = t.options, r = t.metadata;
2958
- d = Ie(Ie({}, d), {}, {
2959
- extract: !1
2960
- });
2961
- var n = V1(e, d, r);
2962
- return n && n.isValid() || !1;
2963
- }
2964
- function X1() {
2965
- return we(U1, arguments);
2966
- }
2967
- function Y1() {
2968
- return we(Z1, arguments);
2969
- }
2970
- function yd(t) {
2971
- if (!Y1(t)) return !1;
2972
- const e = X1(t), d = e == null ? void 0 : e.country;
2973
- return !(!d || !et.find((n) => n.iso === d));
2974
- }
2975
- function gd(t) {
2976
- if (!t || !/^[0-9a-zA-Z.-]+$/.test(t)) return !1;
2977
- const d = t.replace(/[^a-zA-Z0-9]/g, "");
2978
- return d.length < 7 || d.length > 9 ? !1 : /^[0-9]{7,8}[0-9Xx]?$/.test(d);
2979
- }
2980
- export {
2981
- rd as ApiService,
2982
- tt as BadGateway,
2983
- V as BadRequest,
2984
- dt as Conflict,
2985
- it as Created,
2986
- ee as DebugService,
2987
- rt as Forbidden,
2988
- ot as Found,
2989
- Fe as LogService,
2990
- at as NoContent,
2991
- nt as NotFound,
2992
- st as NotImplemented,
2993
- od as SchemaValidator,
2994
- W as ServerError,
2995
- ut as Success,
2996
- $t as Unauthorized,
2997
- K as UnprocessableEntity,
2998
- lt as Updated,
2999
- nd as decodeRequestBody,
3000
- sd as decodeRequestErrorMessage,
3001
- $d as errorHandler,
3002
- C as flushDebugLogs,
3003
- bt as formAsyncParse,
3004
- vt as formParse,
3005
- id as getScopedParams,
3006
- ad as validateCep,
3007
- ud as validateCnpj,
3008
- ld as validateCpf,
3009
- cd as validateDate,
3010
- fd as validateEmail,
3011
- hd as validatePassword,
3012
- yd as validatePhone,
3013
- gd as validateRg
3014
- };