@Regexes = (
 [ "NURL_ho",
   '^([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 1, 4 ],
   "NURL_NO_PROTO | NURL_NO_PORT",
 ],
 [ "NURL_hore",
   '^([a-z0-9#-][a-z0-9.#-]*?)/(|/*?.+)$',
   [ 2, 4, 6 ],
   "NURL_NO_PROTO | NURL_NO_PORT",
 ],
 [ "NURL_hoCpo",
   '^([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)$',
   [ 2, 4, 5 ],
   "NURL_NO_PROTO",
 ],
 [ "NURL_hoCpore",
   '^([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)/(|/*?.+)$',
   [ 3, 4, 5, 6 ],
   "NURL_NO_PROTO",
 ],
 [ "NURL_prCho",
   '^([a-z][a-z0-9]+)://([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 2, 1, 4 ],
   "NURL_NO_PORT",
 ],
 [ "NURL_prChore",
   '^([a-z][a-z0-9]+)://([a-z0-9#-][a-z0-9.#-]*?)/(|/*?.+)$',
   [ 3, 1, 4, 6 ],
   "NURL_NO_PORT",
 ],
 [ "NURL_prChoCpo",
   '^([a-z][a-z0-9]+)://([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)$',
   [ 3, 1, 4, 5 ],
   "",
 ],
 [ "NURL_prChoCpore",
   '^([a-z][a-z0-9]+)://([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)/(|/*?.+)$',
   [ 4, 1, 4, 5, 6 ],
   "",
 ],
 [ "NURL_maCusATho",
   '^mailto:([^-][^:@/]*?)@([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 2, 2, 4 ],
   "",
 ],
 [ "NURL_usATho",
   '^([^-][^:@/]*?)@([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 2, 2, 4 ],
   "NURL_NO_PROTO",
 ],
 [ "NURL_usCATho",
   '^([^-][^:@/]*?):@([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 2, 2, 4 ],
   "NURL_NO_PASS | NURL_NO_PROTO | NURL_NO_PORT",
 ],
 [ "NURL_usCAThore",
   '^([^-][^:@/]*?):@([a-z0-9#-][a-z0-9.#-]*?)/(|/*?.+)$',
   [ 3, 2, 4, 6 ],
   "NURL_NO_PASS | NURL_NO_PROTO | NURL_NO_PORT",
 ],
 [ "NURL_usCAThoCpo",
   '^([^-][^:@/]*?):@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)$',
   [ 3, 2, 4, 5 ],
   "NURL_NO_PASS | NURL_NO_PROTO",
 ],
 [ "NURL_usCAThoCpore",
   '^([^-][^:@/]*?):@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)/(|/*?.+)$',
   [ 4, 2, 4, 5, 6 ],
   "NURL_NO_PASS | NURL_NO_PROTO",
 ],
 [ "NURL_CpaATho",
   '^:([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 2, 3, 4 ],
   "NURL_NO_USER | NURL_NO_PROTO | NURL_NO_PORT",
 ],
 [ "NURL_CpaAThore",
   '^:([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?)/(|/*?.+)$',
   [ 3, 3, 4, 6 ],
   "NURL_NO_USER | NURL_NO_PROTO | NURL_NO_PORT",
 ],
 [ "NURL_CpaAThoCpo",
   '^:([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)$',
   [ 3, 3, 4, 5 ],
   "NURL_NO_USER | NURL_NO_PROTO",
 ],
 [ "NURL_CpaAThoCpore",
   '^:([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)/(|/*?.+)$',
   [ 4, 3, 4, 5, 6 ],
   "NURL_NO_USER | NURL_NO_PROTO",
 ],
 [ "NURL_usCpaATho",
   '^([^-][^:@/]*?):([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 3, 2, 3, 4 ],
   "NURL_NO_PROTO | NURL_NO_PORT",
 ],
 [ "NURL_usCpaAThore",
   '^([^-][^:@/]*?):([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?)/(|/*?.+)$',
   [ 4, 2, 3, 4, 6 ],
   "NURL_NO_PROTO | NURL_NO_PORT",
 ],
 [ "NURL_usCpaAThoCpo",
   '^([^-][^:@/]*?):([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)$',
   [ 4, 2, 3, 4, 5 ],
   "NURL_NO_PROTO",
 ],
 [ "NURL_usCpaAThoCpore",
   '^([^-][^:@/]*?):([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)/(|/*?.+)$',
   [ 5, 2, 3, 4, 5, 6 ],
   "NURL_NO_PROTO",
 ],
 [ "NURL_CATho",
   '^:@([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 1, 4 ],
   "NURL_NO_AUTH | NURL_NO_PROTO | NURL_NO_PORT",
 ],
 [ "NURL_CAThore",
   '^:@([a-z0-9#-][a-z0-9.#-]*?)/(|/*?.+)$',
   [ 2, 4, 6 ],
   "NURL_NO_AUTH | NURL_NO_PROTO | NURL_NO_PORT",
 ],
 [ "NURL_CAThoCpo",
   '^:@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)$',
   [ 2, 4, 5 ],
   "NURL_NO_AUTH | NURL_NO_PROTO",
 ],
 [ "NURL_CAThoCpore",
   '^:@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)/(|/*?.+)$',
   [ 3, 4, 5, 6 ],
   "NURL_NO_AUTH | NURL_NO_PROTO",
 ],
 [ "NURL_prCusCATho",
   '^([a-z][a-z0-9]+)://([^-][^:@/]*?):@([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 3, 1, 2, 4 ],
   "NURL_NO_PASS | NURL_NO_PORT",
 ],
 [ "NURL_prCusCAThore",
   '^([a-z][a-z0-9]+)://([^-][^:@/]*?):@([a-z0-9#-][a-z0-9.#-]*?)/(|/*?.+)$',
   [ 4, 1, 2, 4, 6 ],
   "NURL_NO_PASS | NURL_NO_PORT",
 ],
 [ "NURL_prCusCAThoCpo",
   '^([a-z][a-z0-9]+)://([^-][^:@/]*?):@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)$',
   [ 4, 1, 2, 4, 5 ],
   "NURL_NO_PASS",
 ],
 [ "NURL_prCusCAThoCpore",
   '^([a-z][a-z0-9]+)://([^-][^:@/]*?):@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)/(|/*?.+)$',
   [ 5, 1, 2, 4, 5, 6 ],
   "NURL_NO_PASS",
 ],
 [ "NURL_prCCpaATho",
   '^([a-z][a-z0-9]+)://:([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 3, 1, 3, 4 ],
   "NURL_NO_USER | NURL_NO_PORT",
 ],
 [ "NURL_prCCpaAThore",
   '^([a-z][a-z0-9]+)://:([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?)/(|/*?.+)$',
   [ 4, 1, 3, 4, 6 ],
   "NURL_NO_USER | NURL_NO_PORT",
 ],
 [ "NURL_prCCpaAThoCpo",
   '^([a-z][a-z0-9]+)://:([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)$',
   [ 4, 1, 3, 4, 5 ],
   "NURL_NO_USER",
 ],
 [ "NURL_prCCpaAThoCpore",
   '^([a-z][a-z0-9]+)://:([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)/(|/*?.+)$',
   [ 5, 1, 3, 4, 5, 6 ],
   "NURL_NO_USER",
 ],
 [ "NURL_prCusCpaATho",
   '^([a-z][a-z0-9]+)://([^-][^:@/]*?):([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 4, 1, 2, 3, 4 ],
   "NURL_NO_PORT",
 ],
 [ "NURL_prCusCpaAThore",
   '^([a-z][a-z0-9]+)://([^-][^:@/]*?):([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?)/(|/*?.+)$',
   [ 5, 1, 2, 3, 4, 6 ],
   "NURL_NO_PORT",
 ],
 [ "NURL_prCusCpaAThoCpo",
   '^([a-z][a-z0-9]+)://([^-][^:@/]*?):([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)$',
   [ 5, 1, 2, 3, 4, 5 ],
   "",
 ],
 [ "NURL_prCusCpaAThoCpore",
   '^([a-z][a-z0-9]+)://([^-][^:@/]*?):([^/]+?)@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)/(|/*?.+)$',
   [ 6, 1, 2, 3, 4, 5, 6 ],
   "",
 ],
 [ "NURL_prCCATho",
   '^([a-z][a-z0-9]+)://:@([a-z0-9#-][a-z0-9.#-]*?)$',
   [ 2, 1, 4 ],
   "NURL_NO_AUTH | NURL_NO_PORT",
 ],
 [ "NURL_prCCAThore",
   '^([a-z][a-z0-9]+)://:@([a-z0-9#-][a-z0-9.#-]*?)/(|/*?.+)$',
   [ 3, 1, 4, 6 ],
   "NURL_NO_AUTH | NURL_NO_PORT",
 ],
 [ "NURL_prCCAThoCpo",
   '^([a-z][a-z0-9]+)://:@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)$',
   [ 3, 1, 4, 5 ],
   "NURL_NO_AUTH",
 ],
 [ "NURL_prCCAThoCpore",
   '^([a-z][a-z0-9]+)://:@([a-z0-9#-][a-z0-9.#-]*?):([0-9]+)/(|/*?.+)$',
   [ 4, 1, 4, 5, 6 ],
   "NURL_NO_AUTH",
 ],
 [ "NURL_fiCre",
   '^(file)://(|/*?.+)$',
   [ 2, 1, 6 ],
   "NURL_NO_HOST | NURL_NO_PORT",
 ],
 [ "NURL_re",
   '^/(|/*?.+)$',
   [ 1, 6 ],
   "NURL_NO_PROTO | NURL_NO_HOST | NURL_NO_PORT",
 ],
 [ "NURL_Tre",
   '^~(|/*?.+)$',
   [ 1, 6 ],
   "NURL_NO_PROTO | NURL_NO_HOST | NURL_NO_PORT",
 ],
 [ "NURL_Dre",
   '^\\\\.(|/*?.+)$',
   [ 1, 6 ],
   "NURL_NO_PROTO | NURL_NO_HOST | NURL_NO_PORT",
 ],
 [ "NURL_SMBma",
   '^\\\\\\\\\\\\\\\\([a-z0-9_-][a-z0-9._-]*?)$',
   [ 1, 4 ],
   "",
 ],
 [ "NURL_SMBmare",
   '^\\\\\\\\\\\\\\\\([a-z0-9_-][a-z0-9._-]*?)\\\\\\\\(|/*?.+)$',
   [ 2, 4, 6 ],
   "",
 ],
 [ "NURL_SMB",
   '^\\\\\\\\\\\\\\\\$',
   [ 0,  ],
   "NURL_NO_HOST",
 ],
);
1;
