The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# automatically generated file, don't edit



# Copyright 2011 David Cantrell, derived from data from libphonenumber
# http://code.google.com/p/libphonenumber/
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
package Number::Phone::StubCountry::NA;
use base qw(Number::Phone::StubCountry);

use strict;
use warnings;
use utf8;
our $VERSION = 1.20150720205435;

my $formatters = [{'pattern' => '(8\\d)(\\d{3})(\\d{4})','leading_digits' => '8[1235]'},{'pattern' => '(6\\d)(\\d{2,3})(\\d{4})','leading_digits' => '6'},{'pattern' => '(88)(\\d{3})(\\d{3})','leading_digits' => '88'},{'pattern' => '(870)(\\d{3})(\\d{3})','leading_digits' => '870'}];
my $validators = {'mobile' => '(?:60|8[125])\\d{7}','voip' => '8(?:3\\d{2}|86)\\d{5}','special_rate' => '(8701\\d{5})','pager' => '','personal_number' => '','fixed_line' => '6(?:1(?:17|2(?:[0189]\\d|[2-6]|7\\d?)|3(?:[01378]|2\\d)|4[01]|69|7[014])|2(?:17|5(?:[0-36-8]|4\\d?)|69|70)|3(?:17|2(?:[0237]\\d?|[14-689])|34|6[29]|7[01]|81)|4(?:17|2(?:[012]|7?)|4(?:[06]|1\\d)|5(?:[01357]|[25]\\d?)|69|7[01])|5(?:17|2(?:[0459]|[23678]\\d?)|69|7[01])|6(?:17|2(?:5|6\\d?)|38|42|69|7[01])|7(?:17|2(?:[569]|[234]\\d?)|3(?:0\\d?|[13])|69|7[01]))\\d{4}','toll_free' => '','geographic' => '6(?:1(?:17|2(?:[0189]\\d|[2-6]|7\\d?)|3(?:[01378]|2\\d)|4[01]|69|7[014])|2(?:17|5(?:[0-36-8]|4\\d?)|69|70)|3(?:17|2(?:[0237]\\d?|[14-689])|34|6[29]|7[01]|81)|4(?:17|2(?:[012]|7?)|4(?:[06]|1\\d)|5(?:[01357]|[25]\\d?)|69|7[01])|5(?:17|2(?:[0459]|[23678]\\d?)|69|7[01])|6(?:17|2(?:5|6\\d?)|38|42|69|7[01])|7(?:17|2(?:[569]|[234]\\d?)|3(?:0\\d?|[13])|69|7[01]))\\d{4}'};sub areaname { my $self = shift; my $number = $self->{number}; my %map = (26461 => "Windhoek",264621730 => "Babi\-Babi",264621732 => "Buitepos",264621734 => "Drimiopsis",264621735 => "Eland",264621737 => "Friedental",264621738 => "Gobabis",264621739 => "Gobabis",264621740 => "Gobabis",264621741 => "Groot\–Aub",264621743 => "Hochland",264621746 => "Many\ Hills",264621747 => "Namib\ Grens",264621748 => "Nina",264621750 => "Okahandja",264621751 => "Okahandja",264621752 => "Okahandja",264621754 => "Ombotozu",264621755 => "Omitara",264621756 => "Otjihase",264621759 => "Otjozondu",264621760 => "Plessisplaas",264621761 => "Rehoboth",264621762 => "Rehoboth",264621763 => "Rehoboth",264621766 => "Sandveld",264621767 => "Seeis",264621768 => "Spatzenfeld",264621769 => "Steinhausen",264621770 => "Summerdown",264621771 => "Hosea\ Kutako\ INT\ Airport",264621772 => "Witvlei",26462500 => "Okahandja",26462501 => "Okahandja",26462502 => "Okahandja",26462503 => "Okahandja\/Ovitoto\/Wilhelmstal",26462504 => "Okahandja",26462505 => "Okahandja",264625180 => "Otjozondu",264625181 => "Otjozondu",264625183 => "Ombotozu",264625184 => "Ombotozu",26462519 => "Okandjatu",26462522 => "Rehoboth",26462523 => "Rehoboth",26462524 => "Rehoboth",26462525 => "Rehoboth",264625390 => "Klein\ Aub",264625391 => "Klein\ Aub",264625392 => "Rietoog",264625393 => "Rietoog",26462540 => "Neudamm\/Hosea\ Kutako\ INT\ Airport",264625410 => "Otjihase",264625411 => "Otjihase",264625420 => "Groot\–Aub",264625421 => "Groot\–Aub",264625430 => "Hosea\ Kutako\ INT\ Airport",264625434 => "Hosea\ Kutako\ INT\ Airport",264625435 => "Hosea\ Kutako\ INT\ Airport",26462549 => "Hochfeld",264625600 => "Seeis",264625601 => "Seeis",264625602 => "Omitara",264625603 => "Omitara",264625604 => "Buitepos",264625605 => "Otjiwa",264625606 => "Otjiwa",264625607 => "Otjiwa",264625608 => "Otjiwa",264625609 => "Otjiwa",264625610 => "Otjiwa",264625611 => "Otjiwa",264625612 => "Otjiwa",264625613 => "Otjiwa",264625614 => "Steinhausen",264625615 => "Steinhausen",264625616 => "Summerdown",264625617 => "Summerdown",264625618 => "Summerdown",26462562 => "Gobabis",26462563 => "Gobabis",26462564 => "Gobabis",26462565 => "Gobabis",26462566 => "Gobabis",264625672 => "Epukiro",264625673 => "Epukiro",264625674 => "Epukiro",264625675 => "Otjinene",264625676 => "Otjinene",264625677 => "Otjinene",264625678 => "Otjinene",264625679 => "Otjinene",264625680 => "Drimiopsis",264625681 => "Drimiopsis",264625682 => "Plessisplaas",264625683 => "Plessisplaas",264625684 => "Sandveld",264625685 => "Sandveld",264625686 => "Epukiro",264625687 => "Epukiro",264625688 => "Epukiro",264625689 => "Babi\-Babi",264625690 => "Babi\-Babi",264625691 => "Leonardville",264625692 => "Leonardville",264625693 => "Leonardville",264625694 => "Leonardville",264625695 => "Leonardville",264625696 => "Leonardville",264625697 => "Blumfelde",264625698 => "Blumfelde",264625700 => "Witvlei",264625701 => "Witvlei",264625702 => "Witvlei",264625703 => "Witvlei",264625704 => "Witvlei",264625709 => "Witvlei",264625715 => "Eland",264625716 => "Eland",264625717 => "Spatzenfeld",264625718 => "Spatzenfeld",264625720 => "Namib\ Grens",264625721 => "Friedental",264625722 => "Hochland",264625723 => "Many\ Hills",264625731 => "Nina",264625733 => "Nouas",26462573 => "Dordabis",26462577 => "Gobabis",264625800 => "Epukiro",264625801 => "Epukiro",264625802 => "Epukiro",264625803 => "Epukiro",264625804 => "Eland",264625805 => "Drimiopsis",264625806 => "Summerdown",264625807 => "Plessisplaas",264625808 => "Otjinene",264625809 => "Otjiwa",264625810 => "Leonardville",264625811 => "Leonardville",264625812 => "Blumfelde",264625813 => "Blumfelde",264625814 => "Nouas",264625815 => "Nouas",264625816 => "Nina",264625817 => "Nina",264625818 => "Dordabis",264625819 => "Dordabis",26462692 => "Central",264627024 => "Hosea\ Kutako\ INT\ Airport",264627025 => "Hosea\ Kutako\ INT\ Airport",264631701 => "Aminuis",264631702 => "Aminuis",264631703 => "Aranos",264631704 => "Ariamsvlei",264631706 => "Asab",264631709 => "Bethanie",264631710 => "Bethanie",264631711 => "Bralano",264631712 => "Bulwana",264631713 => "Dawiab",264631714 => "Deurstamp",264631715 => "Feldschuhorn",264631717 => "Gibeon",264631718 => "Goageb",264631719 => "Gochas",264631720 => "Grenslyn",264631722 => "Guibis",264631723 => "Hamab",264631724 => "Helmeringhausen",264631725 => "Hoachanas",264631727 => "Kalahariplaas",264631728 => "Kalkrand",264631729 => "Kalkrand",264631730 => "Karasburg",264631731 => "Karasburg",264631732 => "Karasburg",264631733 => "Karasburg",264631734 => "Karasburg",264631735 => "Keetmanshoop",264631736 => "Keetmanshoop",264631737 => "Keetmanshoop",264631738 => "Keetmanshoop",264631739 => "Keetmanshoop",264631740 => "Klein\ Karas",264631743 => "Lorelei",264631744 => "Luderitz",264631745 => "Luderitz",264631746 => "Luderitz",264631747 => "Luderitz",264631748 => "Luderitz",264631749 => "Maltahohe",264631750 => "Maltahohe",264631751 => "Mariental",264631752 => "Mariental",264631753 => "Mariental",264631754 => "Mariental",264631755 => "Mariental",264631759 => "Noordoewer",264631760 => "Noordoewer",264631762 => "Oamseb",264631763 => "Oranjemund",264631764 => "Oranjemund",264631765 => "Oranjemund",264631766 => "Oranjemund",264631767 => "Oranjemund",264631769 => "Rosh\ Pinah",264631770 => "Rosh\ Pinah",264631771 => "Schilp",264631772 => "Seeheim",264631774 => "Stampriet",264631775 => "Stinkdoring",264631776 => "Tses",264631777 => "Tsumispark",264631778 => "Uhabis",264631779 => "Warmbad",26463200 => "Luderitz",26463201 => "Luderitz",26463202 => "Luderitz",26463203 => "Luderitz",26463204 => "Luderitz",26463207 => "Luderitz",26463210 => "Luderitz",26463220 => "Keetmanshoop",26463221 => "Keetmanshoop",26463222 => "Keetmanshoop",26463223 => "Keetmanshoop",26463224 => "Keetmanshoop",264632260 => "Keetmanshoop",264632261 => "Keetmanshoop",264632264 => "Deurstamp",264632267 => "Feldschuhorn",26463227 => "Keetmanshoop",26463228 => "Keetmanshoop",26463229 => "Keetmanshoop",264632300 => "Oranjemund",264632307 => "Oranjemund",264632308 => "Oranjemund",264632309 => "Oranjemund",26463232 => "Oranjemund",26463233 => "Oranjemund",26463234 => "Oranjemund",26463235 => "Oranjemund",26463236 => "Oranjemund",26463237 => "Oranjemund",264632380 => "Oranjemund",264632381 => "Oranjemund",264632382 => "Luderitz",264632383 => "Luderitz",264632384 => "Oranjemund",264632385 => "Oranjemund",264632386 => "Oranjemund",264632387 => "Oranjemund",264632389 => "Luderitz\ \-\ Elizabeth\ Bay",26463239 => "Oranjemund",264632403 => "Mariental",264632404 => "Mariental",264632405 => "Mariental",264632406 => "Mariental",264632407 => "Mariental",264632408 => "Mariental",264632409 => "Mariental",26463241 => "Mariental",26463242 => "Mariental",26463243 => "Mariental",26463244 => "Mariental",26463246 => "Mariental",26463247 => "Mariental",26463248 => "Mariental",264632492 => "Mariental",264632500 => "Gochas",264632501 => "Gochas",264632502 => "Gochas",264632505 => "Seeheim",264632507 => "Narubis",26463251 => "Gibeon",264632520 => "Grenslyn",264632522 => "Asab",264632523 => "Asab",264632524 => "Bulwana",26463257 => "Tses",264632580 => "Aus",264632581 => "Aus",264632583 => "Guibis",264632589 => "Aus",26463260 => "Stampriet",264632610 => "Oamseb",264632611 => "Oamseb",26463262 => "Grunau",26463264 => "Kalkrand",264632650 => "Schilp",264632651 => "Schilp",264632653 => "Hoachanas",264632654 => "Hoachanas",264632655 => "Tsumispark",264632656 => "Tsumispark",264632657 => "Tsumispark",264632660 => "Klein\ Karas",264632690 => "Warmbad",264632691 => "Warmbad",264632693 => "Hamab",264632696 => "Stinkdoring",264632699 => "Uhabis",26463270 => "Karasburg",264632711 => "Karasburg",264632712 => "Karasburg",264632714 => "Karasburg",264632718 => "Karasburg",264632719 => "Karasburg",26463272 => "Aranos",264632730 => "Aminuis",264632731 => "Aminuis",264632732 => "Aminuis",264632733 => "Aminuis",26463274 => "Rosh\ Pinah",264632750 => "Kalahariplaas",264632752 => "Bralano",264632753 => "Bralano",264632754 => "Bralano",264632768 => "Aranos",264632769 => "Aranos",264632800 => "Ariamsvlei",264632801 => "Ariamsvlei",264632803 => "Dawiab",264632805 => "Aroab",264632806 => "Aroab",264632807 => "Aroab",264632808 => "Kais",264632809 => "Ariamsvlei",264632810 => "Köes",264632811 => "Gaibis",264632812 => "Deurstamp",264632830 => "Bethanie",264632831 => "Bethanie",264632833 => "Helmeringhausen",264632835 => "Goageb",264632837 => "Lorelei",264632839 => "Bethanie",264632849 => "Bethanie",264632900 => "Rosh\ Pinah",264632901 => "Rosh\ Pinah",264632902 => "Rosh\ Pinah",26463293 => "Maltahohe\/Solitaire",264632942 => "Kumakams",264632950 => "Namgorab",26463297 => "Noordoewer",26463345 => "Mariental",26463626 => "Helmeringhausen",26463693 => "South",264637034 => "Keetmanshoop",264637035 => "Luderitz",264637100 => "Keetmanshoop",264637130 => "Keetmanshoop",264637180 => "Keetmanshoop",264637181 => "Keetmanshoop",264637182 => "Keetmanshoop",264637183 => "Keetmanshoop",264637184 => "Keetmanshoop",264637185 => "Keetmanshoop",264637190 => "Keetmanshoop",264637191 => "Keetmanshoop",264637192 => "Keetmanshoop",26463811 => "Keetmanshoop",264641700 => "Arandis",264641701 => "Arandis",264641702 => "Henties\ Bay",264641703 => "Henties\ Bay",264641704 => "Henties\ Bay",264641705 => "Henties\ Bay",264641706 => "Henties\ Bay",264641707 => "Karibib",264641708 => "Karibib",264641709 => "Langstrand",264641710 => "Langstrand",264641711 => "Langstrand",264641712 => "Leoburn",264641713 => "Omaruru",264641714 => "Omaruru",264641715 => "Omaruru",264641716 => "Omaruru",264641717 => "Omaruru",264641718 => "Omaruru",264641721 => "Rössing\ Mine",264641722 => "Rössing\ Mine",264641723 => "Swakopmund",264641724 => "Swakopmund",264641725 => "Swakopmund",264641726 => "Swakopmund",264641727 => "Swakopmund",264641728 => "Swakopmund",264641729 => "Swakopmund",26464173 => "Swakopmund",264641741 => "Swakopmund",264641742 => "Swakopmund",264641743 => "Tsaobis",264641746 => "Usakos",264641747 => "Usakos",264641748 => "Usakos",264641749 => "Usakos",26464175 => "Walvis\ Bay",26464176 => "Walvis\ Bay",2646420 => "Walvis\ Bay",26464210 => "Walvis\ Bay",264642110 => "Langstrand",264642111 => "Langstrand",264642112 => "Langstrand",264642118 => "Walvis\ Bay",264642119 => "Walvis\ Bay",26464219 => "Walvis\ Bay",26464220 => "Walvis\ Bay",26464221 => "Walvis\ Bay",26464270 => "Walvis\ Bay",26464271 => "Walvis\ Bay",26464272 => "Walvis\ Bay",26464273 => "Walvis\ Bay",26464274 => "Walvis\ Bay",26464275 => "Walvis\ Bay",26464276 => "Walvis\ Bay",26464400 => "Swakopmund",26464401 => "Swakopmund",26464402 => "Swakopmund",26464403 => "Swakopmund",26464404 => "Swakopmund",26464405 => "Swakopmund",26464406 => "Swakopmund",26464407 => "Swakopmund",2646441 => "Swakopmund",26464461 => "Swakopmund",26464462 => "Swakopmund",26464463 => "Swakopmund",26464464 => "Swakopmund",264644650 => "Swakopmund",26464500 => "Henties\ Bay",26464501 => "Henties\ Bay",26464502 => "Henties\ Bay",26464504 => "Uis",26464510 => "Arandis",26464511 => "Arandis",26464512 => "Arandis",26464520 => "Rössing\ Mine",264645212 => "Rössing\ Mine",264645213 => "Rössing\ Mine",264645214 => "Rössing\ Mine",264645219 => "Rössing\ Mine",264645220 => "Rössing\ Mine",264645221 => "Rössing\ Mine",26464530 => "Usakos",264645315 => "Usakos",264645316 => "Usakos",264645317 => "Usakos",264645318 => "Usakos",264645319 => "Usakos",264645508 => "Tsaobis\/Karibib",26464550 => "Karibib",26464551 => "Otjimbingwe",264645520 => "Karibib",264645521 => "Karibib",264645537 => "Karibib",264645539 => "Karibib",26464570 => "Omaruru",264645710 => "Omaruru",264645711 => "Omaruru",264645712 => "Omaruru",264645713 => "Omaruru",264645714 => "Omaruru",26464572 => "Omaruru",26464573 => "Omaruru",26464694 => "Central",264647026 => "Walvis\ Bay",264647027 => "Walvis\ Bay",264647028 => "Swakopmund",264647100 => "Walvis\ Bay",264647130 => "Walvis\ Bay",264647162 => "Swakopmund",264647165 => "Walvis\ Bay",264647172 => "Swakopmund",264651701 => "Anamulenge",264651702 => "Blue\ Sodalite\ Mine",264651703 => "Edundja",264651704 => "Edundja",264651705 => "Eenhana",264651706 => "Eenhana",264651707 => "Ehomba",264651708 => "Elim",264651709 => "Elim",264651710 => "Endola",264651711 => "Etanga",264651712 => "Etunda",264651713 => "Etunda",264651714 => "Haiyandja",264651715 => "Kaoko\ Otavi",264651716 => "Kunene\ River\ Lodge",264651717 => "Mahenene",264651719 => "Ombombo",264651720 => "Odibo",264651721 => "Ogongo",264651722 => "Ohandungu",264651723 => "Ohangwena",264651724 => "Ohangwena",264651725 => "Ohangwena",264651726 => "Ohangwena",264651727 => "Okahao",264651728 => "Okalongo",264651729 => "Okangwati",264651730 => "Okatope",264651731 => "Okorosave",264651732 => "Oluno",264651733 => "Oluno",264651734 => "Oluno",264651735 => "Omafu",264651736 => "Ombalantu",264651737 => "Ombalantu",264651738 => "Ombalantu",264651739 => "Omungwelume",264651740 => "Omutsewonime",264651741 => "Onandjokwe",264651742 => "Onathinge",264651743 => "Ondangwa",264651744 => "Ondangwa",264651745 => "Ondangwa",264651746 => "Ondangwa",264651747 => "Ondangwa",264651748 => "Ondobe",264651749 => "Onuno",264651751 => "Onesi",264651752 => "Ongenga",264651753 => "Ongha",264651754 => "Ongha",264651756 => "Ongwediva",264651757 => "Ongwediva",264651759 => "Ondundu",264651760 => "Opuwo",264651761 => "Opuwo",264651762 => "Orumana",264651763 => "Oshakati",264651764 => "Oshakati",264651765 => "Oshakati",264651766 => "Oshakati",264651767 => "Oshakati",264651768 => "Oshifo",264651769 => "Oshigambo",264651770 => "Oshikango",264651771 => "Oshikuku",264651772 => "Oshitayi",264651773 => "Otjondeka",264651774 => "Otwani",264651775 => "Panosa",264651776 => "Ruacana",264651777 => "Ruacana",264651778 => "Sesfontein",264651781 => "Tsandi",264651782 => "Tsandi",264651783 => "Warmquelle",26465200 => "Ombalantu",26465201 => "Oshakati",26465202 => "Oshakati",26465203 => "Oshakati",26465204 => "Oshakati",26465205 => "Oshakati",26465206 => "Oshakati",26465207 => "Oshakati",26465208 => "Oshakati",26465209 => "Oshakati",26465220 => "Oshakati",26465221 => "Oshakati",26465222 => "Oshakati",26465223 => "Oshakati",26465224 => "Oshakati",26465225 => "Oshakati",26465226 => "Oshakati",26465227 => "Oshakati",264652290 => "Oshakati",26465230 => "Ongwediva",26465231 => "Ongwediva",264652320 => "Ongwediva",264652321 => "Ongwediva",264652324 => "Ongwediva",264652325 => "Ongwediva",264652327 => "Ongwediva",264652328 => "Ongwediva",264652329 => "Ongwediva",26465233 => "Ongwediva",26465234 => "Ongwediva",26465240 => "Ondangwa",26465241 => "Ondangwa",26465242 => "Ondangwa",26465243 => "Ondangwa",264652440 => "Omuthiya",264652441 => "Omuthiya",264652446 => "Omuthiya",264652447 => "Omuthiya",264652448 => "Omuthiya",264652449 => "Omuthiya",264652450 => "Oshitayi",264652451 => "Oshitayi",264652452 => "Haiyandja",264652453 => "Haiyandja",264652454 => "Ongha",264652455 => "Ongha",264652456 => "Oluno",264652457 => "Oluno",264652458 => "Oluno",264652459 => "Oluno",264652460 => "Oluno",264652461 => "Oluno",264652462 => "Oluno",264652463 => "Oluno",264652464 => "Oluno",264652481 => "Onandjokwe",264652482 => "Onandjokwe",264652483 => "Onandjokwe",264652488 => "Onathinge",264652489 => "Onathinge",264652490 => "Onathinge",264652491 => "Onathinge",264652492 => "Onathinge",264652493 => "Onathinge",264652494 => "Onathinge",264652503 => "Anamulenge",264652504 => "Anamulenge",264652507 => "Ombalantu",264652508 => "Ombalantu",264652509 => "Ombalantu",26465251 => "Ombalantu",264652520 => "Okahao",264652521 => "Okahao",264652522 => "Okahao",264652523 => "Okahao",264652524 => "Okahao",264652525 => "Okahao",264652526 => "Okahao",264652531 => "Okahao",264652532 => "Okahao",264652535 => "Okalongo",264652536 => "Okalongo",264652537 => "Okalongo",264652545 => "Oshikuku",264652546 => "Oshikuku",264652547 => "Oshikuku",264652560 => "Etilyasa",264652562 => "Onaanda",264652565 => "Elim",264652566 => "Elim",264652567 => "Elim",264652570 => "Ogongo",264652571 => "Ogongo",264652572 => "Ogongo",264652580 => "Tsandi",264652581 => "Tsandi",264652582 => "Tsandi",264652587 => "Onesi",264652588 => "Onesi",264652589 => "Onesi",264652590 => "Mahenene",264652591 => "Mahenene",264652595 => "Etunda",264652596 => "Etunda",264652598 => "Eunda",264652600 => "Ohangwena",264652601 => "Ohangwena",264652620 => "Onuno",264652621 => "Onuno",264652622 => "Okatope",264652623 => "Okatope",264652624 => "Ondobe",264652625 => "Ondobe",264652628 => "Ongha",264652629 => "Ongha",264652630 => "Eenhana",264652631 => "Eenhana",264652632 => "Eenhana",264652633 => "Eenhana",264652634 => "Eenhana",264652635 => "Eenhana",264652636 => "Eenhana",264652640 => "Eenhana",264652641 => "Eenhana",264652642 => "Eenhana",264652643 => "Eenhana",264652644 => "Oshigambo",264652645 => "Oshigambo",264652646 => "Oshikango",264652647 => "Oshikango",264652648 => "Oshikango",264652649 => "Oshikango",264652650 => "Oshikango",264652651 => "Oshikango",264652652 => "Oshikango",264652653 => "Oshikango",264652654 => "Oshikango",264652655 => "Oshikango",264652657 => "Oshikango",264652663 => "Oshikango",264652664 => "Oshikango",264652665 => "Oshikango",264652666 => "Omafu",264652667 => "Omafu",264652675 => "Omafu",264652676 => "Odibo",264652677 => "Odibo",264652681 => "Edundja",264652682 => "Edundja",264652683 => "Ongenga",264652688 => "Endola",264652689 => "Endola",264652690 => "Omungwelume",264652691 => "Omungwelume",264652692 => "Omungwelume",264652700 => "Ruacana",264652701 => "Ruacana",264652702 => "Ruacana",264652710 => "Etoto",264652714 => "Ruacana",264652715 => "Ruacana",264652716 => "Ruacana",264652717 => "Ruacana",264652718 => "Ruacana",264652719 => "Ruacana",264652720 => "Oshifo",264652721 => "Oshifo",264652725 => "Oshifo",264652728 => "Opuwo",264652729 => "Opuwo",264652730 => "Opuwo",264652731 => "Opuwo",264652732 => "Opuwo",264652733 => "Opuwo",264652734 => "Opuwo",264652735 => "Opuwo",264652737 => "Opuwo",264652738 => "Opuwo",264652739 => "Opuwo",26465273 => "Otjerunda",264652740 => "Ehomba",264652741 => "Sodalite",264652742 => "Panosa",264652743 => "Kunene\ River\ Lodge",264652744 => "Etanga",264652745 => "Okangwati",264652746 => "Ohandungu",264652747 => "Kaoko\ Otavi",264652748 => "Okorosave",264652749 => "Orumana",264652750 => "Otwani",264652751 => "Otjondeka",264652752 => "Ombombo",264652753 => "Warmquelle",264652755 => "Sesfontein",264652762 => "Kowares",264652764 => "Otjitjekwa",264652766 => "Oruvandjai",264652800 => "Ondangwa",264652801 => "Ondangwa",264652822 => "Ondangwa",264652850 => "Omutsewonime",264652853 => "Okashana",264652856 => "Onyaanya",264652860 => "Okapuku",264652863 => "Onankali",264652866 => "Okatope",264652870 => "Oniingo",264652880 => "Omundaungilo",264652882 => "Oshuli",264652884 => "Okongo",264652885 => "Okongo",264652886 => "Ekoka",264652888 => "Epembe",264652890 => "Okankolo",264652892 => "Omuntele",264652894 => "Oshikunde",264652896 => "Onyuulaye",26465290 => "Eenhana",26465695 => "North",264657031 => "Ondangwa",264657032 => "Oshakati",264657100 => "Oshakati",264657130 => "Oshakati",264657142 => "Oshakati",264657145 => "Oshakati",264657152 => "Oshakati",264657165 => "Oshakati",264661701 => "Bagani",264661702 => "Bagani",264661703 => "Bukalo",264661704 => "Bunia",264661705 => "Hakasembe",264661706 => "K\.\ Murangi",264661707 => "Kahenge",264661708 => "Katima\-Mulilo",264661709 => "Katima\-Mulilo",264661710 => "Katima\-Mulilo",264661711 => "Kongola",264661712 => "Mpacha",264661713 => "Marangi",264661714 => "Mashare",264661715 => "Matava",264661716 => "Muveke",264661717 => "Nkurenkuru",264661718 => "Nakayale\/Nkurenkuru",264661719 => "Nzinze",264661720 => "Omega",264661721 => "Rundu",264661722 => "Rundu",264661723 => "Rundu",264661724 => "Rundu",264661725 => "Rupara",264661726 => "Ruuga",264661727 => "Sikono",264661728 => "Nyangana",264662500 => "Nakayale\/Omega",264662501 => "Nakayale",264662502 => "Mpacha\/Ngoma",264662504 => "Kongola",264662506 => "Ngoma",264662508 => "Ngoma",26466251 => "Katima\-Mulilo",26466252 => "Katima\-Mulilo",26466253 => "Katima\-Mulilo",26466254 => "Katima\-Mulilo",26466255 => "Rundu",26466256 => "Rundu",264662570 => "Sikono",264662571 => "Ruuga",264662572 => "Hakasembe",264662573 => "Bunia",264662574 => "Matava",264662575 => "Nzinze",264662576 => "Rupara",264662577 => "Muveke",264662578 => "Marangi",264662579 => "Kahenge",264662580 => "Nkurenkuru",264662581 => "Nkurenkuru",264662582 => "Nyangana",264662586 => "Mashare",264662587 => "Mashare",264662588 => "Nyangana",264662589 => "Rundu",264662590 => "Bagani",264662591 => "Bagani",264662592 => "Bagani",264662593 => "Bagani",264662596 => "Sambyu",264662597 => "Sambyu",264662599 => "Muhembo",264662600 => "Mpungu",26466261 => "Katima\-Mulilo",264662627 => "Katima\-Mulilo",264662640 => "Nyangana",26466265 => "Rundu",26466266 => "Rundu",264662670 => "Rundu",264662671 => "Rundu",264662672 => "Rundu",264662673 => "Rundu",264662674 => "Rundu",26466269 => "Rundu",26466381 => "Maltahohe",26466385 => "Namgorab",26466423 => "Kalahariplaas",26466696 => "North\ East",264667030 => "Rundu",264667143 => "Rundu",264667145 => "Katima\-Mulilo",264667153 => "Rundu",264671700 => "Andara",264671740 => "Abenab",264671741 => "Anker",264671742 => "Sorris\-Sorris",264671743 => "Biermanskool",264671745 => "Halali",264671746 => "Horabe",264671747 => "Kalkfeld",264671748 => "Kamanjab",264671749 => "Khorixas",264671751 => "Khorixas",264671753 => "Kombat",264671754 => "Lindequest",264671756 => "Maroelaboom",264671757 => "Etosha\ Rurtel",264671759 => "Okakarara",264671760 => "Okakarara",264671762 => "Okaputa",264671763 => "Okaukuejo",264671764 => "Okorusu",264671765 => "Omatjene",264671766 => "Etosha\ Rurtel",264671767 => "Etosha\ Rurtel",264671768 => "Etosha\ Rurtel",264671770 => "Otavi",264671771 => "Otavi",264671773 => "Otjiwarongo",264671774 => "Otjiwarongo",264671775 => "Otjiwarongo",264671776 => "Otjiwarongo",264671777 => "Otjiwarongo",264671778 => "Outjo",264671779 => "Outjo",264671782 => "Toshari",264671783 => "Tsumeb",264671784 => "Tsumeb",264671785 => "Tsumeb",264671786 => "Tsumeb",264671787 => "Tsumeb",264671789 => "Uchab",264671790 => "Uib",264671791 => "Waterberg\ Plateau\ Park",264671792 => "Waterberg\ Plateau\ Park",264671793 => "Waterberg\ Plateau\ Park",264671794 => "Epupa",264671797 => "Grootfontein",264671798 => "Grootfontein",264671799 => "Grootfontein",26467220 => "Tsumeb",26467221 => "Tsumeb",26467222 => "Tsumeb",26467223 => "Tsumeb",26467224 => "Tsumeb",264672290 => "Etosha\ Rurtel",264672291 => "Etosha\ Rurtel",264672292 => "Etosha\ Rurtel\/Lindequest",264672293 => "Etosha\ Rurtel\/Namutoni",264672294 => "Etosha\ Rurtel\/Halali",264672295 => "Etosha\ Rurtel\/Ombika",264672296 => "Etosha\ Rurtel\/Ongava",264672297 => "Etosha\ Rurtel",264672298 => "Etosha\ Rurtel\/Okaukuejo",26467229 => "Mokuti",26467230 => "Oshivello",264672310 => "Kombat",264672311 => "Kombat",264672312 => "Kombat",264672315 => "Rietfontein",264672316 => "Rietfontein",264672320 => "Abenab",264672323 => "Horabe",264672326 => "Maroelaboom",264672327 => "Maroelaboom",264672329 => "Coblenz",26467234 => "Otavi",264672350 => "Uib",264672357 => "Otavi",264672358 => "Otavi",264672359 => "Otavi",26467240 => "Grootfontein",26467241 => "Grootfontein",26467242 => "Grootfontein",26467243 => "Grootfontein",264672440 => "Tsumkwe",264672441 => "Tsumkwe",264672450 => "Mangetti\ duin",264672455 => "Gam",26467248 => "Grootfontein",264672491 => "Grootfontein",264672492 => "Grootfontein",264672493 => "Grootfontein",264672494 => "Grootfontein",264672583 => "Andara",264672584 => "Andara",264672615 => "Uchab",264672616 => "Uchab",264672617 => "Uchab",264672900 => "Kalkfeld",264672901 => "Kalkfeld",264672902 => "Kalkfeld",264672903 => "Epupa",264672982 => "Tsumeb",26467300 => "Otjiwarongo",26467301 => "Otjiwarongo",26467302 => "Otjiwarongo",26467303 => "Otjiwarongo",26467304 => "Otjiwarongo",264673050 => "Waterberg\ Plateau\ Park",264673051 => "Waterberg\ Plateau\ Park",264673052 => "Otjiwarongo",264673053 => "Otjiwarongo",264673054 => "Okorusu",264673055 => "Okorusu",264673060 => "Otjiwarongo",264673061 => "Otjiwarongo",264673062 => "Klein\ Waterberg",264673063 => "Klein\ Waterberg",264673064 => "Klein\ Waterberg",264673065 => "Klein\ Waterberg",264673066 => "Klein\ Waterberg",264673067 => "Klein\ Waterberg",264673068 => "Omatjene",26467307 => "Otjiwarongo",26467308 => "Otjiwarongo",264673090 => "Okaputa",264673091 => "Okaputa",26467312 => "Outjo",26467313 => "Outjo",264673167 => "Okakarara",264673168 => "Okakarara",264673169 => "Okakarara",26467317 => "Okakarara",264673180 => "Okamatapati",264673181 => "Okamatapati",26467330 => "Kamanjab",26467331 => "Kamanjab\/Khorixas",264673320 => "Khorixas",264673321 => "Khorixas",264673322 => "Sorris\-Sorris",264673323 => "Sorris\-Sorris",264673324 => "Sorris\-Sorris",264673325 => "Sorris\-Sorris",26467332 => "Kamanjab",264673330 => "Anker",264673332 => "Biermanskool",264673333 => "Biermanskool",264673334 => "Toshari",264673335 => "Toshari",26467333 => "Kamanjab",26467334 => "Kamanjab",26467335 => "Kamanjab\/Khorixas",26467697 => "North",264677029 => "Grootfontein",264677140 => "Grootfontein",264677141 => "Grootfontein",264677145 => "Grootfontein",264677150 => "Grootfontein",264677151 => "Grootfontein",264677163 => "Otjiwarongo",264677165 => "Anker\/Braunfels\/Fransfontein",264677166 => "Kamanjab\/Otavi",264677173 => "Otjiwarongo",);
      foreach my $prefix (map { substr($number, 0, $_) } reverse(1..length($number))) {
        return $map{"264$prefix"} if exists($map{"264$prefix"});
      }
      return undef;
    }
sub new {
  my $class = shift;
  my $number = shift;
  $number =~ s/(^\+264|\D)//g;
  my $self = bless({ number => $number, formatters => $formatters, validators => $validators }, $class);
  return $self if ($self->is_valid());
  $number =~ s/(^0)//g;
  $self = bless({ number => $number, formatters => $formatters, validators => $validators }, $class);
  return $self->is_valid() ? $self : undef;
}

1;