From aee45136df13deab42ca9d00555297a660f1b4bc Mon Sep 17 00:00:00 2001 From: HappyZ Date: Sun, 9 Jun 2019 14:39:26 -0500 Subject: [PATCH] get country and mcc relation --- .../code_to_country.pickle | Bin 0 -> 106561 bytes .../country_to_code.pickle | Bin 0 -> 72803 bytes .../country_code_conversion/mcc_mnc_table.txt | 1690 +++++++++++++++++ .../xxx.parse_mcc_mnc_table.py | 43 + 4 files changed, 1733 insertions(+) create mode 100644 opencellid_parsing/country_code_conversion/code_to_country.pickle create mode 100644 opencellid_parsing/country_code_conversion/country_to_code.pickle create mode 100644 opencellid_parsing/country_code_conversion/mcc_mnc_table.txt create mode 100644 opencellid_parsing/country_code_conversion/xxx.parse_mcc_mnc_table.py diff --git a/opencellid_parsing/country_code_conversion/code_to_country.pickle b/opencellid_parsing/country_code_conversion/code_to_country.pickle new file mode 100644 index 0000000000000000000000000000000000000000..2d8293a8bbf887e01359680beec02f96000afca2 GIT binary patch literal 106561 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 gV?r3?)6F(#DphBxu+$r>!BXxH8P^)ZXw; zFtW&^D4U>yBA_TPh>C132#AUbxS=AV;)WX{;`aWY-+5+|NhiVos~;bG^L(E(=iYnn zS)TKpb1s~5emKqVoIY*ZwBA%$kqD>z!QmCnot^XXm$hDWd64Z&XHwyed^l4T^%E7d z^5JY%)OF5t7U4*8dv-9KlMm+x2Uav!bS}oCB9~rAHivtO#Ov## z;oOJfUgPPT=y=YJusmtaD zvcswHn0!d>48CI3HY9s9DbI>bWj;Jsjc0ZqWXA0+n`3yI0|O(2>F(rkIy>ma`l^!Q zary9gC8u{TG;&L}M@vyET%HfBTz-0Xg^@(K!Vk`vj{NA|Rjx|6ZB6x@JCF=l=fgGj zAadc_M7S>SrZ+F>JRH9pOAcg{-kNo*y!Dxplo#tCExoB+Sep+|NV@XX6TT@Cp4j{h zev>!1c8$w#aqMywF=;lbX_VFM)To%)lBEdr<%=! zX?!VRT|TV0Os2zzM7Y5Z1}cJ$Gg#zSR{oij=0w=y2c25>4uH9)ygn&iBRxqENv-pu?VF=s zdtEFH@?k5u;QASz`<4Uiyk*|juq_|9D|PFP&ST0^nln6tNL_lcx2l-A@U(o`VOf$e zmI&j1@ZIUbnu^W?kw`~sXrwEX?)FyW{xeC*M!dRsQzRO6hMV)@79}^mA-Odlb}D)5 z87}e3$KP*j>O3tNXXnFnH20e;SYpQ$h0nb`CAsWi zGULUnqE%rsA9krh{C_p*&WAnr1_r`ZBHZo=2Wds2HA~IfRbEsEQiJ%dVr|@;5Bn6E zSwxzXlI%+M_Z2GIFr5$2Rb)QPxu$|Ico6MUe?H8pVwQbFtGq4g9Z4;*;Xpndw0!Ig zvx#uX5BjzG<2O{h*0Z7=hWSubGkrHrE*}o7rh-*)HEd!jJa27j!jXKq!%`m!cP7H~ z{NNuI&5M|gH7mVnv_0-xqtSf0OI7=`1gffMM{=+`)x)X*ci7$MwGWS0g>TM>Z&7ew z=TUf43Z?~360wwYr}09fBe`KoW>9XlsjLdm&xdbSlbN0SJCpj=QRyhJsfork!*v}C)J87-gQ#%!hsUny^s>F4v|JC$A1xsS1<-KaXXKT*uXrTOqO zW#+O}AP*hMbfy~(Zlu@*T%HfFP^5cuFd-CD6s%|XY3QD%VBs^N}8?a0B-hB8zWj0R1T$c~8SEgbL=7xND zqcRJoU~bBX?^kA4p}58SQeN9GZ4}Ue4e!iKzbkGx=fhhRT-@oqcd#YhJ)A{HYmiUc zi%YV*-|oVPj@Omp2lC+u)of0o02JTGhw|aAs+qBy=C*wJVf$8w!;d7w+x_O3tfgLs zhI*xI_nNZ<;Yah~9ndXcD?UMYXFj|Ox_RYvAIpayhi-Z~-QD@{6VUC+5`Z-0)^laG zDR|f6C-dPwAQpAb#*+Yn(jI;)AATBtn?L?DkQe#@ruNIv{Bh$WqK-2*}yPgRFs$%kLXU+0#4=wHi+ zk3zRcLASZR&edM&Wcc-b_?Q)kUE$-2@CiS-S_{7R8ft6NKj2p z;WzT(lgiCx6{W%|%!l7n)r`&>OQJ5B8`6>-9l+3`d#uMk*1yboEiHAPUl)xx zv{Z)Q&WBHF3e$_3*i^Np3jLRUW<-Y;)hkx42)~mLzw5Hzl?%U@2%q+YOhs^s%lpde zRn;)*OAaJ+n)mK(l~%ArRpB%F@L7P($1wTHx$o!0A1LQ~P?K{%%!fZxZpK)8u>n;4 z`g7xMG5m2pe9p4l7ycv>{?rfd(kIPP&)OPf7S%#`HvCyWd|oxvJNMED2+g)=Q|nko z`}2JGg6e0o0H}UT)0SxXi+uQ^CEpYNG7ZhcueL|Hy_e6nUV##NXSA+zxi9%9jnprCYOpdx3|h3G+6`*we=dI zPGx$N-PwUiyJXKx4~*nwPjZVLH=8XYl4%+1NT^AAWI*;JxVHo6vtJBQ?}?pfSB1+G zQcE3W!_8_h)>;>jve{^d+xep}jDUU@~$LjShxXpq?Fb1)2tjQ!>cmFdjR8t2^uYO|7W0>e?#h z5Lz7yX+L$Y9EOX8c#wY3r{hKKb5~c_>f_5m45kMo>(|${1#&ozkAPIrefJ6$90`%2 zt!;}ON$M!0X1Q)KsK!jzl?geT#4;l)cyF3cOBzlaye~P1fNy|v2q*wIMkF?bo;toa zsU&nPq}|GZ9EXd991rOSXH_&$>s*doS-EP}O5BDF=%7*`-|odxdt9EszP_$fmNV5V zNKK)eA30ONw~)~$8>mDGtuSc58z1Y>*xSLlzwj~3O0w0)I&T6K3~GuWIuorSxXQqa z&W1wXwY=b|jH{!OSGyk!dQ-V!y!4)QDp%?5!)l1aJy*(Vro0Byp470c#YIBaLHfbF zwR5QDt5&~y>*z==jZT16U@zyPQlM`H&J7k~WXhggyroj!M1vE}AmDq~6ywQUpANb+ zauSJ?AuS(SIRzI9ITg|mp4T#^wa@C>m0kmiamH)!&PkM3>mik>U~8jW!MgHb<#=x;HBgRBnK@A5KamE)ud4(r^9|y7AhNSmtd^$*xpyc1M+0vu>@o zexuc5(!>NdK?0t^!OBFqLD0Gk7Yv$d(Bcecv7(u15G==wm4IL?q-AZVwBaHl?T~(O zg?^CwZmQQHKdGQ?eN#(=oJOM#NChf74>bVYJbfnx-;C#DY{o)SB{7=B&BRFB_!I}=_x=L3mmx+EE~t`hEgM>->?Gm&kOYOw5$4bGs! znPxESjSUhsILi!NMUO0@C}in)VE23=-79AkJjcKz_@V4V6+`x>5!R4jQ;W>n?!Nf#fcDgD?awJe^2XvSf#h zUChc5?0QM=N?Y49AR!?!=+Mc3IY)5Vz%`woD^Klh9q~3V*3h`Qqs>Dz)qtjEb8Ayw zw63ioCL=W3VMcovvJlgTf>i|aD?16DXV9F&Bhr@}iR{tlGH^*hXZ!Q}bAnBXM_&Yv926MUzEvnK~HC3u;E`%MmBPVfpySAXp2m3QGH zAy-2B!I>4o3DY}|#%*s&OK*D6YszKd>&7bT9ewuO>le-#HO{dSG zU!shuHFa_g`FA_M`7RdfGPriVzpa;%O1X*V?}xNp_sY$`J_xB6t|6P+;zP8!)huSwXQ&pM*TJl~*_#OZc3mSGxsC9L4K7Ucpx>rm zI#_todie;M+ac{nw#!Fxk&rte{UD{&DLTiuA(_j1)zxeGOZt)DNyED!6>{@nB@ljP zdD~zTzat+b`*CBZbIPd5+IWqlRV1wZ-Q+(3X_-pPCvlOGdm#PbA}tf@b*x^ENzCo= z4&YuQUM#sCMK>p(qV=aCm7L3dzLG5?1L{JHY)Pkv@&ED}a-TKMxnGn+rlCfH$Vv)H z%e@3YXW$&RFbcZyy6Z&)Z;945w6w^5q(5(T1#gzL^^`$2pt3~g1SYAhe1ZHIjqi9v z{(kabf^-k3zfT^(MM55g^n=HANT_oa>(DgRB?r2)J!nSEVLf5ohfBIQ)rV4#dOnC% z%0o>4VMtBNc}z8_@i!}v5c;w~bLoswC`b+K#GZVG`mdUPZ`K#oZ-6#}T%iv-7{S}l zbSI@pzDE2}!z=j4h@+tD8-sy5?B(m^9y4wRAC+>atyiRYr*zp2G*9ub9Iarb;oSE6jt)x5+&P>0VCvfP4oR3HdIh9}MZ2qJ!(| znzbH=Px3wTPeZD1rketU&UHHE8LFQ(wRIDrwr=A0sr~_^{aR9fh>L{$2+|L#D$pNg z>x&Urofc>J>BDOyKc?w(kc#baJ$)URVUQWc?8M-({DjC)4Y_1Jf0J9so0`q|T$rFRA~P>HBum|C;)jO#c>F z>0g@F>4@<$r|$&4@)Nym{lpp|pFTc7QpN&Ll# z2Mfr2bcKZw0<*h4OW zVne@k*^&|z_Uf8-UfmXC za0gn%eQ3Hbq+;&9jbZWQ^lr54Ec+4MAJQ7DQ8@q?@TEce!8Uc6>YR9?1G=(i)oQwJ zv`Mc^jt-z3sxF>`n9jkFYBQTna9JC`RdNXFLyf+IeZmr2d!A^1UHk-`HX5~4C5O?> zgR}>-T@J@ZLXLp+gRDM~BavBlIgl|-yjS75tU*T^)n#(KR2A;~I60DO9R;a&E=p!M zyH@%I)x|AGlV4`M>k971yJ}zCO*EUw(84#1>79p{%NgH;K1!FvDygK^v5@W_@obO7 z1>AIyelVzc)o`Hd8Z?vI+m5h_ljXFlf>g#8M`hyOeaRkIY*P{;w89{F6NKRPi3D1$ z!TVccv62?mW>LYl|Xo@k^ww?Jw% zikw8{$)?r7(l=)YZlZy}1_Rv0O$pFQV50%f?NtIa5!htF5`M=3V%hF=st1K) z1BwrxU8az)SbJ2OY13jhbDVz>g9`W=HngdiK>`x3Mwkb(glHqtZp6aEOV?-1PzCoC zaEqrA>@aW|d#T7^ydf41^gYI?kDGoE*6OOq__q+}=4qxkliOn4+(OCN67Rs2#~|F; z(LsC#n&MWH8XIP1bWl#mMMAbg`oWVrPo)8k>rh(I1J)ZlR%JGg1QvzQFfY!FhB?XH-hdv2jwlBIsg^u4U3kVL$xu?^$xOm?6P z11uIg35klK_Enchb3}&?O|fA?s&&}`ZTd89%WLZ{{L`v@osb!!-43&JT{+k_^yo{Z zo$MrXo+0-;*VkGv74MQ!s&<*`&AZ*}o2h?`>9bSa>-j|AYUol%JRu{STN}KF_MlK- zI_H^-h=Yf>A=WMz(C|Vtyz+lHd>aifGQ%6`V8Jh%XURUL;v3Od`*vEq1Jad<{sFld z7YVsU6S-0wbT)QtYQ2q{JDR-Zm@RCNOP*%$gmeL%-92(C%`SuVF{N?Df7Hn=czat+~k8|(s;N@0!t(GToBB(F8HlMzLw^9)45QJ?ivw*p5G9!tCX9G-(vWDb{$J_oyO!`CjzkL1EfD_^qkTVOw9-5 z3gkn?ZiTd4=$G4Yk&q9o0GnU%`@Xc;|tIB7aXqg5vFrHq?I(0k20M* zAmPkW_nU@dbZGOwdPSj=aVO30f>gv!br+GQx(4|efsY&D#+D_(-2^^iz)X4xia@dI z`y{D*jIw~#LRRqI4UZr|10FYGpN4c#qfg{BxJbxnA^qkb<7sHCSF;ZN#X{s(9Vh7I zUYdRm5||6iAcn@gTJEFr^G-RRc~s?=rgn9o^;Bi?U-<%|FGAX@7?JyNk&rJz216Qo zq9ISKYrMMUI&J;{`3E8Gk?)j;$Uh9}2j^BapY6I7wU|n8t7|L{EHyUZ5gLCPQo#l{ z*#xjXn;F%Y+lr7Q1f;u&YxxT4uR>bZM&)a`NXVm*ez3m=!|L0uK`o}GFv{ft@^zX$ z2C2wW4iFV-7kqnYG`;qgI(eMX69&0?ScM9)e381*cv8MW>Pbk;!7lkGE)w!BNWb}4 zaF1%(DMvD^su9tnLCxBbz+Zr;vX0%LsMS2rP_NqeC&TdHv>?{EQ~g zLqfeDvj;VLi0BOuBDAYteoo>AM;u%rP$6W{0oH`%7bISE#B8?QNCUx)@=I!dKmh`c@Mam?nBD>J0)Of^WPj^e7e1xz2x1qq)-#mfk@>x2 zW^%>|j1D3iQ-g)>BYqeTWcYE{XCXGEbA6Ta2O7TY3|%3IA=arNpxHf(Ka%*9BixdY z3B;dC{KXLgYhoo(Gw4i5EIXLRJD0zbdc{%B9aV<<8>v?vwUiZtqc9ZvJ9V!)-Jzwr ze^B>2q!oj6<)64n$iE+q}c$l&W!9@nn>|D0nFJst-fcR0ba0eJ& z#j3n$mF!8=#gOhsQr)r_E)udgq#wMf4d`A-ZgnmCaG6vumXzQXcB5mqgqBMom2yKe zrGmCCO|f{iBhogULZ3|bA-At_u1~3)i_K`y3L@zDBeOrG<)T*(zy&;Eknn_QQPNzX zE;BceR+xi`<2Z%Z&IgaS@knWCqLs^cC zgj7NLK~5j1x;Pt0;7Lh()vH!`8`JUJ^2P><&~yc)Vil}Q$6;+9(bmR>NMnO~6J#af zYDjyzA~m>3$SSqJM(yY8yRAhemFSd~tfs{pNLL}GQnHp7>mdE+*I=RTOU>G9uOWzY z_N$gACqP2&9>1#DxWW^3ZqjRj10*ePB6p(W-2Ex1PY{VI;$diX5~-6NHIq+)RCcJ) zRCsNhAS-l!J7T>4~8>NmW^^oq)w)aZ|O*W{>%WBdJ zlS0?n4^Z0R3PHHs>J{jK?6#y04yBRdJ})|q5QX7%x4O4HAHJo24Ou95q#OCG8^?Y% zD^2{>O^|-z>GZlrOcj2%x^^AL%)MiNo}tJFX=WlVkZRzjZpRyJfP*iUE4oP}Am3`d zdnM!f<|Jm*)VI?{upQDp#_i|IX}Cy82c#byTIj>CSzB8OTFgj{MsY|5TpwP6Vn=2( zfh~}hYFf790#Ra+e)B6>4WXs3W;GV>F}_1ir^Pl%Xb-fGCH(q@UZ3_M&LDH9V-{Nf zbe&h<8jWm7qYp7G2@+>H!u7-SH^vcXlQ_o_ZUi%dNRsGsgj-@Tf#@dDm}FcxDI+AHNB?#LWpIWz_|`sKzF7BB|RdPy!4R?xZ)M{8X5POu`T~51?8`WVALUv>nOVNr>a(Oecw>WI+ zq}chy-s-T5T>2$D$oAat*0>JIXn9@vGVm2}ja#xPNz%=Y9QELbTRS$%4b%|0Zg|{=ZIfwaZoivcI)ATV&#cWIgtl;5v)Z?U{Fv_NLLFtkaEgy_~ z`v##W4Vu9jX8xjEVO5CO)8f*Y?9%-nGy~tH)wdum?*sB}TqNWvNIy7R`#S71Vhm$0 zbNLQ!z6+`P8LqPoJvt`Z>U@vtr%i2rX{Z~MI$0vmQ2nf_Er<&0)0XS|m+w>k14x&l zo|OC$7l@LA^n=;DoIXzMM(TM>XU2qI`8l;On0D3#?JuZ((X_z??JueQm1!4F(Egg*mrT2K zg7!Dm{?@dMScfCijglQ1@~}vJGh&D2cZ7a#&~b%FFxF(qA4t4x#2$R7NQNJPj@bW5 z{hv%fr*jq_5cKdG{+XJ;m}bE^&0nc`#WZurY5qpdt4=fa!0CfS_^S>FFocu86MM}P zn9VK)el%{;!YtbGEy_R0y>6UyPnYBVN$y|9EiR^)f~z6jjZo4U_UJ17(ka;wp52>i@Mk$I8i>usZ0f~i1xQ>Dn#Rv~w zasP3NXBG=ak7lD!D*ZGf8*R$%-r(h@RDA?-HPvJWm2vM;0` z%-1j>=UhiUQiz62$$m83A5xKdHU?VZrLc&?LsiDGr2_~ZXpr+x)~rT_lkQ?|haufT zL=J|upBFg<7YR8O(r8(CU?ElpURN}4Y#K@f1YFv?tP>lRN~UtGOJ%+rm0-bcdLXhj zJ&0%{s*iW-dAq5XQ(fiM&c}}Y7Yjy&>J^ao)HAXY7YV6`435w)2HVA27ZQ(34J(ax zye2iYTm|Xe61_dLnwD!I{oow+z-mnS%2jLO^r9ES0>kiq$XZ&jgH-ZR7ptjc!RJ*= z-~(8A5lv@U*?yX3uXNN%o-D z!8CB;&y{it(>xVYdsp*2QNyUcMEUpikoH?6QiqF#)I<8%Ne5n8KKYev)*?Dqcdo&z zJQ{6)RN&d&fkpxw9ngFQi#HQ!j7N);WYR=xlTnA$ljo=rL~(2R8R~;u7A~DCX(roZ ztjAYJwkf`>!E4)*l2|I4lYm&OVrwg!U*|A~*jCIJc^xBgN{DU+AZ-NOA??10wBM4{Lu&Tl&>2s?AXyqeUE2wa!zaTFs}q8#fc#Vu%arB*OTQwg5r@vXx9Hr2R1B zesF=fA4osw)+$%)qUvhw`!qJucLvSQgj8gfb$hS`M`OwdBti9ArgmFQX$o9ZtR0`T z37lhqEj0jO4rI6vlBll6*61e5cNuT>E_jCcp*t+y1bQItK6Xk97YW%8=?CW(+)&k+ zJOMwbvyswEqdrIltn&uIM#X8W&o#CEDAbH3Qu}@a8A$ulQ5nERLIxrI;05h4>JpUI zwRmf&h!8I6v745q;Si)kuD~j!-y}c@sTW9>aNn@xZ~>nQBznRpAS`i0Kw2LA zO#ysb$(t& z{A$A&bRNI^EicC_=xxUT_!RM-sv#yoH#Wzy?D`re@NP?>fvu3|_?PlS$zZ5dNUSZdKc)@P`QBYOvcj zYf|_&!XGwx$%N;DR~BintJ^9cA$GfAF3x3Kng#5m#O^TckjYZJlh|E`EuIYf7_pBV z7U43~u^+|8j)D!wx<rc}99tG zE+c5A)e-S2a-TMCPx^btxI(uqq6@0x%72FZXN{lzhWx$cKWF@2Z^++A{_~JlO^wJG zaFLKNLi)`=K#k5`_Zm241_!g)8WZ0d!Ug1h8h!~9(4l-K2;47@3$gv^C>+EOkb2Nj zjV!dFbmJojWF@yN+3PiLAFh&z$Uf}Y4Xz`*W~`_B2-RPPbU8(s)K_qkkgr1e!QMLd z&`Q4s`xr*KFfl7%qs^m`s(0ISslKUOr?vQ~iXgZSXLr z{sz@gntA~P9n`wDZA(t@Hhi+5UvupPKgA3AR6@_IcADK0*6)YF{v|n;sZT`4`l_Xxcql zx{6vh{OsE3<{?S>CE;HgeB#vbuL-|ou=BD`n(}W5|5oAmRy403cMICB_#L&sx1_f4 zgG5r;1r&QZVvQw&Dw4V!Vj1>PlpR&_2l6i)zsDQ$eH;cO2rfV1s=K^QfC|x~3A{ z0_ql;?uZiI9@H%|-P#h}p42Ti-TD&UUexVvx{W2eCDbi7T~MOihq`@DcWQ}lKkD{3 z-I@~J0n{C6I@gQQvV@jXV;tzEhTmH&S9H+oQ<*+&xN#7T4mP9Z?BPvrgk4NAhD!D$ zOv>kni9MT`z@e5v8^?7>Kr86B!IT$W)+&b)@eJwU7#K(cwu6!3;w-7_*d0#x2xCv5 zl0A~_QO0&o$sSF1nXy}^WRD^18@rC(LCfzjocqr0r$Z!-$#i===cJNG$C}Z?|IO$) z8Xa#&Oa3>b)$HU6kK>J`EMv)mp{(v`sJE!w<1k7;mu7C=bhsajH&sf=B*c<9xbTQH z2@Dp8w+jNuH3_X*<6ZrdBR_1s`@&pi%kv}TcNo8bC7OJd#@ILq>P|A}88e?=docJ} zWE_Vh$S8qbkSRLP2O~*&Gp^v8gY<)oXTa^HyANUBSGQfxdF!x}C#sLC8=jn`oX-T_ z3aRX(3G7--{-mTZZFT|K3ypOfK#!#hwrLQ>I);eew~@Ta$c3Gek{o~p2T#(#?wfz( z$*MD4m%cHLcUT%O2)E?d;(a5M#Gwc*1G@TCE~d#PkoFac{~BuF zZQ2C|}&JKPO`Zq7=oUv8%M z7Ss9@v>%}MgQi{1=|9bjzAii*^kF3#E^i)@9^E)~u#!I<=&FUmQTY&!Z#CmXUA+ur z`0=@qp}lOmjogQgTk3k2;1~}Q9qvOYvu>)bHu4d&w;Ss=3epV4(6!LF^-=2YfV2mi zk~?vckh>tU`W}x9Up}!_Y(P>AudWu?;P7IVWX(RN5{_PeMCQRsPpVA>hjoD%?K<; z{eOYv7mc*tctIB2FxUtgbTc+eDx?oKqh9Ps2z}Y0xvnP?SpSe!{!{Q-z4!ZBiwe*n&KGoZ4yrzvDoc@4x%GDkVf$6j!|!;ZrR#Dkko3w zKZS1{{spH$()oU| zbMd&qR;;f61)&!mvlzXxr8=5fi8BTc{5VeX$Drm_Ic|b#;>Hm&) zzjt=Wadd_37OFjaE#va@2l6jF-tF+CJa#nwBQ<|=niX%H(x1uy#qk!pF&2I#f2H~r zr*@}@;D-wJi2RM}SDkuV;azQMYif6|`R~-f=Jdz2ZHKvTMT8BMGb5GWa`^|5*B#PX z7WpTUe?hu3+?|$x<02vdf%JnO4O!A{VCu3cfY`B+d&!`f>Uuo+FO8?+j0gp%^NEZD z-4YY-5>*umve(q(BUE>iy-}=Lt}Rt?XnI>R_zw; zvL~$);F=ffUNbYUqXQxPW3CX2KR z7Ww>$-5I=()_A-aBt~L`5nIa;jU+Z2u~!+QiNq!&jw(YmlW0)__kU&? zA|TOfX++BqZ6w-_IH3%28i@`g4lYB)NW_hBoww5Gv6;jcBU}ftl-No_*R<%poKfai zPA9R=((uX+VYPF+gHa3Ea!JGHGN<3|Sh7mmxwD zV#JAMh#ZMwBbJmQMo8>X0{J+r46&2Mc}7&0Ax25;QUcGkt_<;J5^phLQ5oWV5^pu) zm@>o#BrY`K&@#l^NL*xuTNP3I)Zb3x9Y&m7CXI_pT%rV?$MP~np2RyXjs43Imy)>5 z(&#EfTu$N&BaSUYyogU#Pvp;QiiyJ#EnYenI2z;xQWF3EsZ_O5I2*!#fbgN5Fa4%K_lF8iluM=LnLlB zVxKZ;+(zQVN+74*Wr&ZExZTn?q73m-5_cHUP=>gZ#9c-#E<=2b#K(;|x(snQiBA}D zKpEnbB?Uwreq%>`(8}2(%2PKvfm{8EoJc>PMVVaHrb~vU3X~VWbfiTWWQ_dSyQI_J+e<5d;FB_Gi0AN z*7?zq_lKqvjktx|33ko~Q)$nU9BvcDtydrLPt zCHn`mFB@AmCHqIRe=;^U>FDIoAUV@W=h@ZdI=L!PW>G!c)XuS`YMtrvBAaleXS^yV zb4bmFbouPxCG&8Rkok~)aE&grP+yatn57fhI3qCGp{H$O%}%>4p!GsXCFjuRhl8E5 zxd)tfk!WTZKA}CxEHY*~gAdkv&2D+`o>VS2Wnc+tQ&k;lZD_-uG%?wW%-)ce#gr_; z1-3ee^n(j@@r@3$s}ZK!;11^~Y?&qd&~{%)<>qk8P&xC*?MLW73_6fxC75LF5mHv>d195L{q+p(b(obj)?BmvasFz->-r^*ol} zc^d@bIhe;ijJ6)6Tk6(7B!|=X2(|rQMe`$!b7-wP9xIixgQ;7*aZC<=Y3!!A4(l9o zJf$vmmLr+cQDZ5I9Ln z3Nx5RKmSw)h36qFX;=+uuXv}_-~yXQLHfaMg|j_t*YHTSq^zdF8c0>T^<*UT(7(d7YR8L(hu&{6ghWYyT*(52@JQ?Cj^d-NBUTUTvWN}U z8*q`34Um5DxE439N!qLGv8@J5D)v>6w^)THjkMkfsia#7I*x2fX7z`piP$E?<}w6v z99Fn7J*iOltmmfn(oCZkGjdhxI3pa8hDB5n-Hk0E*$Qd*utVB#ffEEF{pP=;rqS(4 zYq0QApPigWz5^0E7rL#wmgF$zhKhSEwsSQ`jBMPot^!at))a*ge*kaH%?in8a$6iX z*UiKj*R&1ufLp28i8lP^90pbu(g`qYGH#2F(@Ab~q+5qwAQ5np9LB`P8AQ%>i0zqz zAH$=@4z39*&vHsv>#039_0vO}3(N5lW|bLEpPQ7kiJt>$4-cmr;sSA8kbdxiie}G+ zY~YA@oe0LFif)?pK&tx4iRu*9+f9A=M0GFKeWpHwjYlmK-w+R43crvhbFMMVTpSvh zpsB7}Hx71jDQIWvq@QTU(4(h92Z#ql^P`#VNrYRG5o28F zfH4y@nIk%E=uuPs@(9r#koG=uvJ)2xISl?d z{~26hPbWw}_`3EvbWf+k8b1^Q^znl#p3s49Pa9f}lY5!Q=OC4LK{8YE_mTg+@$NLo zaXgn1+k28Pko}^uv)IuaW8L~vEHC9Fb|LB3yOjHB`6aWQ@qe&)_PqP$E4aWaKuAAWR?*z-f>yAF6t?Yi=QlEJ>ua=p z6jCX-Lv77&)YnNpW|ReYfhugijal`s^ZAk_V2z;)2AR6b9*FIqlL0Us7J!ccgTF#827a(6H97y z@jYsvHtkGT>p_cxfpFnxsC^dFvbIycj|(gTg!F^UG;6xMXEi#z@z$W&udskuH>CO@ z6ZsLO8q8-oSA#M`Fb1prnEZ2)_M@Zn6I@^ma7aIRRm;AvJ6wY(Um31lu|j@Ei{~L# zdmT#>v|K#r0;aVtiuDZYVWRSL(k~eOXdx~1YtW9#FQ|Rdv`Z#ve@X4HOzZZW!!Mcb zuc>{>w2Qgu9a`PQpim=@3)z+55dW>=^WO;n9r52AzLef#q~3s z;$^egi*+n4f+S+`<&RYU$&?FAm4Bx4FQ#hf0tuNZKHi&S5MW7xY= zk@jRa!sT$DXG#aNE`D3Ln@x@)G`F&tyT37sS1pN~I3U1pAkrPpzmz!)C?4p z`8Tou7|4?7CX;F~-fL_tJhDA$wHQ)~fIWL9 z0$tINl)b3l+tjX~rRrk1+7bdwA?;T~*#{TcKT2)l6*yvj86Gb-s!ZW{CwNMR5dArT z{nHWJj=hR8dfkj&rLc8jQui+0kE!hs>3l8&A_p+F10hl9#_rzjoY6a?4@hIu4x;73 zkV?5#+tth%0!{F2-ZYSx(2zZcoA0u)&F0iXNq#vZUs?%|OHTF?z z7|n_GIiaWPM|;+s_@Sbk|co$0#$TTkKVm zI~LM%eV!bL3!Fm-=?ATPFrXG!^kjH)X4B?aRE=dh4XYrhfFgue8042vX(gd*gIsLi zZa-H;Xq7>3H*G+L6H>78NpCWjmDR-780PjDD1)sfw$89^tki+EHgxKDP)qFzrgi&- zj%nXS?TMy!8-_Egihv#o?JH=o5SsHC@fQ1^pDakTx|qcm7= z1{>bkppFLhW^f|EM*Ko7+N2wZNCVXyOzq}dphoMCml}y;S5K^_;Zw~>BiW6{x}rH5 z+eCH~q$@_-2c#Jn329ODW%@no0Z(gcF{F&h1u8Y$c&> zq5g^+Mk*0xGdzN;cQ(|I6QuEA28-J*9#X}t^5 z3OClY(fTcresHFK6zs>Z#2UkB5Yc5wIqX!AwMXaE^sSJJnb$%0L}0CF*|@^T5JD$Q%5 zd#@uvUY}l``gfXsrt4=wZ_XsSl={mc?FR?sa$F?j3P?Y=MLR!wKB~WdLQ%dFg2$-9`+m5^%X90}vB+Aycllg-Li#I81MHlOD>%-*V8L+ss~b8gYGK1f#{8pmVqI;2^R@@KcpYrt;Lypr{LReWyNwcEpCBSty^GPtJ*j} zNUYY5V7IdYx`{tP_JhVcKb*20Gt+%4A0l!qq-7u@x8VXF7f8SPNvtX2CY>w2HH|^r z`lgl!xbNg6w7MM<#C~px1qPkDAslRsqusI@tXRtq=H#Q~?r_|!&U&q~vCo1=sbD>; zF8b@&{`2?_d|{nNM-m@fVZFJI5BjiJ85>3B^!M*%x_7yB_o6QW>AHRQ^!y~Pn(!nh zBn`ul(eUHWa6ac0Vc6W>Y6Wb-TaOdMRCf%WX6Am?a-wik+)JWk{Z zhwNQ=^|}*P$usx{u_qliv+$u5#yHN~trh4u$$iUlt_P1_+>*u8em5?*5{=A#o9I&x z-IG-<&~52nI3}U~4%Od^L;k3)Y*^hXX2?wi5)S;FeD zt(c7;6MqiU>Zfk`2`=E|(G-r*s`miYDs@<#+oK0JW3%_QUK>`i^MS#A@iQjyJfv%F z2Y1QOnZOH>*yn3HcBj(Nf^8`{9#C*mPgnQgkf{`Qx%dTbUxZX{7ClnqIP8!q{gKvf zg}Ot2N&Z*HyAATE;(ty4CF5O}b{vn|0mphI{q;wR+7LfZBbYpLR)J*WkL~$l4r)n$Zul$Ku zAT_zd2Ak*?pv%G8oxc%y)qo~9R>SYPW4`}R?Q4*h!<7637YTVC(hs(4%dX?s>S}bF z3!Ca|SLdHJ{1>D`wv9g^>$t~~eVBZzl7AEXk73qf+a3Eav1w?+H8txB0Gr^`#IukJ zK!^&0v>f-!3|u5+CZrz>=)nYTTkx@{6vX*N+`OL5qWNq{MNhQpGK9+%jv<>vV6Fkx zY}Tu5R_VUsR%~P*k@<%BEDDMQ8VwY|<}w%t7X73aG_rs;3(e-xPPnsvDkC~*#{SJ z6RFK{T0!W0Ub7AdmZV3D#ZLC4-TshPFJ$Ea+8qe#H~$3zJo90aaM37Kb_u*K)yP6Sn8Tq_i%8SNErn5ykS3N;!KkNQ(3N(+_8?E{l7e&<7jcbvvB*rAZ0yziFLOZjl^U*nJUN3?8MikZ$zt( zYKc&{!s!+k-j?bxV3U>9Ry(cp+L@(lYp7l2v@TM|w8PmUtodC{{Tiotd+bB6r!%5M zrjKPUfprdWtEftWS^_6Px^js}{w7=?oCnemZr2g07O>hi>(F1{iD8ADM3a*tRbBA( zuETU@G0-H^7;lqP$ejx5k{;@pC@yg58>AoHsJrPfQb_lxL0#!W!s}>N52=Ln1=s2z z8C_*;*(?pzZ!rCAm$~8qSQ@F`XzCd*5(6=ddYVv^T)-sRifcvfqio_ z$q}o~(EAsJ%i)BVI_&d9jhx1mJ0LZciq5(zQo$ZXXqB*K=7dp1A=%ctv2)5BRA^=dH>y(zhKXEGyOX{_y+?#wWo^EIVl!N*^yr%$KF zHc0z9MET$%A!kDR!4rCG8YHlK1!}LtR{2;lom4N`4jfsTU;<}BD(vR^2qU5^D`!)C zj%nR!UbTfywv*I%nchWasJ_@VcN6F_zvWf6 z?qiOA-P+Z~45Vp(E~KK<*-lMBd9VQ9oY&skNH11DZ8Bz4!KXaI2J=zl&IpnLS`0#3 zCPyWU3%Hsf{op12W$ihxhPT3!fYeS47Wt7k^NV}JmycrkR zM+wpop485TP8;ByNZyJ^pKlf3XjMdaDmb6^Z-rEL{*>$mWG^(6*7Ig{I&F=H*4RcFSJCEbNYz`%!yRBZ*73N8 z(7O$C8?hh}eLQ2(dk9@?P$xTUfb`3TY54RyOP15Ifswm&N$rTPw2yTz$ckM*78P7-$+v6!zJ z1X{{b9U{udsQ-R6O+FF8POT;A^{{|Vz=ggSVf?l>B0UnQTU`W{m+aGg1H3femA zn-Is0gUE9IN%<71PaEa-U`HZ0ENQB5h+^^%-4oH5_8G#THP{XspA5d2@aGIZlCkHS zz2#*tBjwZcO_KwO=;vB31%p+OJUiRnxkN z7-$RLsYpXdRK7;$QDa>2=|tx1WF9kSPuD|5I_#l7PURD(wC-y``3)+cgtQN9SiXr1 zg!4f9!9tzmqU#lP)40OY|@QMbYH>_OcHtR zBPf_zYyxLfScTXyw-;U0V7GSEI^uPe@?$3Z9Hb_(;QuFypD>A^Lb{xVN%NVpjhv>R&ChB00;EE&-%<;xc+bBe@FJv38TIQgagmT;LHa>n8wKsu zS7Q;5`!eO%GF)#xp@2g}_8_>(fv(1$0AeNAo`e=V$W5M= zLKrs5UWE2`&|_>2a2cF5Pk5Ulx8amKdH%>|pAbp^tXO^L3>8|cR^jcB~ppk<}AMEJk*{LZ_ z8@{g{TBfmXVcHuJ zquiZdR^mD@)sU)o(HN@M9Zx%UqBE$$u^Fi$w#u+Q*b7iBjx)$)HI-{1-Ou(9%353` zWE~`SMAL>+7wI*phlg|A@v}7rAGf!1-5N~H6o&6ONF9YHC$&uN1W2{4W?fa*vM^eI z6Aex@gAMH7l{K(%xpc3NMC2rzoeb%6o#~cSaFLKxA>lyRTx%qH%Lq;@_g1dOZ2xX~ zjRMWfdPwCDWnRbgyG=UP(V*T8s`*&P8Q3j(ehlID`nx!u+8rMt4Yb?<>9V^sCylsB z$VNy%IC?q`VAsL=nsqqYEIE)xEm$1tHPLnxq;eH3)XEjUB=VdtFYKm?qw#3d0_lD) zHy{Bn64I*49Hm_h^}t|9$n;>=t67V#tsv05kfyZJz8%uJpE1#M8tpsOUNjrp3dMCx z&1Gsk*qt6qdDYmFuPzoJz}|=%i7}1%SQ<&$%rv$@`oV__%XOoe%S|V}TCDEjO2e&C z=S7RUGVa{qaZJN-x-Z!i!T%xZBst6w^~|W8POEKZs zVH_MoTNll!0}Kv~1lhBUbt9W`Y{_BbayH>}44%o6I#_c86XP9#YX?ps_M`H97vuRF~ zI~UUB1)H7r<02s$NWb|xWQB`Nu(<&iLepP^0gxAyE?sXoK2ax)-5BrNXQOIKN!^t5dXrd))>mW`f(?& z^Ku@fsx1r#Y7JZ-rEZt$Y^fD=bUkPf=gkD(0%^aOk@InZrDc$Q(68@Fqi+y-gAnoR z8ibl|M;s#V_ySs92&t6&RK`)v8+wezHQVww8eC)s&Pg_AQ0MlEd^@3c805~e7=sGG zeKDy^jB??RV^ry~)I8aD8hgNmyV2gUzQ0RJT?T2-p;s=)1)`%M{a}yj=#uK$epn09 z*wIu!(IMTAKpCCzeHW9t5>idv^d?MPAG{4uP@$^`U2TwC_5~=0s#vpf4b|^9wVO5> zr+yFB*P7aSGRCRjOZEFq?Z*77#&lobNS9nk_4TH9$7zmJ-$3<^koFk*T*FZi>{T)s})A_~5>+hugE~oGA^zC-G;d|bNlUv|f z$)IK*%=M?v^~5dM?;rL2Z86LbevGyshqT9&mb-D0kWWCOg{x?;bip9la-dMMK1rK< zAXV=(Lp9LHn&8^Ss7gLX;L`@oXE7sC$cMM9n75uPdg4Aqlh2yTsm@1%G~>&wJwxs# z@;O5`xZom1kk&vFA#m}L9DhHu1q;ySKH{H;v^(pPFW>@)#zFeQ!G&RSQ%>D)IZOqt z^}5`!FeUfX_)Cxqx*pniaD7KZ!?p%_fY^hExvI1b_7Jg$AuTIec?1^;`7)#*oUf4x z7(b$m$W5{J&^TIr6;icJSYlMWF)O%T`5M)antDE;ma5(C5+~liPUJB|PArE!PUHzg zT*1;*V%Y)bjQIwECk<#U<^q6z*59Q1Tc+-qsQxz9Pnp`5i6D7>UpZ9N-=Y4yknX8q zzv}Pd0x?C9esGn(Aazx-icETlZ&+7_Z~hsYJqxMGJ{;eSA$3XgXX4qNSVNDUEV4sc zT^53)<7o5)Gjel?X^MbIfnE&92!B%CWJHG zTiYt-??hj7=v)_Ch#;L2xcGG|9V93JAo99H+&0ii4Zeuevm;}1SjgHx3I5B0ZeLP> zO>M1(UiiNW{Kol5UDkb>e)_hXU30H&!Kv*Q@eFD_<3uO=TSM|DQyXNQMrK1 zg-*Gkka4rzgUUrtxtD9%R(TyZO0{zzs=P)lh0_r%9{irPSnMp8xW*E}O6h^oYy=^~ zvKRGxJN;sgevwhFB)d6EM^IZdH;iRpm}f_FONcLZ_(8611}-=|Uj0h@P`$5HyE+%C z6@8ieQN6!YyP$w^YIt(>C#6^lTjT&59Ow+(TmuYF&te)_4x;X0NcW*+`sEN@V7DSj zKe$;V>2)1W3-$)YK(P>DCWq0^gH*;1Rf42`2_H;-I+=l6>=<%Bq`SYN0jb1ALXK6_RXQ5i(R6zn z@fSLt4$|QW0(l0#)hjTR(bY{kIgV)@59vnaJGx~#)2M>WU?U|R!5Mz*n*CubW;dSHDD#a;2~fdf$0XU z%*svx?wsSdsjCU?Zjes$F9X#Ont{}=p>rO7V0Z{=-1}NS=J*S~BRRL4S@_2>ZZ=ZM z*BU|c*$T@#w+Hj*Sbi~Q#{7I#<^CcHtgLQw>HQbr(qPmmh4G^}e6Ob@YSD*C&_vQq z=qi3Of%r&!RJvN`&P8g4?sfCr+U-8vGb|g6R8k(J$!)TroPOk5TRff+s4ts{d^F0iHzg zWCd3q06c}@sS4`4Up+KhU-oRAM&xuwR`+fBZnt@-aR$LN6;#(X*a|vY9vbm2c(CQd zoJI6(Mb}iv6u3igTzq7pYcO=mwsLANB5hr16?hu^L7iOXCnBuDPLs8@fpF zq6;Xy5GfE{cnqW}(=OA943ctdE#HZ0?G4l2E#z)RYG0Th zcN=~nauU+G_XqLkkU`W+OorrwVOGEuPUiB^?Q4`^nC=dmxf7{KR%0!@tR&HcMm}(V z(O8%JBXxI~u4uV+cT;x{QZ07(Vs|fo)VuqT#=Tc0`27SFdm@I<5MUvJHIr$~JI2O@ ze#vW@*95@QOFVZ{m%96D{{f_8YbA!vpe@<`(06z>IW%0Z5Wsjj4Sj~*xUgfZ%%6=j|z z^OP~_3l(LaCi9FjTJ1!cXURNgjQUGOndiy8V2pae3ZrhV{^ys@;qFDUFBv*W%sB3aTP+ukTnjtCn>;3v_4)gW+AWL8g0~#5+dJXT?WijEw4+&aIv_%e_nHJ!4i2?)_Y^ zvMzW?{4fB2BK$s5d*Bzk5AXxdSxDpF?c(;v#S0Z>@Vdbmb*5vC=RTt9W28c8)4f87 zX0+X8kGf9?d}=^3dujqyiIWI+>O~h7S7-n9LT;?-J|q6Q;Y0bQ5j-g!h0@*eWzDo_ zI`B%lFGzlAq)tc)>CH%%V&9#18Afk*Uy=ISDDBerZSNbB-y*g1?{(kd2VA+3#=XOe zv3NtenPub0-KTNqwU73|8 zfb2Q<`zKmCspB7xjM65n@YMg4W_~g=Hd}}Sa6%Q4G~K@l{A@rG2N?S4JvEbk7qSN%{?_RYd`k~igANH$p8Ra!Z3rdy4w!KTu&5>Ztr zN&}@lgno0_4WVGD2{Zrz1nl|1O>VXfaLL!itxj+a19jX0Ajg7AtKhLM`*piDNv&m+ z-V0Dk>7)2Pi}>VZWz{IRHql{*4&zhM54sM~bq#IgYa*z_DnN`)Hv7$-^~eo3ZpD7N z^~r63)NX61+YmqM-3X*{uUI<2jQOo0CNcRel^x0iuBeQ+5ZgamQJQ}GTu-lEnk9t>vH0~`bs#(HOJb6=+nT8Y!4Hv12u}NA7 zmnIX*q${P7?U0Hwj0*grw6SEz8G9m6Kg!NX9e_(IRZNK+Pre+f zoe@00@B^M-NaJ3;T#~_ZJGV!uZJmFvpkxQ6lCANqG+UNL$Ro?}BRdk?$uQk0Q?O*V zgZ&ZAu)?PfHMHGUw=)I1m_XyK4=C7`g58i>*`2Gz4=gf78uv!ZcN%}KPyt`LxmbKq zDIWP%_|GwJGExC70(w3$g}_t;v`+yG$*fx_UtTwj`O__5eOZw2cS~gnM_0PtRTJAC zsTB@krSJn`rI5zGJN*IQiVA7oCrTy4V^?eB;q+)^CQ=dT+H4V2wsrSlN>fIcqac@bHw@*>s7+ei`8mdz8a_@@yv&&JhIDGJ`s`Ue%pxGo+ zn1CX!fHyLH;%r2exOuc9_t4I1k(-Yn^=?lw zJW8I;ZBd?Nc2TO016AQ325jcSM9DXNl-r9I_eQEC=-C!mPmB8?jeCcSNe&z%%%6Q` z?F+jvmHQzTYLbpJf=bH`=Q*cHG#H@)+{!@IH_Tda&|wKyx7Mt&JbWSXHp7Ql%M3xT z)S|t#THmjsouEq+m3f(pWIq?^{L>tsE{(YLQagFql#w)M8Rglv>=E%a20D3fopowi=<=W4rKm8ny(c}DF0yQAENo|vAHVwQsORM-4L6#AXd8&(I2HL zBE5ikGEqCq9ZKP0Dzxq8Md;G#6md(1!$~YvqKtheFNHT9;x2PRI@t)Ki~?6H11t3m8!HcI3zKp9brPd5jUd( zA^RuSx|1kA8L4-pRA|zTSQhlB?c6EEPZby4wPyb7mhAKocm(-EG$U9kVtRJCKTv$B ziifeClP_+|WSc5V7sCmhJB^pP%gA3Y{5N**@_58VbUodzB?yjKvbeRxT|xRvwZ1lA z;5>S2Tk{gUIPNM^S1UCkT83#@!iCT+HgS$P!tNUK*DAjT`_Oq-r>A=Sbw<|_yk5b5 zSTp2KJ%|C%bGw)LeTr`!eZAm{j{O{RmHPdpA5dB+DDsTYD$}pegQOl( zO50<7P!E%OM5!Us=gYVCD5=Mk(x__rwmO>GZ*-3ndqT0bq8DgZC;Ei`hv`Y8Pbs=N z10&^GjJySYfA49Eo>9?e%PD%6qUTh!PP9<7y_s~~UYx>;z~_m+py<%(QzPNk5Y(x0 zA=dvkx);g5r0nph**S2@l93u|dAXN~zM^PF^vOlA%~)+supHu5!mla3LDX)dJCk*& zb}$#!>|Q7OhN4?Vi<{`_K-{?WB7GX(B>R@Ko3eE@!1WH?V&A6h9hHq-ZrQt(y{EF+ za?Aci+50NfRUdhU3_dR(5c^QE)!01B!;(rP7 zLGIs}`=jN~(ExCMuEY?)(kB^3C_&2+fwulm{2zuNrXl@&-2IceKUwZCI&|gdS`#_= zq_cJRFDiakMa=`e?}4DUV_^q8Qr*7^{YRjQvOV?KywgMfuq~ZGlolHDkg^B;BKKd~ z`9qV*^mZlb$%;aZ_1txwSgBEnO5q;A9#i2T8d zKA!0kw;`n??07Sa>$cB-V5{IriFpc{7MPQ$Lf}gGzsyzNo_LvA-?)(V zvBbw2zF8rBJn?eF*Di!lAU@IXPYU4`#CH%Jmt6-x`hQ|}B)yXvA704#&ct^y{L4c4 zuEci}9GAVf&}FYAKFO?aRLFW2@yUkA3gJ_TPc?k4LijY|(+&T)5ME7ucf;2!gx3(C zVfYt?aF6&*!Eqr`-wj+3%pyM9tdA&UeGlSu4Bxa6o*eHv3h~)SWkK%GrnOVL~EXNB-I@%;tIbsSpYIxZyLX2v%tWW1ethZ=|fdgQb0e^32Y zK6zhswqP=pcZz&sk%yy66q29{3_i#G$q%61nH;y}x5>LG?-n^4+7E;q+F52Ul1yB- zk>Sk6%v@s1CE;sY)hZFVZ9W^}Q(O<}UNz-KABSb|1BoAGI0A2n`bh^f_YljyyojUN zxl5MDlK&34=ceHY(uUYG76F1+`%p>`Q)$iZ9P7zfMuK@CPJF2ysjawfo6yZcTrUYR zT9wImAc#BKU5L_DniL9B+aV;lrQ6%o8OOPaQfip$mKxb5B;OcWI;}dJ1z- zm0XPl)J*Tb;=0kHvvwIY@8=>S3^oYv&b37I-WYclEu1YD z(7{x%^xS2mf#81Uw}VUEIaHo2N|gG<$TKsL@;oZfS0x-s!sm1Wb1#%!lqk-*zg&s3 z!LGyF4PB<|`FqMQ5;?w==!?YiFUjOggE%q;wSYe`d@)s*nCgA?R|$?frDP_yw!}u# z`Bxy*iO_+RT`Dq^bt&gfbE*_J->kt3oopk<#Qge3Uf#B*bk`8S)(+E9%+=vJzHMPE`cQHy#FMTxHl-7z1IbLb zQKq#^+;vo6FKRp%uY~XI4a~ezGm#%2^nlkTRzP*Rn@HVk)N@7j6%7g?Ya;UFzz4ob z?3CR??X9MDk=s8F6W5_0C4M0`ue*(^+eL*dd*gDd?x5;UQ=O~P4TEw{!)gW_I%CQH zNct|LpNZ4~cQf}M$wj*-Sri`Wsm3eZk->PByv&&S2%cZ*;9{%SyiV=CG<2UDihg76 zXXXQviRbm&y5HqL3Dp_6()vASjJj(;n~?Dbseed~BYN|1Ht;YFJR$~gp^FD`EH$`f zEJ5%r1~*n7%10@D%!J3Q8*U)nJ=KK)DEBy_Ck$FJDE#2mq&nf;7J7&Cdh<_G`;=*K zRUhr(05#2+%N1X;pmb8Gr>S{HG`O6%hX(-qmOM+zb0WcgE-wmeW?;V@hi8(XKmR7X z=c#!?G-x)g6>gEtXijzJN)>kO<#YEU)i3E0@%D#4ATKlX6*C)>TUuw1he z%-45el_71uO4(~F^M(!zSJECjFb(`7SfxlT18yrxtO=T5xYYG;SmcT1wY< zm*~|jv0_h8HzHOmc66nU_w@iCUUu2@G0z5uL$S=w-k;d`&};JnwI8Y$K9|2i`Vplc zn{@DRk$ytyry|AE`QC4len#o%CjCuE{esdjMT%<;ZzOTe%U!2TtBmUVk9KUvZ1)uf zUz=bDo!ZL@lGqiHclaA}-x{}hQTQ`9bINR5ZA5*p&**pLzgNCy^KgR@fz7bVdhWfE zxB1T${2&56l+h;KUzqz>HRsi-msU_r1n{PVmLB?VWPemkHBI4%@$bz1hh}=Ci^A_5 zmIG#W+5vuZjT~Nw2bT;t{*$_&M2A{nDMLHtj*rco@cl*5bi89)i;vA+Wxl@hasC%= z{46$biuklkxVMOr$*G0%F8J*g8}fAjru07|#nbfpZ&3c1%3nl@C*qMvk7}lryg7xY zQdOoc<5EqTT)BDPzf!&e!g@%VF*^}orp%NFHM5l*-etI{MbKd;Lex0;MUkhA2k#O$ zpF!kSR1R@UW#7B-g(0>Qv6TfwVbD{WxD2-#p*gXx+vrzLL|HcfD=lUhS4G}*4D zYg`VJm?(G%+?u4;QcA9*?30(n#JdUI!(2CGv_7_LQ#Q--+C=O_)1Ua&a!0O$fbPv$G8d@8J8bM;`G_DUFE~@75*Z8bMlQ zSXtM{ZW|)J`SgXDCtac~g>e=DSg(wly0o7S)Xl9eKvA&@s_y2#PQZj~6_Y68P@V z$V!j|S{kj#^LC4T4d5k->Tpu3MH1Bg*$ z;CY04D)h7k%~T#|dzvT{6Bq{=R!ldBoDErZ+l|GyaAk1t)fr2AoY1&xO9qC=6D}7R zr5ijjJb~~;f$>N^Ffd#}cn5*;AYqxZf)wYyRt z1`qo#SPiimX6%)ID38=kGlrL?Z)3BF%{F6C^+WAJYK~Dq_d_K}C5^hIAF7trT%|nB z5%*oNdBh}!hE#}X==6=vC$^_y7_aRc+l$!VhM`l?H&#zKoga*nWcHiT^ZG zm8Y27U`CJ|dcx(4(~hqqHrwDU-$=SiX+-V~RV_)h2H;uhnh7m1lXvREnBX<=E1(uq ztwv$<-cScU*}Mb+eORxLpVW5;Jxv4qivfJf%Od*LY zw9`O`7{E=(*iHD-d1$5Qxus-CcN&e#K~@k3R|T%n=yS8fcmP2sAgWa~{wwmqT2!hj zsqYchOg42z<%%sBu}HDM#z7a&b&EONeq87O&s>(~7Ku5W^h5uzxy3ZMM9rbQ7#hm1 z?ZA?}P@AvB^-$0&0^IfY!YvO7WYpWPYVbkTfv*FpJV+1ap-B^JvYIW^qxn3u-7uMT<9q$1h^d;Rs%GChkH&K3)JA>fG;YP!$I#(voRtG}*` zJBR9Xk(!@hk2?=P5cUFT-1}CRqe=>fj{DBYLyuRwt5`bKD;YT#D3++3POD5A0ZtH16Fh z?iW&@RlvNzJiL_eMVq^V+AEO?r;G2%WqajJu44ApmaRclBwLn{)%G?a1_#&8yKBf@ zYurkFOoXe&MQJOo%5aI^b%d@rNEeC_>O}}tbnI?m{*6fWJQii$P54poZblmSHjxcy zvG5q{D<^VcEvgWA3pKYQmHZ+`yp#NdhmE=2ZOpwLsab4xci>08yAx^Ldq22=Y7n(F zJjZ1xAL{NxDvXZtBAmM{I}4b*$=qX%-Q);!FPZy{(G^FwNqk!ehUIy%`w2Z@knXQ) zP?tm$z!Bw4A0+k=QahIp_b`4S5G&HS_n5>s$6qVVgnvKculcKQ9>xETagQMtM2l&N zObT#AhsVi0Vay;ti^e3zOvPw3UAg5JJxTH@BUj>MWu&Z~??~xHgL|6XGsbDKoIDPX zmcKsxS(48gsnK%!CZ8wyf{`ocm(pLiZ%2QTudma>8%T9^Ur)1plNR1W8uzY{_f9?!73C9R z)2s2u%$FUraqjMID&IjWlon8^P~eq!3B6~K?g=MQBGq80@Fx=Q8!<>Y;X>+#Ze=r`000000 literal 0 HcmV?d00001 diff --git a/opencellid_parsing/country_code_conversion/mcc_mnc_table.txt b/opencellid_parsing/country_code_conversion/mcc_mnc_table.txt new file mode 100644 index 0000000..9a92ff7 --- /dev/null +++ b/opencellid_parsing/country_code_conversion/mcc_mnc_table.txt @@ -0,0 +1,1690 @@ +289 88 ge Abkhazia 7 A-Mobile +289 68 ge Abkhazia 7 A-Mobile +289 67 ge Abkhazia 7 Aquafon +412 88 af Afghanistan 93 Afghan Telecom Corp. (AT) +412 80 af Afghanistan 93 Afghan Telecom Corp. (AT) +412 01 af Afghanistan 93 Afghan Wireless/AWCC +412 40 af Afghanistan 93 Areeba/MTN +412 50 af Afghanistan 93 Etisalat +412 30 af Afghanistan 93 Etisalat +412 20 af Afghanistan 93 Roshan/TDCA +412 03 af Afghanistan 93 WaselTelecom (WT) +276 01 al Albania 355 AMC/Cosmote +276 03 al Albania 355 Eagle Mobile +276 04 al Albania 355 PLUS Communication Sh.a +276 02 al Albania 355 Vodafone +603 01 dz Algeria 213 ATM Mobils +603 02 dz Algeria 213 Orascom / DJEZZY +603 03 dz Algeria 213 Oreedo/Wataniya / Nedjma +544 11 as American Samoa 684 Blue Sky Communications +213 03 ad Andorra 376 Mobiland +631 04 ao Angola 244 MoviCel +631 02 ao Angola 244 Unitel +365 840 ai Anguilla 1264 Cable and Wireless +365 010 ai Anguilla 1264 Digicell / Wireless Vent. Ltd +344 030 ag Antigua and Barbuda 1268 APUA PCS +344 920 ag Antigua and Barbuda 1268 C & W +344 930 ag Antigua and Barbuda 1268 DigiCel/Cing. Wireless +722 310 ar Argentina Republic 54 Claro/ CTI/AMX +722 330 ar Argentina Republic 54 Claro/ CTI/AMX +722 320 ar Argentina Republic 54 Claro/ CTI/AMX +722 010 ar Argentina Republic 54 Compania De Radiocomunicaciones Moviles SA +722 070 ar Argentina Republic 54 Movistar/Telefonica +722 020 ar Argentina Republic 54 Nextel +722 341 ar Argentina Republic 54 Telecom Personal S.A. +722 340 ar Argentina Republic 54 Telecom Personal S.A. +283 01 am Armenia 374 ArmenTel/Beeline +283 04 am Armenia 374 Karabakh Telecom +283 10 am Armenia 374 Orange +283 05 am Armenia 374 Vivacell +363 20 aw Aruba 297 Digicel +363 02 aw Aruba 297 Digicel +363 01 aw Aruba 297 Setar GSM +505 14 au Australia 61 AAPT Ltd. +505 24 au Australia 61 Advanced Comm Tech Pty. +505 09 au Australia 61 Airnet Commercial Australia Ltd.. +505 04 au Australia 61 Department of Defense +505 26 au Australia 61 Dialogue Communications Pty Ltd +505 12 au Australia 61 H3G Ltd. +505 06 au Australia 61 H3G Ltd. +505 88 au Australia 61 Localstar Holding Pty. Ltd +505 19 au Australia 61 Lycamobile Pty Ltd +505 08 au Australia 61 Railcorp/Vodafone +505 99 au Australia 61 Railcorp/Vodafone +505 13 au Australia 61 Railcorp/Vodafone +505 90 au Australia 61 Singtel Optus +505 02 au Australia 61 Singtel Optus +505 71 au Australia 61 Telstra Corp. Ltd. +505 72 au Australia 61 Telstra Corp. Ltd. +505 01 au Australia 61 Telstra Corp. Ltd. +505 11 au Australia 61 Telstra Corp. Ltd. +505 05 au Australia 61 The Ozitel Network Pty. +505 16 au Australia 61 Victorian Rail Track Corp. (VicTrack) +505 07 au Australia 61 Vodafone +505 03 au Australia 61 Vodafone +232 01 at Austria 43 A1 MobilKom +232 11 at Austria 43 A1 MobilKom +232 09 at Austria 43 A1 MobilKom +232 02 at Austria 43 A1 MobilKom +232 15 at Austria 43 T-Mobile/Telering +232 14 at Austria 43 H3G +232 10 at Austria 43 H3G +232 12 at Austria 43 3/Orange/One Connect +232 06 at Austria 43 3/Orange/One Connect +232 05 at Austria 43 3/Orange/One Connect +232 17 at Austria 43 Spusu/Mass Response +232 03 at Austria 43 T-Mobile/Telering +232 07 at Austria 43 T-Mobile/Telering +232 04 at Austria 43 T-Mobile/Telering +232 19 at Austria 43 Tele2 +232 08 at Austria 43 A1 MobilKom +232 13 at Austria 43 UPC Austria +400 01 az Azerbaijan 994 Azercell Telekom B.M. +400 04 az Azerbaijan 994 Azerfon. +400 03 az Azerbaijan 994 Caspian American Telecommunications LLC (CATEL) +400 02 az Azerbaijan 994 J.V. Bakcell GSM 2000 +364 390 bs Bahamas 1242 Bahamas Telco. Comp. +364 39 bs Bahamas 1242 Bahamas Telco. Comp. +364 30 bs Bahamas 1242 Bahamas Telco. Comp. +364 03 bs Bahamas 1242 Smart Communications +426 01 bh Bahrain 973 Batelco +426 02 bh Bahrain 973 ZAIN/Vodafone +426 04 bh Bahrain 973 VIVA +470 02 bd Bangladesh 880 Robi/Aktel +470 06 bd Bangladesh 880 Citycell +470 05 bd Bangladesh 880 Citycell +470 01 bd Bangladesh 880 GrameenPhone +470 03 bd Bangladesh 880 Orascom/Banglalink +470 04 bd Bangladesh 880 TeleTalk +470 07 bd Bangladesh 880 Airtel/Warid +342 600 bb Barbados 1246 LIME +342 810 bb Barbados 1246 Cingular Wireless +342 750 bb Barbados 1246 Digicel +342 050 bb Barbados 1246 Digicel +342 820 bb Barbados 1246 Sunbeach +257 03 by Belarus 375 BelCel JV +257 04 by Belarus 375 BeST +257 01 by Belarus 375 Mobile Digital Communications +257 02 by Belarus 375 MTS +206 20 be Belgium 32 Base/KPN +206 01 be Belgium 32 Belgacom/Proximus +206 06 be Belgium 32 Lycamobile Belgium +206 10 be Belgium 32 Mobistar/Orange +206 02 be Belgium 32 SNCT/NMBS +206 05 be Belgium 32 Telenet BidCo NV +702 67 bz Belize 501 DigiCell +702 68 bz Belize 501 International Telco (INTELCO) +616 04 bj Benin 229 Bell Benin/BBCOM +616 02 bj Benin 229 Etisalat/MOOV +616 05 bj Benin 229 GloMobile +616 01 bj Benin 229 Libercom +616 03 bj Benin 229 MTN/Spacetel +350 000 bm Bermuda 1441 Bermuda Digital Communications Ltd (BDC) +350 99 bm Bermuda 1441 CellOne Ltd +350 10 bm Bermuda 1441 DigiCel / Cingular +350 02 bm Bermuda 1441 M3 Wireless Ltd +350 01 bm Bermuda 1441 Telecommunications (Bermuda & West Indies) Ltd (Digicel Bermuda) +402 11 bt Bhutan 975 B-Mobile +402 17 bt Bhutan 975 Bhutan Telecom Ltd (BTL) +402 77 bt Bhutan 975 TashiCell +736 02 bo Bolivia 591 Entel Pcs +736 01 bo Bolivia 591 Viva/Nuevatel +736 03 bo Bolivia 591 Tigo +218 90 ba Bosnia & Herzegov. 387 BH Mobile +218 03 ba Bosnia & Herzegov. 387 Eronet Mobile +218 05 ba Bosnia & Herzegov. 387 M-Tel +652 04 bw Botswana 267 BeMOBILE +652 01 bw Botswana 267 Mascom Wireless (Pty) Ltd. +652 02 bw Botswana 267 Orange +724 12 br Brazil 55 Claro/Albra/America Movil +724 38 br Brazil 55 Claro/Albra/America Movil +724 05 br Brazil 55 Claro/Albra/America Movil +724 01 br Brazil 55 Vivo S.A./Telemig +724 34 br Brazil 55 CTBC Celular SA (CTBC) +724 33 br Brazil 55 CTBC Celular SA (CTBC) +724 32 br Brazil 55 CTBC Celular SA (CTBC) +724 08 br Brazil 55 TIM +724 39 br Brazil 55 Nextel (Telet) +724 00 br Brazil 55 Nextel (Telet) +724 31 br Brazil 55 Oi (TNL PCS / Oi) +724 24 br Brazil 55 Amazonia Celular S/A +724 16 br Brazil 55 Brazil Telcom +724 30 br Brazil 55 Oi (TNL PCS / Oi) +724 54 br Brazil 55 PORTO SEGURO TELECOMUNICACOES +724 15 br Brazil 55 Sercontel Cel +724 07 br Brazil 55 CTBC/Triangulo +724 19 br Brazil 55 Vivo S.A./Telemig +724 03 br Brazil 55 TIM +724 02 br Brazil 55 TIM +724 04 br Brazil 55 TIM +724 37 br Brazil 55 Unicel do Brasil Telecomunicacoes Ltda +724 11 br Brazil 55 Vivo S.A./Telemig +724 10 br Brazil 55 Vivo S.A./Telemig +724 06 br Brazil 55 Vivo S.A./Telemig +724 23 br Brazil 55 Vivo S.A./Telemig +348 570 vg British Virgin Islands 284 Caribbean Cellular +348 770 vg British Virgin Islands 284 Digicel +348 170 vg British Virgin Islands 284 LIME +528 02 bn Brunei Darussalam 673 b-mobile +528 11 bn Brunei Darussalam 673 Datastream (DTSCom) +528 01 bn Brunei Darussalam 673 Telekom Brunei Bhd (TelBru) +284 06 bg Bulgaria 359 BTC Mobile EOOD (vivatel) +284 03 bg Bulgaria 359 BTC Mobile EOOD (vivatel) +284 05 bg Bulgaria 359 Telenor/Cosmo/Globul +284 01 bg Bulgaria 359 MobilTel AD +613 03 bf Burkina Faso 226 TeleCel +613 01 bf Burkina Faso 226 TeleMob-OnaTel +613 02 bf Burkina Faso 226 Airtel/ZAIN/CelTel +642 02 bi Burundi 257 Africel / Safaris +642 08 bi Burundi 257 Lumitel/Viettel +642 03 bi Burundi 257 Onatel / Telecel +642 07 bi Burundi 257 Smart Mobile / LACELL +642 01 bi Burundi 257 Spacetel / Econet / Leo +642 82 bi Burundi 257 Spacetel / Econet / Leo +456 04 kh Cambodia 855 Cambodia Advance Communications Co. Ltd (CADCOMMS) +456 02 kh Cambodia 855 Smart Mobile +456 08 kh Cambodia 855 Metfone +456 18 kh Cambodia 855 MFone/Camshin/Cellcard +456 01 kh Cambodia 855 Mobitel/Cam GSM +456 03 kh Cambodia 855 QB/Cambodia Adv. Comms. +456 06 kh Cambodia 855 Smart Mobile +456 05 kh Cambodia 855 Smart Mobile +456 09 kh Cambodia 855 Sotelco/Beeline +624 01 cm Cameroon 237 MTN +624 04 cm Cameroon 237 Nextel +624 02 cm Cameroon 237 Orange +302 652 ca Canada 1 BC Tel Mobility +302 630 ca Canada 1 Bell Aliant +302 651 ca Canada 1 Bell Mobility +302 610 ca Canada 1 Bell Mobility +302 670 ca Canada 1 CityWest Mobility +302 361 ca Canada 1 Clearnet +302 360 ca Canada 1 Clearnet +302 380 ca Canada 1 DMTS Mobility +302 710 ca Canada 1 Globalstar Canada +302 640 ca Canada 1 Latitude Wireless +302 370 ca Canada 1 FIDO (Rogers AT&T/ Microcell) +302 320 ca Canada 1 mobilicity +302 702 ca Canada 1 MT&T Mobility +302 660 ca Canada 1 MTS Mobility +302 655 ca Canada 1 MTS Mobility +302 701 ca Canada 1 NB Tel Mobility +302 703 ca Canada 1 New Tel Mobility +302 760 ca Canada 1 Public Mobile +302 657 ca Canada 1 Quebectel Mobility +302 720 ca Canada 1 Rogers AT&T Wireless +302 654 ca Canada 1 Sask Tel Mobility +302 680 ca Canada 1 Sask Tel Mobility +302 780 ca Canada 1 Sask Tel Mobility +302 656 ca Canada 1 Tbay Mobility +302 220 ca Canada 1 Telus Mobility +302 653 ca Canada 1 Telus Mobility +302 500 ca Canada 1 Videotron +302 490 ca Canada 1 WIND +625 01 cv Cape Verde 238 CV Movel +625 02 cv Cape Verde 238 T+ Telecom +346 050 ky Cayman Islands 1345 Digicel Cayman Ltd +346 006 ky Cayman Islands 1345 Digicel Ltd. +346 140 ky Cayman Islands 1345 LIME / Cable & Wirel. +623 01 cf Central African Rep. 236 Centrafr. Telecom+ +623 04 cf Central African Rep. 236 Nationlink +623 03 cf Central African Rep. 236 Orange/Celca +623 02 cf Central African Rep. 236 Telecel Centraf. +622 04 td Chad 235 Salam/Sotel +622 02 td Chad 235 Tchad Mobile +622 03 td Chad 235 Tigo/Milicom/Tchad Mobile +622 01 td Chad 235 Airtel/ZAIN/Celtel +730 06 cl Chile 56 Blue Two Chile SA +730 11 cl Chile 56 Celupago SA +730 15 cl Chile 56 Cibeles Telecom SA +730 03 cl Chile 56 Claro +730 10 cl Chile 56 Entel Telefonia +730 01 cl Chile 56 Entel Telefonia Mov +730 14 cl Chile 56 Netline Telefonica Movil Ltda +730 09 cl Chile 56 Nextel SA +730 05 cl Chile 56 Nextel SA +730 04 cl Chile 56 Nextel SA +730 19 cl Chile 56 Sociedad Falabella Movil SPA +730 07 cl Chile 56 TELEFONICA +730 02 cl Chile 56 TELEFONICA +730 12 cl Chile 56 Telestar Movil SA +730 00 cl Chile 56 TESAM SA +730 13 cl Chile 56 Tribe Mobile SPA +730 08 cl Chile 56 VTR Banda Ancha SA +460 07 cn China 86 China Mobile GSM +460 00 cn China 86 China Mobile GSM +460 02 cn China 86 China Mobile GSM +460 04 cn China 86 China Space Mobile Satellite Telecommunications Co. Ltd (China Spacecom) +460 03 cn China 86 China Telecom +460 05 cn China 86 China Telecom +460 06 cn China 86 China Unicom +460 01 cn China 86 China Unicom +732 130 co Colombia 57 Avantel SAS +732 102 co Colombia 57 Movistar +732 103 co Colombia 57 TIGO/Colombia Movil +732 001 co Colombia 57 TIGO/Colombia Movil +732 101 co Colombia 57 Comcel S.A. Occel S.A./Celcaribe +732 002 co Colombia 57 Edatel S.A. +732 187 co Colombia 57 eTb +732 123 co Colombia 57 Movistar +732 111 co Colombia 57 TIGO/Colombia Movil +732 020 co Colombia 57 UNE EPM Telecomunicaciones SA ESP +732 142 co Colombia 57 UNE EPM Telecomunicaciones SA ESP +732 154 co Colombia 57 Virgin Mobile Colombia SAS +654 01 km Comoros 269 HURI - SNPT +630 90 cd Congo, Dem. Rep. 243 Africell +630 86 cd Congo, Dem. Rep. 243 Orange RDC sarl +630 05 cd Congo, Dem. Rep. 243 SuperCell +630 89 cd Congo, Dem. Rep. 243 TIGO/Oasis +630 01 cd Congo, Dem. Rep. 243 Vodacom +630 88 cd Congo, Dem. Rep. 243 Yozma Timeturns sprl (YTT) +630 02 cd Congo, Dem. Rep. 243 Airtel/ZAIN +629 01 cg Congo, Republic 242 Airtel SA +629 02 cg Congo, Republic 242 Azur SA (ETC) +629 10 cg Congo, Republic 242 MTN/Libertis +629 07 cg Congo, Republic 242 Warid +548 01 ck Cook Islands 682 Telecom Cook Islands +712 03 cr Costa Rica 506 Claro +712 02 cr Costa Rica 506 ICE +712 01 cr Costa Rica 506 ICE +712 04 cr Costa Rica 506 Movistar +712 20 cr Costa Rica 506 Virtualis +219 01 hr Croatia 385 T-Mobile/Cronet +219 02 hr Croatia 385 Tele2 +219 10 hr Croatia 385 VIPnet d.o.o. +368 01 cu Cuba 53 C-COM +362 95 cw Curacao 599 EOCG Wireless NV +362 69 cw Curacao 599 Polycom N.V./ Digicel +280 10 cy Cyprus 357 MTN/Areeba +280 20 cy Cyprus 357 PrimeTel PLC +280 01 cy Cyprus 357 Vodafone/CyTa +230 08 cz Czech Rep. 420 Compatel s.r.o. +230 02 cz Czech Rep. 420 O2 +230 01 cz Czech Rep. 420 T-Mobile / RadioMobil +230 05 cz Czech Rep. 420 Travel Telekommunikation s.r.o. +230 04 cz Czech Rep. 420 Ufone +230 99 cz Czech Rep. 420 Vodafone +230 03 cz Czech Rep. 420 Vodafone +238 05 dk Denmark 45 ApS KBUS +238 23 dk Denmark 45 Banedanmark +238 28 dk Denmark 45 CoolTEL ApS +238 06 dk Denmark 45 H3G +238 12 dk Denmark 45 Lycamobile Ltd +238 03 dk Denmark 45 Mach Connectivity ApS +238 07 dk Denmark 45 Mundio Mobile +238 04 dk Denmark 45 NextGen Mobile Ltd (CardBoardFish) +238 10 dk Denmark 45 TDC Denmark +238 01 dk Denmark 45 TDC Denmark +238 77 dk Denmark 45 Telenor/Sonofon +238 02 dk Denmark 45 Telenor/Sonofon +238 20 dk Denmark 45 Telia +238 30 dk Denmark 45 Telia +638 01 dj Djibouti 253 Djibouti Telecom SA (Evatis) +366 110 dm Dominica 1767 C & W +366 020 dm Dominica 1767 Cingular Wireless/Digicel +366 050 dm Dominica 1767 Wireless Ventures (Dominica) Ltd (Digicel Dominica) +370 02 do Dominican Republic 1809 Claro +370 01 do Dominican Republic 1809 Orange +370 03 do Dominican Republic 1809 TRIcom +370 04 do Dominican Republic 1809 Trilogy Dominicana S. A. +740 02 ec Ecuador 593 Alegro/Telcsa +740 00 ec Ecuador 593 MOVISTAR/OteCel +740 01 ec Ecuador 593 Claro/Porta +602 01 eg Egypt 20 Orange/Mobinil +602 03 eg Egypt 20 ETISALAT +602 02 eg Egypt 20 Vodafone/Mirsfone +706 01 sv El Salvador 503 CLARO/CTE +706 02 sv El Salvador 503 Digicel +706 05 sv El Salvador 503 INTELFON SA de CV +706 04 sv El Salvador 503 Telefonica +706 03 sv El Salvador 503 Telemovil +627 03 gq Equatorial Guinea 240 HiTs-GE +627 01 gq Equatorial Guinea 240 ORANGE/GETESA +657 01 er Eritrea 291 Eritel +248 01 ee Estonia 372 EMT GSM +248 02 ee Estonia 372 Radiolinja Eesti +248 03 ee Estonia 372 Tele2 Eesti AS +248 04 ee Estonia 372 Top Connect OU +636 01 et Ethiopia 251 ETH/MTN +750 001 fk Falkland Islands (Malvinas) 500 Cable and Wireless South Atlantic Ltd (Falkland Islands +288 03 fo Faroe Islands 298 Edge Mobile Sp/F +288 01 fo Faroe Islands 298 Faroese Telecom +288 02 fo Faroe Islands 298 Kall GSM +542 02 fj Fiji 679 DigiCell +542 01 fj Fiji 679 Vodafone +244 14 fi Finland 358 Alands +244 26 fi Finland 358 Compatel Ltd +244 12 fi Finland 358 DNA/Finnet +244 04 fi Finland 358 DNA/Finnet +244 03 fi Finland 358 DNA/Finnet +244 13 fi Finland 358 DNA/Finnet +244 05 fi Finland 358 Elisa/Saunalahti +244 21 fi Finland 358 Elisa/Saunalahti +244 82 fi Finland 358 ID-Mobile +244 11 fi Finland 358 Mundio Mobile (Finland) Ltd +244 09 fi Finland 358 Nokia Oyj +244 10 fi Finland 358 TDC Oy Finland +244 91 fi Finland 358 TeliaSonera +208 27 fr France 33 AFONE SA +208 92 fr France 33 Association Plate-forme Telecom +208 28 fr France 33 Astrium +208 21 fr France 33 Bouygues Telecom +208 20 fr France 33 Bouygues Telecom +208 88 fr France 33 Bouygues Telecom +208 14 fr France 33 Lliad/FREE Mobile +208 07 fr France 33 GlobalStar +208 06 fr France 33 GlobalStar +208 05 fr France 33 GlobalStar +208 29 fr France 33 Orange +208 17 fr France 33 Legos - Local Exchange Global Operation Services SA +208 15 fr France 33 Lliad/FREE Mobile +208 16 fr France 33 Lliad/FREE Mobile +208 25 fr France 33 Lycamobile SARL +208 03 fr France 33 MobiquiThings +208 24 fr France 33 MobiquiThings +208 31 fr France 33 Mundio Mobile (France) Ltd +208 26 fr France 33 NRJ +208 89 fr France 33 Virgin Mobile/Omer +208 23 fr France 33 Virgin Mobile/Omer +208 91 fr France 33 Orange +208 02 fr France 33 Orange +208 01 fr France 33 Orange +208 13 fr France 33 S.F.R. +208 10 fr France 33 S.F.R. +208 09 fr France 33 S.F.R. +208 11 fr France 33 S.F.R. +208 04 fr France 33 SISTEER +208 00 fr France 33 Tel/Tel +208 22 fr France 33 Transatel SA +340 20 fg French Guiana 594 Bouygues/DigiCel +340 01 fg French Guiana 594 Orange Caribe +340 02 fg French Guiana 594 Outremer Telecom +340 11 fg French Guiana 594 TelCell GSM +340 03 fg French Guiana 594 TelCell GSM +547 15 pf French Polynesia 689 Pacific Mobile Telecom (PMT) +547 20 pf French Polynesia 689 Vini/Tikiphone +628 04 ga Gabon 241 Azur/Usan S.A. +628 01 ga Gabon 241 Libertis S.A. +628 02 ga Gabon 241 MOOV/Telecel +628 03 ga Gabon 241 Airtel/ZAIN/Celtel Gabon S.A. +607 02 gm Gambia 220 Africel +607 03 gm Gambia 220 Comium +607 01 gm Gambia 220 Gamcel +607 04 gm Gambia 220 Q-Cell +282 01 ge Georgia 995 Geocell Ltd. +282 03 ge Georgia 995 Iberiatel Ltd. +282 02 ge Georgia 995 Magti GSM Ltd. +282 04 ge Georgia 995 MobiTel/Beeline +282 05 ge Georgia 995 Silknet +262 17 de Germany 49 E-Plus +262 10 de Germany 49 DB Netz AG +262 n/a de Germany 49 Debitel +262 03 de Germany 49 E-Plus +262 05 de Germany 49 E-Plus +262 77 de Germany 49 E-Plus +262 12 de Germany 49 E-Plus +262 20 de Germany 49 E-Plus +262 14 de Germany 49 Group 3G UMTS +262 43 de Germany 49 Lycamobile +262 13 de Germany 49 Mobilcom +262 07 de Germany 49 O2 +262 11 de Germany 49 O2 +262 08 de Germany 49 O2 +262 n/a de Germany 49 Talkline +262 06 de Germany 49 T-mobile/Telekom +262 01 de Germany 49 T-mobile/Telekom +262 16 de Germany 49 Telogic/ViStream +262 02 de Germany 49 Vodafone D2 +262 42 de Germany 49 Vodafone D2 +262 09 de Germany 49 Vodafone D2 +262 04 de Germany 49 Vodafone D2 +620 04 gh Ghana 233 Expresso Ghana Ltd +620 07 gh Ghana 233 GloMobile +620 03 gh Ghana 233 Milicom/Tigo +620 01 gh Ghana 233 MTN +620 02 gh Ghana 233 Vodafone +620 06 gh Ghana 233 Airtel/ZAIN +266 06 gi Gibraltar 350 CTS Mobile +266 09 gi Gibraltar 350 eazi telecom +266 01 gi Gibraltar 350 Gibtel GSM +202 07 gr Greece 30 AMD Telecom SA +202 02 gr Greece 30 Cosmote +202 01 gr Greece 30 Cosmote +202 14 gr Greece 30 CyTa Mobile +202 04 gr Greece 30 Organismos Sidirodromon Ellados (OSE) +202 03 gr Greece 30 OTE Hellenic Telecommunications Organization SA +202 10 gr Greece 30 Tim/Wind +202 09 gr Greece 30 Tim/Wind +202 05 gr Greece 30 Vodafone +290 01 gl Greenland 299 Tele Greenland +352 110 gd Grenada 1473 Cable & Wireless +352 030 gd Grenada 1473 Digicel +352 050 gd Grenada 1473 Digicel +340 08 gp Guadeloupe 590 Dauphin Telecom SU (Guadeloupe Telecom) +340 10 gp Guadeloupe 590 +310 370 gu Guam 1671 Docomo +310 470 gu Guam 1671 Docomo +310 140 gu Guam 1671 GTA Wireless +310 033 gu Guam 1671 Guam Teleph. Auth. +310 032 gu Guam 1671 IT&E OverSeas +311 250 gu Guam 1671 Wave Runner LLC +704 01 gt Guatemala 502 Claro +704 03 gt Guatemala 502 Telefonica +704 02 gt Guatemala 502 TIGO/COMCEL +611 04 gn Guinea 224 MTN/Areeba +611 05 gn Guinea 224 Celcom +611 03 gn Guinea 224 Intercel +611 01 gn Guinea 224 Orange/Sonatel/Spacetel +611 02 gn Guinea 224 SotelGui +632 01 gw Guinea-Bissau 245 GuineTel +632 03 gw Guinea-Bissau 245 Orange +632 02 gw Guinea-Bissau 245 SpaceTel +738 02 gy Guyana 592 Cellink Plus +738 01 gy Guyana 592 DigiCel +372 01 ht Haiti 509 Comcel +372 02 ht Haiti 509 Digicel +372 03 ht Haiti 509 National Telecom SA (NatCom) +708 040 hn Honduras 504 Digicel +708 030 hn Honduras 504 HonduTel +708 001 hn Honduras 504 SERCOM/CLARO +708 002 hn Honduras 504 Telefonica/CELTEL +454 13 hk Hongkong, China 852 China Mobile/Peoples +454 28 hk Hongkong, China 852 China Mobile/Peoples +454 12 hk Hongkong, China 852 China Mobile/Peoples +454 09 hk Hongkong, China 852 China Motion +454 07 hk Hongkong, China 852 China Unicom Ltd +454 11 hk Hongkong, China 852 China-HongKong Telecom Ltd (CHKTL) +454 01 hk Hongkong, China 852 Citic Telecom Ltd. +454 02 hk Hongkong, China 852 CSL Ltd. +454 00 hk Hongkong, China 852 CSL Ltd. +454 18 hk Hongkong, China 852 CSL Ltd. +454 10 hk Hongkong, China 852 CSL/New World PCS Ltd. +454 03 hk Hongkong, China 852 H3G/Hutchinson +454 14 hk Hongkong, China 852 H3G/Hutchinson +454 05 hk Hongkong, China 852 H3G/Hutchinson +454 04 hk Hongkong, China 852 H3G/Hutchinson +454 19 hk Hongkong, China 852 HKT/PCCW +454 20 hk Hongkong, China 852 HKT/PCCW +454 29 hk Hongkong, China 852 HKT/PCCW +454 16 hk Hongkong, China 852 HKT/PCCW +454 47 hk Hongkong, China 852 shared by private TETRA systems +454 40 hk Hongkong, China 852 shared by private TETRA systems +454 08 hk Hongkong, China 852 Truephone +454 15 hk Hongkong, China 852 Vodafone/SmarTone +454 06 hk Hongkong, China 852 Vodafone/SmarTone +454 17 hk Hongkong, China 852 Vodafone/SmarTone +216 01 hu Hungary 36 Pannon/Telenor +216 30 hu Hungary 36 T-mobile/Magyar +216 71 hu Hungary 36 UPC Magyarorszag Kft. +216 70 hu Hungary 36 Vodafone +274 09 is Iceland 354 Amitelo +274 07 is Iceland 354 IceCell +274 08 is Iceland 354 Siminn +274 01 is Iceland 354 Siminn +274 11 is Iceland 354 NOVA +274 04 is Iceland 354 VIKING/IMC +274 05 is Iceland 354 Vodafone/Tal hf +274 02 is Iceland 354 Vodafone/Tal hf +274 03 is Iceland 354 Vodafone/Tal hf +404 28 in India 91 Aircel +404 25 in India 91 Aircel +404 17 in India 91 Aircel +404 42 in India 91 Aircel +404 33 in India 91 Aircel +404 29 in India 91 Aircel +404 15 in India 91 Aircel Digilink India +404 60 in India 91 Aircel Digilink India +404 01 in India 91 Aircel Digilink India +405 53 in India 91 AirTel +404 86 in India 91 Barakhamba Sales & Serv. +404 13 in India 91 Barakhamba Sales & Serv. +404 71 in India 91 BSNL +404 76 in India 91 BSNL +404 62 in India 91 BSNL +404 53 in India 91 BSNL +404 59 in India 91 BSNL +404 75 in India 91 BSNL +404 51 in India 91 BSNL +404 81 in India 91 BSNL +404 58 in India 91 BSNL +404 74 in India 91 BSNL +404 38 in India 91 BSNL +404 80 in India 91 BSNL +404 57 in India 91 BSNL +404 73 in India 91 BSNL +404 34 in India 91 BSNL +404 55 in India 91 BSNL +404 66 in India 91 BSNL +404 72 in India 91 BSNL +404 77 in India 91 BSNL +404 64 in India 91 BSNL +404 54 in India 91 BSNL +404 10 in India 91 Bharti Airtel Limited (Delhi) +404 045 in India 91 Bharti Airtel Limited (Karnataka) (India) +404 79 in India 91 CellOne A&N +404 82 in India 91 Escorts Telecom Ltd. +404 89 in India 91 Escorts Telecom Ltd. +404 88 in India 91 Escorts Telecom Ltd. +404 87 in India 91 Escorts Telecom Ltd. +404 56 in India 91 Escotel Mobile Communications +404 12 in India 91 Escotel Mobile Communications +404 19 in India 91 Escotel Mobile Communications +405 05 in India 91 Fascel Limited +404 05 in India 91 Fascel +404 70 in India 91 Hexacom India +404 16 in India 91 Hexcom India +404 78 in India 91 Idea Cellular Ltd. +404 07 in India 91 Idea Cellular Ltd. +404 04 in India 91 Idea Cellular Ltd. +404 24 in India 91 Idea Cellular Ltd. +404 22 in India 91 Idea Cellular Ltd. +404 69 in India 91 Mahanagar Telephone Nigam +404 68 in India 91 Mahanagar Telephone Nigam +404 83 in India 91 Reliable Internet Services +404 67 in India 91 Reliance Telecom Private +404 18 in India 91 Reliance Telecom Private +404 85 in India 91 Reliance Telecom Private +404 09 in India 91 Reliance Telecom Private +404 36 in India 91 Reliance Telecom Private +404 52 in India 91 Reliance Telecom Private +404 50 in India 91 Reliance Telecom Private +404 41 in India 91 RPG Cellular +404 14 in India 91 Spice +404 44 in India 91 Spice +404 11 in India 91 Sterling Cellular Ltd. +405 034 in India 91 TATA / Karnataka +404 30 in India 91 Usha Martin Telecom +510 08 id Indonesia 62 Axis/Natrindo +510 99 id Indonesia 62 Esia (PT Bakrie Telecom) (CDMA) +510 07 id Indonesia 62 Flexi (PT Telkom) (CDMA) +510 89 id Indonesia 62 H3G CP +510 21 id Indonesia 62 Indosat/Satelindo/M3 +510 01 id Indonesia 62 Indosat/Satelindo/M3 +510 00 id Indonesia 62 PT Pasifik Satelit Nusantara (PSN) +510 27 id Indonesia 62 PT Sampoerna Telekomunikasi Indonesia (STI) +510 28 id Indonesia 62 PT Smartfren Telecom Tbk +510 09 id Indonesia 62 PT Smartfren Telecom Tbk +510 11 id Indonesia 62 PT. Excelcom +510 10 id Indonesia 62 Telkomsel +901 13 n/a International Networks 882 Antarctica +432 19 ir Iran 98 Mobile Telecommunications Company of Esfahan JV-PJS (MTCE) +432 70 ir Iran 98 MTCE +432 35 ir Iran 98 MTN/IranCell +432 20 ir Iran 98 Rightel +432 32 ir Iran 98 Taliya +432 11 ir Iran 98 MCI/TCI +432 14 ir Iran 98 TKC/KFZO +418 05 iq Iraq 964 Asia Cell +418 92 iq Iraq 964 Itisaluna and Kalemat +418 82 iq Iraq 964 Korek +418 40 iq Iraq 964 Korek +418 45 iq Iraq 964 Mobitel (Iraq-Kurdistan) and Moutiny +418 30 iq Iraq 964 Orascom Telecom +418 20 iq Iraq 964 ZAIN/Atheer/Orascom +418 08 iq Iraq 964 Sanatel +272 04 ie Ireland 353 Access Telecom Ltd. +272 09 ie Ireland 353 Clever Communications Ltd +272 07 ie Ireland 353 eircom Ltd +272 05 ie Ireland 353 Three/H3G +272 11 ie Ireland 353 Tesco Mobile/Liffey Telecom +272 13 ie Ireland 353 Lycamobile +272 03 ie Ireland 353 Meteor Mobile Ltd. +272 02 ie Ireland 353 Three/O2/Digifone +272 01 ie Ireland 353 Vodafone Eircell +425 14 il Israel 972 Alon Cellular Ltd +425 02 il Israel 972 Cellcom ltd. +425 08 il Israel 972 Golan Telekom +425 15 il Israel 972 Home Cellular Ltd +425 77 il Israel 972 Hot Mobile/Mirs +425 07 il Israel 972 Hot Mobile/Mirs +425 01 il Israel 972 Orange/Partner Co. Ltd. +425 12 il Israel 972 Pelephone +425 03 il Israel 972 Pelephone +425 16 il Israel 972 Rami Levy Hashikma Marketing Communications Ltd +425 19 il Israel 972 Telzar/AZI +222 34 it Italy 39 BT Italia SpA +222 02 it Italy 39 Elsacom +222 08 it Italy 39 Fastweb SpA +222 00 it Italy 39 Fix Line +222 99 it Italy 39 Hi3G +222 77 it Italy 39 IPSE 2000 +222 35 it Italy 39 Lycamobile Srl +222 07 it Italy 39 Noverca Italia Srl +222 33 it Italy 39 PosteMobile SpA +222 00 it Italy 39 Premium Number(s) +222 30 it Italy 39 RFI Rete Ferroviaria Italiana SpA +222 43 it Italy 39 Telecom Italia Mobile SpA +222 01 it Italy 39 TIM +222 48 it Italy 39 Telecom Italia Mobile SpA +222 10 it Italy 39 Vodafone +222 06 it Italy 39 Vodafone +222 00 it Italy 39 VOIP Line +222 44 it Italy 39 WIND (Blu) - +222 88 it Italy 39 WIND (Blu) - +612 07 ci Ivory Coast 225 Aircomm SA +612 02 ci Ivory Coast 225 Atlantik Tel./Moov +612 04 ci Ivory Coast 225 Comium +612 01 ci Ivory Coast 225 Comstar +612 05 ci Ivory Coast 225 MTN +612 03 ci Ivory Coast 225 Orange +612 06 ci Ivory Coast 225 OriCell +338 020 jm Jamaica 1876 Cable & Wireless +338 110 jm Jamaica 1876 Cable & Wireless +338 180 jm Jamaica 1876 Cable & Wireless +338 050 jm Jamaica 1876 DIGICEL/Mossel +440 00 jp Japan 81 Y-Mobile +440 71 jp Japan 81 KDDI Corporation +440 53 jp Japan 81 KDDI Corporation +440 77 jp Japan 81 KDDI Corporation +440 08 jp Japan 81 KDDI Corporation +440 72 jp Japan 81 KDDI Corporation +440 54 jp Japan 81 KDDI Corporation +440 79 jp Japan 81 KDDI Corporation +440 07 jp Japan 81 KDDI Corporation +440 73 jp Japan 81 KDDI Corporation +440 55 jp Japan 81 KDDI Corporation +440 88 jp Japan 81 KDDI Corporation +440 50 jp Japan 81 KDDI Corporation +440 74 jp Japan 81 KDDI Corporation +440 70 jp Japan 81 KDDI Corporation +440 89 jp Japan 81 KDDI Corporation +440 51 jp Japan 81 KDDI Corporation +440 75 jp Japan 81 KDDI Corporation +440 56 jp Japan 81 KDDI Corporation +441 70 jp Japan 81 KDDI Corporation +440 52 jp Japan 81 KDDI Corporation +440 76 jp Japan 81 KDDI Corporation +440 31 jp Japan 81 NTT Docomo +440 87 jp Japan 81 NTT Docomo +440 17 jp Japan 81 NTT Docomo +440 36 jp Japan 81 NTT Docomo +441 92 jp Japan 81 NTT Docomo +440 65 jp Japan 81 NTT Docomo +440 58 jp Japan 81 NTT Docomo +440 28 jp Japan 81 NTT Docomo +440 03 jp Japan 81 NTT Docomo +440 12 jp Japan 81 NTT Docomo +441 91 jp Japan 81 NTT Docomo +440 32 jp Japan 81 NTT Docomo +440 61 jp Japan 81 NTT Docomo +440 18 jp Japan 81 NTT Docomo +440 35 jp Japan 81 NTT Docomo +441 93 jp Japan 81 NTT Docomo +441 40 jp Japan 81 NTT Docomo +440 66 jp Japan 81 NTT Docomo +440 49 jp Japan 81 NTT Docomo +440 29 jp Japan 81 NTT Docomo +440 09 jp Japan 81 NTT Docomo +441 90 jp Japan 81 NTT Docomo +440 33 jp Japan 81 NTT Docomo +440 60 jp Japan 81 NTT Docomo +440 19 jp Japan 81 NTT Docomo +441 94 jp Japan 81 NTT Docomo +441 41 jp Japan 81 NTT Docomo +440 67 jp Japan 81 NTT Docomo +440 14 jp Japan 81 NTT Docomo +440 39 jp Japan 81 NTT Docomo +440 30 jp Japan 81 NTT Docomo +440 10 jp Japan 81 NTT Docomo +440 62 jp Japan 81 NTT Docomo +441 45 jp Japan 81 NTT Docomo +440 24 jp Japan 81 NTT Docomo +441 98 jp Japan 81 NTT Docomo +441 42 jp Japan 81 NTT Docomo +440 68 jp Japan 81 NTT Docomo +440 15 jp Japan 81 NTT Docomo +440 38 jp Japan 81 NTT Docomo +440 26 jp Japan 81 NTT Docomo +440 11 jp Japan 81 NTT Docomo +440 63 jp Japan 81 NTT Docomo +441 44 jp Japan 81 NTT Docomo +440 13 jp Japan 81 NTT Docomo +440 23 jp Japan 81 NTT Docomo +440 01 jp Japan 81 NTT Docomo +440 21 jp Japan 81 NTT Docomo +441 99 jp Japan 81 NTT Docomo +440 34 jp Japan 81 NTT Docomo +440 69 jp Japan 81 NTT Docomo +440 16 jp Japan 81 NTT Docomo +440 37 jp Japan 81 NTT Docomo +440 25 jp Japan 81 NTT Docomo +440 64 jp Japan 81 NTT Docomo +441 43 jp Japan 81 NTT Docomo +440 27 jp Japan 81 NTT Docomo +440 02 jp Japan 81 NTT Docomo +440 22 jp Japan 81 NTT Docomo +440 99 jp Japan 81 NTT Docomo +440 78 jp Japan 81 Okinawa Cellular Telephone +440 42 jp Japan 81 SoftBank Mobile Corp +440 90 jp Japan 81 SoftBank Mobile Corp +441 65 jp Japan 81 SoftBank Mobile Corp +440 98 jp Japan 81 SoftBank Mobile Corp +440 92 jp Japan 81 SoftBank Mobile Corp +440 93 jp Japan 81 SoftBank Mobile Corp +440 43 jp Japan 81 SoftBank Mobile Corp +440 48 jp Japan 81 SoftBank Mobile Corp +441 61 jp Japan 81 SoftBank Mobile Corp +440 06 jp Japan 81 SoftBank Mobile Corp +440 94 jp Japan 81 SoftBank Mobile Corp +440 44 jp Japan 81 SoftBank Mobile Corp +440 04 jp Japan 81 SoftBank Mobile Corp +441 62 jp Japan 81 SoftBank Mobile Corp +440 96 jp Japan 81 SoftBank Mobile Corp +440 45 jp Japan 81 SoftBank Mobile Corp +440 20 jp Japan 81 SoftBank Mobile Corp +440 40 jp Japan 81 SoftBank Mobile Corp +441 63 jp Japan 81 SoftBank Mobile Corp +440 95 jp Japan 81 SoftBank Mobile Corp +440 47 jp Japan 81 SoftBank Mobile Corp +440 41 jp Japan 81 SoftBank Mobile Corp +441 64 jp Japan 81 SoftBank Mobile Corp +440 97 jp Japan 81 SoftBank Mobile Corp +440 46 jp Japan 81 SoftBank Mobile Corp +440 83 jp Japan 81 KDDI Corporation +440 85 jp Japan 81 KDDI Corporation +440 81 jp Japan 81 KDDI Corporation +440 80 jp Japan 81 KDDI Corporation +440 86 jp Japan 81 KDDI Corporation +440 82 jp Japan 81 KDDI Corporation +440 84 jp Japan 81 KDDI Corporation +416 77 jo Jordan 962 Orange/Petra +416 03 jo Jordan 962 Umniah Mobile Co. +416 02 jo Jordan 962 Xpress +416 01 jo Jordan 962 ZAIN /J.M.T.S +401 01 kz Kazakhstan 7 Beeline/KaR-Tel LLP +401 07 kz Kazakhstan 7 Dalacom/Altel +401 02 kz Kazakhstan 7 K-Cell +401 77 kz Kazakhstan 7 Tele2/NEO/MTS +639 05 ke Kenya 254 Econet Wireless +639 07 ke Kenya 254 Orange +639 02 ke Kenya 254 Safaricom Ltd. +639 03 ke Kenya 254 Airtel/Zain/Celtel Ltd. +545 09 ki Kiribati 686 Kiribati Frigate +467 193 kp Korea N., Dem. People's Rep. 850 Sun Net +450 02 kr Korea S, Republic of 82 KT Freetel Co. Ltd. +450 04 kr Korea S, Republic of 82 KT Freetel Co. Ltd. +450 08 kr Korea S, Republic of 82 KT Freetel Co. Ltd. +450 06 kr Korea S, Republic of 82 LG Telecom +450 03 kr Korea S, Republic of 82 SK Telecom +450 05 kr Korea S, Republic of 82 SK Telecom Co. Ltd +419 04 kw Kuwait 965 Viva +419 03 kw Kuwait 965 Wataniya +419 02 kw Kuwait 965 Zain +437 03 kg Kyrgyzstan 996 AkTel LLC +437 01 kg Kyrgyzstan 996 Beeline/Bitel +437 05 kg Kyrgyzstan 996 MEGACOM +437 09 kg Kyrgyzstan 996 O!/NUR Telecom +457 02 la Laos P.D.R. 856 ETL Mobile +457 01 la Laos P.D.R. 856 Lao Tel +457 08 la Laos P.D.R. 856 Beeline/Tigo/Millicom +457 03 la Laos P.D.R. 856 UNITEL/LAT +247 05 lv Latvia 371 Bite +247 01 lv Latvia 371 Latvian Mobile Phone +247 09 lv Latvia 371 SIA Camel Mobile +247 08 lv Latvia 371 SIA IZZI +247 07 lv Latvia 371 SIA Master Telecom +247 06 lv Latvia 371 SIA Rigatta +247 02 lv Latvia 371 Tele2 +247 03 lv Latvia 371 TRIATEL/Telekom Baltija +415 32 lb Lebanon 961 Cellis +415 35 lb Lebanon 961 Cellis +415 33 lb Lebanon 961 Cellis +415 34 lb Lebanon 961 FTML Cellis +415 38 lb Lebanon 961 MIC2/LibanCell/MTC +415 37 lb Lebanon 961 MIC2/LibanCell/MTC +415 39 lb Lebanon 961 MIC2/LibanCell/MTC +415 01 lb Lebanon 961 MIC1 (Alfa) +415 03 lb Lebanon 961 MIC2/LibanCell/MTC +415 36 lb Lebanon 961 MIC2/LibanCell/MTC +651 02 ls Lesotho 266 Econet/Ezi-cel +651 01 ls Lesotho 266 Vodacom Lesotho +618 07 lr Liberia 231 CELLCOM +618 04 lr Liberia 231 Comium BVI +618 02 lr Liberia 231 Libercell +618 20 lr Liberia 231 LibTelco +618 01 lr Liberia 231 Lonestar +606 02 ly Libya 218 Al-Madar +606 01 ly Libya 218 Al-Madar +606 06 ly Libya 218 Hatef +606 00 ly Libya 218 Libyana +606 03 ly Libya 218 Libyana +295 06 li Liechtenstein 423 CUBIC (Liechtenstein +295 07 li Liechtenstein 423 First Mobile AG +295 02 li Liechtenstein 423 Orange +295 01 li Liechtenstein 423 Swisscom FL AG +295 77 li Liechtenstein 423 Alpmobile/Tele2 +295 05 li Liechtenstein 423 Telecom FL1 AG +246 02 lt Lithuania 370 Bite +246 01 lt Lithuania 370 Omnitel +246 03 lt Lithuania 370 Tele2 +270 77 lu Luxembourg 352 Millicom Tango GSM +270 01 lu Luxembourg 352 P+T/Post LUXGSM +270 99 lu Luxembourg 352 Orange/VOXmobile S.A. +455 04 mo Macao, China 853 C.T.M. TELEMOVEL+ +455 01 mo Macao, China 853 C.T.M. TELEMOVEL+ +455 02 mo Macao, China 853 China Telecom +455 05 mo Macao, China 853 Hutchison Telephone Co. Ltd +455 03 mo Macao, China 853 Hutchison Telephone Co. Ltd +455 00 mo Macao, China 853 Smartone Mobile +455 06 mo Macao, China 853 Smartone Mobile +294 75 mk Macedonia 389 ONE/Cosmofone +294 02 mk Macedonia 389 ONE/Cosmofone +294 01 mk Macedonia 389 T-Mobile/Mobimak +294 03 mk Macedonia 389 VIP Mobile +646 01 mg Madagascar 261 Airtel/MADACOM +646 02 mg Madagascar 261 Orange/Soci +646 03 mg Madagascar 261 Sacel +646 04 mg Madagascar 261 Telma +650 01 mw Malawi 265 TNM/Telekom Network Ltd. +650 10 mw Malawi 265 Airtel/Zain/Celtel ltd. +502 01 my Malaysia 60 Art900 +502 151 my Malaysia 60 Baraka Telecom Sdn Bhd +502 198 my Malaysia 60 CelCom +502 19 my Malaysia 60 CelCom +502 13 my Malaysia 60 CelCom +502 16 my Malaysia 60 Digi Telecommunications +502 10 my Malaysia 60 Digi Telecommunications +502 20 my Malaysia 60 Electcoms Wireless Sdn Bhd +502 17 my Malaysia 60 Maxis +502 12 my Malaysia 60 Maxis +502 11 my Malaysia 60 MTX Utara +502 153 my Malaysia 60 Webe/Packet One Networks (Malaysia) Sdn Bhd +502 155 my Malaysia 60 Samata Communications Sdn Bhd +502 154 my Malaysia 60 Tron/Talk Focus Sdn Bhd +502 18 my Malaysia 60 U Mobile +502 195 my Malaysia 60 XOX Com Sdn Bhd +502 152 my Malaysia 60 YES +472 01 mv Maldives 960 Dhiraagu/C&W +472 02 mv Maldives 960 Ooredo/Wataniya +610 01 ml Mali 223 Malitel +610 02 ml Mali 223 Orange/IKATEL +278 21 mt Malta 356 GO Mobile +278 77 mt Malta 356 Melita +278 01 mt Malta 356 Vodafone +340 12 mq Martinique (French Department of) 596 UTS Caraibe +609 02 mr Mauritania 222 Chinguitel SA +609 01 mr Mauritania 222 Mattel +609 10 mr Mauritania 222 Mauritel +617 10 mu Mauritius 230 Emtel Ltd +617 02 mu Mauritius 230 Mahanagar Telephone +617 03 mu Mauritius 230 Mahanagar Telephone +617 01 mu Mauritius 230 Orange/Cellplus +334 50 mx Mexico 52 AT&T/IUSACell +334 050 mx Mexico 52 AT&T/IUSACell +334 040 mx Mexico 52 AT&T/IUSACell +334 04 mx Mexico 52 AT&T/IUSACell +334 03 mx Mexico 52 Movistar/Pegaso +334 030 mx Mexico 52 Movistar/Pegaso +334 090 mx Mexico 52 NEXTEL +334 010 mx Mexico 52 NEXTEL +334 09 mx Mexico 52 NEXTEL +334 01 mx Mexico 52 NEXTEL +334 080 mx Mexico 52 Operadora Unefon SA de CV +334 070 mx Mexico 52 Operadora Unefon SA de CV +334 060 mx Mexico 52 SAI PCS +334 020 mx Mexico 52 TelCel/America Movil +334 02 mx Mexico 52 TelCel/America Movil +550 01 fm Micronesia 691 FSM Telecom +259 04 md Moldova 373 Eventis Mobile +259 05 md Moldova 373 IDC/Unite +259 99 md Moldova 373 IDC/Unite +259 03 md Moldova 373 IDC/Unite +259 02 md Moldova 373 Moldcell +259 01 md Moldova 373 Orange/Voxtel +212 10 mc Monaco 377 Monaco Telecom +212 01 mc Monaco 377 Monaco Telecom +428 98 mn Mongolia 976 G-Mobile Corporation Ltd +428 99 mn Mongolia 976 Mobicom +428 91 mn Mongolia 976 Skytel Co. Ltd +428 00 mn Mongolia 976 Skytel Co. Ltd +428 88 mn Mongolia 976 Unitel +297 02 me Montenegro 382 Monet/T-mobile +297 03 me Montenegro 382 Mtel +297 01 me Montenegro 382 Telenor/Promonte GSM +354 860 ms Montserrat 1664 Cable & Wireless +604 01 ma Morocco 212 IAM/Itissallat +604 02 ma Morocco 212 INWI/WANA +604 00 ma Morocco 212 Medi Telecom +643 01 mz Mozambique 258 mCel +643 03 mz Mozambique 258 Movitel +643 04 mz Mozambique 258 Vodacom +414 01 mm Myanmar (Burma) 95 Myanmar Post & Teleco. +414 05 mm Myanmar (Burma) 95 Oreedoo +414 06 mm Myanmar (Burma) 95 Telenor +649 03 na Namibia 264 Leo / Orascom +649 01 na Namibia 264 MTC +649 02 na Namibia 264 Switch/Nam. Telec. +429 02 np Nepal 977 Ncell +429 01 np Nepal 977 NT Mobile / Namaste +429 04 np Nepal 977 Smart Cell +204 14 nl Netherlands 31 6GMOBILE BV +204 23 nl Netherlands 31 Aspider Solutions +204 05 nl Netherlands 31 Elephant Talk Communications Premium Rate Services Netherlands BV +204 17 nl Netherlands 31 Intercity Mobile Communications BV +204 10 nl Netherlands 31 KPN Telecom B.V. +204 08 nl Netherlands 31 KPN Telecom B.V. +204 69 nl Netherlands 31 KPN Telecom B.V. +204 12 nl Netherlands 31 KPN/Telfort +204 28 nl Netherlands 31 Lancelot BV +204 09 nl Netherlands 31 Lycamobile Ltd +204 06 nl Netherlands 31 Mundio/Vectone Mobile +204 21 nl Netherlands 31 NS Railinfrabeheer B.V. +204 24 nl Netherlands 31 Private Mobility Nederland BV +204 98 nl Netherlands 31 T-Mobile B.V. +204 16 nl Netherlands 31 T-Mobile B.V. +204 20 nl Netherlands 31 T-mobile/former Orange +204 02 nl Netherlands 31 Tele2 +204 07 nl Netherlands 31 Teleena Holding BV +204 68 nl Netherlands 31 Unify Mobile +204 18 nl Netherlands 31 UPC Nederland BV +204 04 nl Netherlands 31 Vodafone Libertel +204 03 nl Netherlands 31 Voiceworks Mobile BV +204 15 nl Netherlands 31 Ziggo BV +362 630 an Netherlands Antilles 599 Cingular Wireless +362 51 an Netherlands Antilles 599 TELCELL GSM +362 91 an Netherlands Antilles 599 SETEL GSM +362 951 an Netherlands Antilles 599 UTS Wireless +546 01 nc New Caledonia 687 OPT Mobilis +530 28 nz New Zealand 64 2degrees +530 05 nz New Zealand 64 Spark/NZ Telecom +530 02 nz New Zealand 64 Spark/NZ Telecom +530 04 nz New Zealand 64 Telstra +530 24 nz New Zealand 64 Two Degrees Mobile Ltd +530 01 nz New Zealand 64 Vodafone +530 03 nz New Zealand 64 Walker Wireless Ltd. +710 21 ni Nicaragua 505 Empresa Nicaraguense de Telecomunicaciones SA (ENITEL) +710 30 ni Nicaragua 505 Movistar +710 73 ni Nicaragua 505 Claro +614 03 ne Niger 227 MOOV/TeleCel +614 04 ne Niger 227 Orange/Sahelc. +614 01 ne Niger 227 Orange/Sahelc. +614 02 ne Niger 227 Airtel/Zain/CelTel +621 20 ng Nigeria 234 Airtel/ZAIN/Econet +621 60 ng Nigeria 234 ETISALAT +621 50 ng Nigeria 234 Glo Mobile +621 40 ng Nigeria 234 M-Tel/Nigeria Telecom. Ltd. +621 30 ng Nigeria 234 MTN +621 99 ng Nigeria 234 Starcomms +621 25 ng Nigeria 234 Visafone +621 01 ng Nigeria 234 Visafone +555 01 nu Niue 683 Niue Telecom +242 09 no Norway 47 Com4 AS +242 14 no Norway 47 ICE Nordisk Mobiltelefon AS +242 20 no Norway 47 Jernbaneverket (GSM-R) +242 21 no Norway 47 Jernbaneverket (GSM-R) +242 23 no Norway 47 Lycamobile Ltd +242 02 no Norway 47 Netcom +242 22 no Norway 47 Network Norway AS +242 05 no Norway 47 Network Norway AS +242 06 no Norway 47 ICE Nordisk Mobiltelefon AS +242 08 no Norway 47 TDC Mobil A/S +242 04 no Norway 47 Tele2 +242 12 no Norway 47 Telenor +242 01 no Norway 47 Telenor +242 03 no Norway 47 Teletopia +242 07 no Norway 47 Ventelo AS +242 017 no Norway 47 Ventelo AS +422 03 om Oman 968 Nawras +422 02 om Oman 968 Oman Mobile/GTO +410 08 pk Pakistan 92 Instaphone +410 01 pk Pakistan 92 Mobilink +410 06 pk Pakistan 92 Telenor +410 03 pk Pakistan 92 UFONE/PAKTel +410 07 pk Pakistan 92 Warid Telecom +410 04 pk Pakistan 92 ZONG/CMPak +552 80 pw Palau (Republic of) 680 Palau Mobile Corp. (PMC) (Palau +552 01 pw Palau (Republic of) 680 Palau National Communications Corp. (PNCC) (Palau +425 05 ps Palestinian Territory 970 Jawwal +425 06 ps Palestinian Territory 970 Wataniya Mobile +714 01 pa Panama 507 Cable & W./Mas Movil +714 03 pa Panama 507 Claro +714 04 pa Panama 507 Digicel +714 020 pa Panama 507 Movistar +714 02 pa Panama 507 Movistar +537 03 pg Papua New Guinea 675 Digicel +537 02 pg Papua New Guinea 675 GreenCom PNG Ltd +537 01 pg Papua New Guinea 675 Pacific Mobile +744 02 py Paraguay 595 Claro/Hutchison +744 03 py Paraguay 595 Compa +744 01 py Paraguay 595 Hola/VOX +744 05 py Paraguay 595 TIM/Nucleo/Personal +744 04 py Paraguay 595 Tigo/Telecel +716 20 pe Peru 51 Claro /Amer.Mov./TIM +716 10 pe Peru 51 Claro /Amer.Mov./TIM +716 02 pe Peru 51 GlobalStar +716 01 pe Peru 51 GlobalStar +716 06 pe Peru 51 Movistar +716 17 pe Peru 51 Nextel +716 07 pe Peru 51 Nextel +716 15 pe Peru 51 Viettel Mobile +515 00 ph Philippines 63 Fix Line +515 01 ph Philippines 63 Globe Telecom +515 02 ph Philippines 63 Globe Telecom +515 88 ph Philippines 63 Next Mobile +515 18 ph Philippines 63 RED Mobile/Cure +515 03 ph Philippines 63 Smart +515 05 ph Philippines 63 SUN/Digitel +260 17 pl Poland 48 Aero2 SP. +260 18 pl Poland 48 AMD Telecom. +260 38 pl Poland 48 CallFreedom Sp. z o.o. +260 12 pl Poland 48 Cyfrowy POLSAT S.A. +260 08 pl Poland 48 e-Telko +260 09 pl Poland 48 Lycamobile +260 16 pl Poland 48 Mobyland +260 36 pl Poland 48 Mundio Mobile Sp. z o.o. +260 07 pl Poland 48 Play/P4 +260 11 pl Poland 48 NORDISK Polska +260 05 pl Poland 48 Orange/IDEA/Centertel +260 03 pl Poland 48 Orange/IDEA/Centertel +260 35 pl Poland 48 PKP Polskie Linie Kolejowe S.A. +260 98 pl Poland 48 Play/P4 +260 06 pl Poland 48 Play/P4 +260 01 pl Poland 48 Polkomtel/Plus +260 13 pl Poland 48 Sferia +260 10 pl Poland 48 Sferia +260 14 pl Poland 48 Sferia +260 02 pl Poland 48 T-Mobile/ERA +260 34 pl Poland 48 T-Mobile/ERA +260 15 pl Poland 48 Tele2 +260 04 pl Poland 48 Tele2 +268 04 pt Portugal 351 Lycamobile +268 03 pt Portugal 351 NOS/Optimus +268 07 pt Portugal 351 NOS/Optimus +268 06 pt Portugal 351 MEO/TMN +268 01 pt Portugal 351 Vodafone +330 110 pr Puerto Rico Puerto Rico Telephone Company Inc. (PRTC) +330 11 pr Puerto Rico Puerto Rico Telephone Company Inc. (PRTC) +427 01 qa Qatar 974 Ooredoo/Qtel +427 02 qa Qatar 974 Vodafone +647 00 re Reunion 262 Orange +647 02 re Reunion 262 Outremer Telecom +647 10 re Reunion 262 SFR +226 03 ro Romania 40 Cosmote +226 11 ro Romania 40 Enigma Systems +226 16 ro Romania 40 Lycamobile +226 10 ro Romania 40 Orange +226 05 ro Romania 40 RCS&RDS Digi Mobile +226 02 ro Romania 40 Romtelecom SA +226 06 ro Romania 40 Telemobil/Zapp +226 01 ro Romania 40 Vodafone +226 04 ro Romania 40 Telemobil/Zapp +250 12 ru Russian Federation 79 Baykal Westcom +250 28 ru Russian Federation 79 BeeLine/VimpelCom +250 10 ru Russian Federation 79 DTC/Don Telecom +250 13 ru Russian Federation 79 Kuban GSM +250 35 ru Russian Federation 79 MOTIV/LLC Ekaterinburg-2000 +250 02 ru Russian Federation 79 Megafon +250 01 ru Russian Federation 79 MTS +250 03 ru Russian Federation 79 NCC +250 16 ru Russian Federation 79 NTC +250 19 ru Russian Federation 79 OJSC Altaysvyaz +250 11 ru Russian Federation 79 Orensot +250 92 ru Russian Federation 79 Printelefone +250 04 ru Russian Federation 79 Sibchallenge +250 44 ru Russian Federation 79 StavTelesot +250 20 ru Russian Federation 79 Tele2/ECC/Volgogr. +250 93 ru Russian Federation 79 Telecom XXL +250 39 ru Russian Federation 79 UralTel +250 17 ru Russian Federation 79 UralTel +250 99 ru Russian Federation 79 BeeLine/VimpelCom +250 05 ru Russian Federation 79 Yenisey Telecom +250 15 ru Russian Federation 79 ZAO SMARTS +250 07 ru Russian Federation 79 ZAO SMARTS +635 14 rw Rwanda 250 Airtel +635 10 rw Rwanda 250 MTN/Rwandacell +635 13 rw Rwanda 250 TIGO +356 110 kn Saint Kitts and Nevis 1869 Cable & Wireless +356 50 kn Saint Kitts and Nevis 1869 Digicel +356 70 kn Saint Kitts and Nevis 1869 UTS Cariglobe +358 110 lc Saint Lucia 1758 Cable & Wireless +358 30 lc Saint Lucia 1758 Cingular Wireless +358 50 lc Saint Lucia 1758 Digicel (St Lucia) Limited +549 27 ws Samoa 685 Samoatel Mobile +549 01 ws Samoa 685 Telecom Samoa Cellular Ltd. +292 01 sm San Marino 378 Prima Telecom +626 01 st Sao Tome & Principe 239 CSTmovel +901 14 n/a Satellite Networks 870 AeroMobile +901 11 n/a Satellite Networks 870 InMarSAT +901 12 n/a Satellite Networks 870 Maritime Communications Partner AS +901 05 n/a Satellite Networks 870 Thuraya Satellite +420 07 sa Saudi Arabia 966 Zain +420 03 sa Saudi Arabia 966 Etihad/Etisalat/Mobily +420 06 sa Saudi Arabia 966 Lebara Mobile +420 01 sa Saudi Arabia 966 STC/Al Jawal +420 05 sa Saudi Arabia 966 Virgin Mobile +420 04 sa Saudi Arabia 966 Zain +608 03 sn Senegal 221 Expresso/Sudatel +608 01 sn Senegal 221 Orange/Sonatel +608 02 sn Senegal 221 TIGO/Sentel GSM +220 03 rs Serbia 381 MTS/Telekom Srbija +220 01 rs Serbia 381 Telenor/Mobtel +220 02 rs Serbia 381 Telenor/Mobtel +220 05 rs Serbia 381 VIP Mobile +633 10 sc Seychelles 248 Airtel +633 01 sc Seychelles 248 C&W +633 02 sc Seychelles 248 Smartcom +619 03 sl Sierra Leone 232 Africel +619 01 sl Sierra Leone 232 Airtel/Zain/Celtel +619 04 sl Sierra Leone 232 Comium +619 05 sl Sierra Leone 232 Africel +619 02 sl Sierra Leone 232 Tigo/Millicom +619 25 sl Sierra Leone 232 Mobitel +525 12 sg Singapore 65 GRID Communications Pte Ltd +525 03 sg Singapore 65 MobileOne Ltd +525 02 sg Singapore 65 Singtel +525 01 sg Singapore 65 Singtel +525 07 sg Singapore 65 Singtel +525 06 sg Singapore 65 Starhub +525 05 sg Singapore 65 Starhub +231 03 sk Slovakia 421 4Ka +231 06 sk Slovakia 421 O2 +231 05 sk Slovakia 421 Orange +231 01 sk Slovakia 421 Orange +231 15 sk Slovakia 421 Orange +231 02 sk Slovakia 421 T-Mobile +231 04 sk Slovakia 421 T-Mobile +231 99 sk Slovakia 421 Zeleznice Slovenskej republiky (ZSR) +293 41 si Slovenia 386 Mobitel +293 40 si Slovenia 386 SI.Mobil +293 10 si Slovenia 386 Slovenske zeleznice d.o.o. +293 64 si Slovenia 386 T-2 d.o.o. +293 70 si Slovenia 386 Telemach/TusMobil/VEGA +540 02 sb Solomon Islands 677 bemobile +540 10 sb Solomon Islands 677 BREEZE +540 01 sb Solomon Islands 677 BREEZE +637 30 so Somalia 252 Golis +637 19 so Somalia 252 HorTel +637 10 so Somalia 252 Nationlink +637 60 so Somalia 252 Nationlink +637 04 so Somalia 252 Somafone +637 71 so Somalia 252 Somtel +637 82 so Somalia 252 Somtel +637 01 so Somalia 252 Telesom +655 02 za South Africa 27 8.ta +655 21 za South Africa 27 Cape Town Metropolitan +655 07 za South Africa 27 Cell C +655 10 za South Africa 27 MTN +655 12 za South Africa 27 MTN +655 06 za South Africa 27 Sentech +655 01 za South Africa 27 Vodacom +655 19 za South Africa 27 Wireless Business Solutions (Pty) Ltd +659 03 ss South Sudan (Republic of) Gemtel Ltd (South Sudan +659 02 ss South Sudan (Republic of) MTN South Sudan (South Sudan +659 04 ss South Sudan (Republic of) Network of The World Ltd (NOW) (South Sudan +659 06 ss South Sudan (Republic of) Zain South Sudan (South Sudan +214 23 es Spain 34 Lycamobile SL +214 22 es Spain 34 Digi Spain Telecom SL +214 15 es Spain 34 BT Espana SAU +214 18 es Spain 34 Cableuropa SAU (ONO) +214 08 es Spain 34 Euskaltel SA +214 20 es Spain 34 fonYou Wireless SL +214 32 es Spain 34 ION Mobile +214 21 es Spain 34 Jazz Telecom SAU +214 26 es Spain 34 Lleida +214 25 es Spain 34 Lycamobile SL +214 07 es Spain 34 Movistar +214 05 es Spain 34 Movistar +214 09 es Spain 34 Orange +214 03 es Spain 34 Orange +214 11 es Spain 34 Orange +214 17 es Spain 34 R Cable y Telec. Galicia SA +214 19 es Spain 34 Simyo/KPN +214 16 es Spain 34 Telecable de Asturias SA +214 27 es Spain 34 Truphone +214 01 es Spain 34 Vodafone +214 06 es Spain 34 Vodafone Enabler Espana SL +214 04 es Spain 34 Yoigo +413 05 lk Sri Lanka 94 Airtel +413 03 lk Sri Lanka 94 Etisalat/Tigo +413 08 lk Sri Lanka 94 H3G Hutchison +413 01 lk Sri Lanka 94 Mobitel Ltd. +413 02 lk Sri Lanka 94 MTN/Dialog +308 01 pm St. Pierre & Miquelon 508 Ameris +360 110 vc St. Vincent & Gren. 1784 C & W +360 10 vc St. Vincent & Gren. 1784 Cingular +360 100 vc St. Vincent & Gren. 1784 Cingular +360 050 vc St. Vincent & Gren. 1784 Digicel +360 70 vc St. Vincent & Gren. 1784 Digicel +634 00 sd Sudan 249 Canar Telecom +634 02 sd Sudan 249 MTN +634 22 sd Sudan 249 MTN +634 15 sd Sudan 249 Sudani One +634 07 sd Sudan 249 Sudani One +634 08 sd Sudan 249 Vivacell +634 05 sd Sudan 249 Vivacell +634 06 sd Sudan 249 ZAIN/Mobitel +634 01 sd Sudan 249 ZAIN/Mobitel +746 03 sr Suriname 597 Digicel +746 01 sr Suriname 597 Telesur +746 02 sr Suriname 597 Telecommunicatiebedrijf Suriname (TELESUR) +746 04 sr Suriname 597 UNIQA +653 10 sz Swaziland 268 Swazi MTN +653 01 sz Swaziland 268 SwaziTelecom +240 16 se Sweden 46 42 Telecom AB +240 35 se Sweden 46 42 Telecom AB +240 26 se Sweden 46 Beepsend +240 30 se Sweden 46 NextGen Mobile Ltd (CardBoardFish) +240 28 se Sweden 46 CoolTEL Aps +240 25 se Sweden 46 Digitel Mobile Srl +240 22 se Sweden 46 Eu Tel AB +240 27 se Sweden 46 Fogg Mobile AB +240 18 se Sweden 46 Generic Mobile Systems Sweden AB +240 17 se Sweden 46 Gotalandsnatet AB +240 02 se Sweden 46 H3G Access AB +240 04 se Sweden 46 H3G Access AB +240 36 se Sweden 46 ID Mobile +240 23 se Sweden 46 Infobip Ltd. +240 11 se Sweden 46 Lindholmen Science Park AB +240 12 se Sweden 46 Lycamobile Ltd +240 29 se Sweden 46 Mercury International Carrier Services +240 19 se Sweden 46 Mundio Mobile (Sweden) Ltd +240 10 se Sweden 46 Spring Mobil AB +240 05 se Sweden 46 Svenska UMTS-N +240 14 se Sweden 46 TDC Sverige AB +240 07 se Sweden 46 Tele2 Sverige AB +240 24 se Sweden 46 Telenor (Vodafone) +240 08 se Sweden 46 Telenor (Vodafone) +240 06 se Sweden 46 Telenor (Vodafone) +240 01 se Sweden 46 Telia Mobile +240 13 se Sweden 46 Ventelo Sverige AB +240 20 se Sweden 46 Wireless Maingate AB +240 15 se Sweden 46 Wireless Maingate Nordic AB +228 51 ch Switzerland 41 BebbiCell AG +228 05 ch Switzerland 41 Comfone AG +228 09 ch Switzerland 41 Comfone AG +228 07 ch Switzerland 41 TDC Sunrise +228 54 ch Switzerland 41 Lycamobile AG +228 52 ch Switzerland 41 Mundio Mobile AG +228 03 ch Switzerland 41 Salt/Orange +228 01 ch Switzerland 41 Swisscom +228 12 ch Switzerland 41 TDC Sunrise +228 02 ch Switzerland 41 TDC Sunrise +228 08 ch Switzerland 41 TDC Sunrise +228 53 ch Switzerland 41 upc cablecom GmbH +417 02 sy Syrian Arab Republic 963 MTN/Spacetel +417 09 sy Syrian Arab Republic 963 Syriatel Holdings +417 01 sy Syrian Arab Republic 963 Syriatel Holdings +466 68 tw Taiwan 886 ACeS Taiwan - ACeS Taiwan Telecommunications Co Ltd +466 05 tw Taiwan 886 Asia Pacific Telecom Co. Ltd (APT) +466 11 tw Taiwan 886 Chunghwa Telecom LDM +466 92 tw Taiwan 886 Chunghwa Telecom LDM +466 06 tw Taiwan 886 Far EasTone +466 02 tw Taiwan 886 Far EasTone +466 03 tw Taiwan 886 Far EasTone +466 01 tw Taiwan 886 Far EasTone +466 07 tw Taiwan 886 Far EasTone +466 10 tw Taiwan 886 Global Mobile Corp. +466 56 tw Taiwan 886 International Telecom Co. Ltd (FITEL) +466 88 tw Taiwan 886 KG Telecom +466 97 tw Taiwan 886 Taiwan Cellular +466 93 tw Taiwan 886 Mobitai +466 99 tw Taiwan 886 TransAsia +466 89 tw Taiwan 886 T-Star/VIBO +466 09 tw Taiwan 886 VMAX Telecom Co. Ltd +436 04 tk Tajikistan 992 Babilon-M +436 05 tk Tajikistan 992 Bee Line +436 02 tk Tajikistan 992 CJSC Indigo Tajikistan +436 12 tk Tajikistan 992 Tcell/JC Somoncom +436 03 tk Tajikistan 992 MLT/TT mobile +436 01 tk Tajikistan 992 Tcell/JC Somoncom +640 08 tz Tanzania 255 Benson Informatics Ltd +640 06 tz Tanzania 255 Dovetel (T) Ltd +640 09 tz Tanzania 255 Halotel/Viettel Ltd +640 11 tz Tanzania 255 Smile Communications Tanzania Ltd +640 07 tz Tanzania 255 Tanzania Telecommunications Company Ltd (TTCL) +640 02 tz Tanzania 255 TIGO/MIC +640 01 tz Tanzania 255 Tri Telecomm. Ltd. +640 04 tz Tanzania 255 Vodacom Ltd +640 05 tz Tanzania 255 Airtel/ZAIN/Celtel +640 03 tz Tanzania 255 Zantel/Zanzibar Telecom +520 20 th Thailand 66 ACeS Thailand - ACeS Regional Services Co Ltd +520 15 th Thailand 66 ACT Mobile +520 03 th Thailand 66 Advanced Wireless Networks/AWN +520 01 th Thailand 66 AIS/Advanced Info Service +520 23 th Thailand 66 Digital Phone Co. +520 00 th Thailand 66 Hutch/CAT CDMA +520 05 th Thailand 66 Total Access (DTAC) +520 18 th Thailand 66 Total Access (DTAC) +520 99 th Thailand 66 True Move/Orange +520 04 th Thailand 66 True Move/Orange +514 01 tp Timor-Leste 670 Telin/ Telkomcel +514 02 tp Timor-Leste 670 Timor Telecom +615 02 tg Togo 228 Telecel/MOOV +615 03 tg Togo 228 Telecel/MOOV +615 01 tg Togo 228 Togo Telecom/TogoCELL +539 43 to Tonga 676 Shoreline Communication +539 01 to Tonga 676 Tonga Communications +374 120 tt Trinidad and Tobago 1868 Bmobile/TSTT +374 12 tt Trinidad and Tobago 1868 Bmobile/TSTT +374 130 tt Trinidad and Tobago 1868 Digicel +374 140 tt Trinidad and Tobago 1868 LaqTel Ltd. +605 01 tn Tunisia 216 Orange +605 03 tn Tunisia 216 Oreedo/Orascom +605 02 tn Tunisia 216 TuniCell/Tunisia Telecom +605 06 tn Tunisia 216 TuniCell/Tunisia Telecom +286 04 tr Turkey 90 AVEA/Aria +286 03 tr Turkey 90 AVEA/Aria +286 01 tr Turkey 90 Turkcell +286 02 tr Turkey 90 Vodafone-Telsim +438 01 tm Turkmenistan 993 MTS/Barash Communication +438 02 tm Turkmenistan 993 Altyn Asyr/TM-Cell +376 350 tc Turks and Caicos Islands Cable & Wireless (TCI) Ltd +376 050 tc Turks and Caicos Islands Digicel TCI Ltd +376 352 tc Turks and Caicos Islands IslandCom Communications Ltd. +553 01 tv Tuvalu Tuvalu Telecommunication Corporation (TTC) +641 01 ug Uganda 256 Airtel/Celtel +641 66 ug Uganda 256 i-Tel Ltd +641 30 ug Uganda 256 K2 Telecom Ltd +641 10 ug Uganda 256 MTN Ltd. +641 14 ug Uganda 256 Orange +641 33 ug Uganda 256 Smile Communications Uganda Ltd +641 18 ug Uganda 256 Suretelecom Uganda Ltd +641 11 ug Uganda 256 Uganda Telecom Ltd. +641 22 ug Uganda 256 Airtel/Warid +255 06 ua Ukraine 380 Astelit/LIFE +255 05 ua Ukraine 380 Golden Telecom +255 39 ua Ukraine 380 Golden Telecom +255 04 ua Ukraine 380 Intertelecom Ltd (IT) +255 67 ua Ukraine 380 KyivStar +255 03 ua Ukraine 380 KyivStar +255 21 ua Ukraine 380 Telesystems Of Ukraine CJSC (TSU) +255 07 ua Ukraine 380 TriMob LLC +255 50 ua Ukraine 380 UMC/MTS +255 02 ua Ukraine 380 Beeline +255 01 ua Ukraine 380 UMC/MTS +255 68 ua Ukraine 380 Beeline +424 03 ae United Arab Emirates 971 DU +430 02 ae United Arab Emirates 971 Etisalat +424 02 ae United Arab Emirates 971 Etisalat +431 02 ae United Arab Emirates 971 Etisalat +234 03 gb United Kingdom 44 Airtel/Vodafone +234 77 gb United Kingdom 44 BT Group +234 76 gb United Kingdom 44 BT Group +234 07 gb United Kingdom 44 Cable and Wireless +234 92 gb United Kingdom 44 Cable and Wireless +234 36 gb United Kingdom 44 Cable and Wireless Isle of Man +234 18 gb United Kingdom 44 Cloud9/wire9 Tel. +235 02 gb United Kingdom 44 Everyth. Ev.wh. +234 17 gb United Kingdom 44 FlexTel +234 55 gb United Kingdom 44 Guernsey Telecoms +234 14 gb United Kingdom 44 HaySystems +234 94 gb United Kingdom 44 H3G Hutchinson +234 20 gb United Kingdom 44 H3G Hutchinson +234 75 gb United Kingdom 44 Inquam Telecom Ltd +234 50 gb United Kingdom 44 Jersey Telecom +234 35 gb United Kingdom 44 JSC Ingenicum +234 26 gb United Kingdom 44 Lycamobile +234 58 gb United Kingdom 44 Manx Telecom +234 01 gb United Kingdom 44 Mapesbury C. Ltd +234 28 gb United Kingdom 44 Marthon Telecom +234 10 gb United Kingdom 44 O2 Ltd. +234 02 gb United Kingdom 44 O2 Ltd. +234 11 gb United Kingdom 44 O2 Ltd. +234 08 gb United Kingdom 44 OnePhone +234 16 gb United Kingdom 44 Opal Telecom +234 34 gb United Kingdom 44 Everyth. Ev.wh./Orange +234 33 gb United Kingdom 44 Everyth. Ev.wh./Orange +234 19 gb United Kingdom 44 PMN/Teleware +234 12 gb United Kingdom 44 Railtrack Plc +234 22 gb United Kingdom 44 Routotelecom +234 57 gb United Kingdom 44 Sky UK Limited +234 24 gb United Kingdom 44 Stour Marine +234 37 gb United Kingdom 44 Synectiv Ltd. +234 31 gb United Kingdom 44 Everyth. Ev.wh./T-Mobile +234 30 gb United Kingdom 44 Everyth. Ev.wh./T-Mobile +234 32 gb United Kingdom 44 Everyth. Ev.wh./T-Mobile +234 27 gb United Kingdom 44 Vodafone +234 09 gb United Kingdom 44 Tismi +234 25 gb United Kingdom 44 Truphone +234 51 gb United Kingdom 44 Jersey Telecom +234 23 gb United Kingdom 44 Vectofone Mobile Wifi +234 91 gb United Kingdom 44 Vodafone +234 15 gb United Kingdom 44 Vodafone +234 78 gb United Kingdom 44 Wave Telecom Ltd +310 050 us United States 1 +310 880 us United States 1 +310 850 us United States 1 Aeris Comm. Inc. +310 640 us United States 1 +310 510 us United States 1 Airtel Wireless LLC +310 190 us United States 1 Unknown +312 090 us United States 1 Allied Wireless Communications Corporation +311 130 us United States 1 +310 710 us United States 1 Arctic Slope Telephone Association Cooperative Inc. +310 410 us United States 1 AT&T Wireless Inc. +310 380 us United States 1 AT&T Wireless Inc. +310 170 us United States 1 AT&T Wireless Inc. +310 150 us United States 1 AT&T Wireless Inc. +310 680 us United States 1 AT&T Wireless Inc. +310 070 us United States 1 AT&T Wireless Inc. +310 560 us United States 1 AT&T Wireless Inc. +310 980 us United States 1 AT&T Wireless Inc. +311 810 us United States 1 Bluegrass Wireless LLC +311 800 us United States 1 Bluegrass Wireless LLC +311 440 us United States 1 Bluegrass Wireless LLC +310 900 us United States 1 Cable & Communications Corp. +311 590 us United States 1 California RSA No. 3 Limited Partnership +311 500 us United States 1 Cambridge Telephone Company Inc. +310 830 us United States 1 Caprock Cellular Ltd. +311 285 us United States 1 Verizon Wireless +311 110 us United States 1 Verizon Wireless +311 390 us United States 1 Verizon Wireless +311 274 us United States 1 Verizon Wireless +311 484 us United States 1 Verizon Wireless +310 010 us United States 1 Verizon Wireless +311 279 us United States 1 Verizon Wireless +311 489 us United States 1 Verizon Wireless +310 910 us United States 1 Verizon Wireless +311 284 us United States 1 Verizon Wireless +311 289 us United States 1 Verizon Wireless +311 273 us United States 1 Verizon Wireless +311 483 us United States 1 Verizon Wireless +310 004 us United States 1 Verizon Wireless +311 278 us United States 1 Verizon Wireless +311 488 us United States 1 Verizon Wireless +310 890 us United States 1 Verizon Wireless +311 283 us United States 1 Verizon Wireless +311 288 us United States 1 Verizon Wireless +311 272 us United States 1 Verizon Wireless +311 482 us United States 1 Verizon Wireless +311 277 us United States 1 Verizon Wireless +311 487 us United States 1 Verizon Wireless +310 590 us United States 1 Verizon Wireless +311 282 us United States 1 Verizon Wireless +311 287 us United States 1 Verizon Wireless +311 271 us United States 1 Verizon Wireless +311 481 us United States 1 Verizon Wireless +311 276 us United States 1 Verizon Wireless +311 486 us United States 1 Verizon Wireless +310 013 us United States 1 Verizon Wireless +311 281 us United States 1 Verizon Wireless +311 286 us United States 1 Verizon Wireless +311 270 us United States 1 Verizon Wireless +311 480 us United States 1 Verizon Wireless +311 275 us United States 1 Verizon Wireless +311 485 us United States 1 Verizon Wireless +310 012 us United States 1 Verizon Wireless +311 280 us United States 1 Verizon Wireless +310 360 us United States 1 Cellular Network Partnership LLC +312 280 us United States 1 Cellular Network Partnership LLC +312 270 us United States 1 Cellular Network Partnership LLC +311 190 us United States 1 +310 030 us United States 1 +311 120 us United States 1 Choice Phone LLC +310 480 us United States 1 Choice Phone LLC +310 630 us United States 1 +310 420 us United States 1 Cincinnati Bell Wireless LLC +310 180 us United States 1 Cingular Wireless +310 620 us United States 1 Coleman County Telco /Trans TX +311 040 us United States 1 +310 60 us United States 1 Consolidated Telcom +310 06 us United States 1 Consolidated Telcom +310 26 us United States 1 +312 380 us United States 1 +310 930 us United States 1 +311 240 us United States 1 +310 080 us United States 1 +310 700 us United States 1 Cross Valliant Cellular Partnership +312 030 us United States 1 Cross Wireless Telephone Co. +311 140 us United States 1 Cross Wireless Telephone Co. +311 520 us United States 1 +312 040 us United States 1 Custer Telephone Cooperative Inc. +310 440 us United States 1 Dobson Cellular Systems +310 990 us United States 1 E.N.M.R. Telephone Coop. +312 130 us United States 1 East Kentucky Network LLC +312 120 us United States 1 East Kentucky Network LLC +310 750 us United States 1 East Kentucky Network LLC +310 090 us United States 1 Edge Wireless LLC +310 610 us United States 1 Elkhart TelCo. / Epic Touch Co. +311 210 us United States 1 +311 311 us United States 1 Farmers +311 460 us United States 1 Fisher Wireless Services Inc. +311 370 us United States 1 GCI Communication Corp. +310 430 us United States 1 GCI Communication Corp. +310 920 us United States 1 Get Mobile Inc. +310 970 us United States 1 +311 340 us United States 1 Illinois Valley Cellular RSA 2 Partnership +311 030 us United States 1 +312 170 us United States 1 Iowa RSA No. 2 Limited Partnership +311 410 us United States 1 Iowa RSA No. 2 Limited Partnership +310 770 us United States 1 Iowa Wireless Services LLC +310 650 us United States 1 Jasper +310 870 us United States 1 Kaplan Telephone Company Inc. +310 690 us United States 1 Keystone Wireless LLC +312 180 us United States 1 Keystone Wireless LLC +311 310 us United States 1 Lamar County Cellular +310 016 us United States 1 Leap Wireless International Inc. +311 090 us United States 1 +310 040 us United States 1 Matanuska Tel. Assn. Inc. +310 780 us United States 1 Message Express Co. / Airlink PCS +311 660 us United States 1 +311 330 us United States 1 Michigan Wireless LLC +311 000 us United States 1 +310 400 us United States 1 Minnesota South. Wirel. Co. / Hickory +311 920 us United States 1 Missouri RSA No 5 Partnership +311 020 us United States 1 Missouri RSA No 5 Partnership +311 010 us United States 1 Missouri RSA No 5 Partnership +312 220 us United States 1 Missouri RSA No 5 Partnership +312 010 us United States 1 Missouri RSA No 5 Partnership +310 350 us United States 1 Mohave Cellular LP +310 570 us United States 1 MTPCS LLC +310 290 us United States 1 NEP Cellcorp Inc. +310 34 us United States 1 Nevada Wireless LLC +311 380 us United States 1 +310 600 us United States 1 New-Cell Inc. +311 100 us United States 1 +311 300 us United States 1 Nexus Communications Inc. +310 130 us United States 1 North Carolina RSA 3 Cellular Tel. Co. +311 610 us United States 1 North Dakota Network Company +312 230 us United States 1 North Dakota Network Company +310 450 us United States 1 Northeast Colorado Cellular Inc. +311 710 us United States 1 Northeast Wireless Networks LLC +310 670 us United States 1 Northstar +310 011 us United States 1 Northstar +311 420 us United States 1 Northwest Missouri Cellular Limited Partnership +310 540 us United States 1 +310 760 us United States 1 Panhandle Telephone Cooperative Inc. +310 580 us United States 1 PCS ONE +311 170 us United States 1 PetroCom +311 670 us United States 1 Pine Belt Cellular, Inc. +311 080 us United States 1 +310 790 us United States 1 +310 100 us United States 1 Plateau Telecommunications Inc. +310 940 us United States 1 Poka Lambro Telco Ltd. +311 540 us United States 1 +311 730 us United States 1 +310 500 us United States 1 Public Service Cellular Inc. +312 160 us United States 1 RSA 1 Limited Partnership +311 430 us United States 1 RSA 1 Limited Partnership +311 350 us United States 1 Sagebrush Cellular Inc. +311 910 us United States 1 +310 46 us United States 1 SIMMETRY +311 260 us United States 1 SLO Cellular Inc / Cellular One of San Luis +310 320 us United States 1 Smith Bagley Inc. +310 15 us United States 1 Unknown +316 011 us United States 1 Southern Communications Services Inc. +312 530 us United States 1 Sprint Spectrum +310 120 us United States 1 Sprint Spectrum +316 010 us United States 1 Sprint Spectrum +312 190 us United States 1 Sprint Spectrum +311 880 us United States 1 Sprint Spectrum +311 870 us United States 1 Sprint Spectrum +311 490 us United States 1 Sprint Spectrum +310 240 us United States 1 T-Mobile +310 660 us United States 1 T-Mobile +310 230 us United States 1 T-Mobile +310 31 us United States 1 T-Mobile +310 220 us United States 1 T-Mobile +310 270 us United States 1 T-Mobile +310 210 us United States 1 T-Mobile +310 260 us United States 1 T-Mobile +310 200 us United States 1 T-Mobile +310 250 us United States 1 T-Mobile +310 160 us United States 1 T-Mobile +310 800 us United States 1 T-Mobile +310 300 us United States 1 T-Mobile +310 280 us United States 1 T-Mobile +310 330 us United States 1 T-Mobile +310 310 us United States 1 T-Mobile +311 740 us United States 1 +310 740 us United States 1 Telemetrix Inc. +310 14 us United States 1 Testing +310 950 us United States 1 Unknown +310 860 us United States 1 Texas RSA 15B2 Limited Partnership +311 050 us United States 1 Thumb Cellular Limited Partnership +311 830 us United States 1 Thumb Cellular Limited Partnership +310 460 us United States 1 TMP Corporation +310 490 us United States 1 Triton PCS +312 290 us United States 1 Uintah Basin Electronics Telecommunications Inc. +311 860 us United States 1 Uintah Basin Electronics Telecommunications Inc. +310 960 us United States 1 Uintah Basin Electronics Telecommunications Inc. +310 020 us United States 1 Union Telephone Co. +311 220 us United States 1 United States Cellular Corp. +310 730 us United States 1 United States Cellular Corp. +311 650 us United States 1 United Wireless Communications Inc. +310 38 us United States 1 USA 3650 AT&T +310 520 us United States 1 VeriSign +310 003 us United States 1 Unknown +310 23 us United States 1 Unknown +310 24 us United States 1 Unknown +310 25 us United States 1 Unknown +310 530 us United States 1 West Virginia Wireless +310 26 us United States 1 Unknown +310 340 us United States 1 Westlink Communications, LLC +311 150 us United States 1 +311 070 us United States 1 Wisconsin RSA #7 Limited Partnership +310 390 us United States 1 Yorkville Telephone Cooperative +748 03 uy Uruguay 598 Ancel/Antel +748 01 uy Uruguay 598 Ancel/Antel +748 10 uy Uruguay 598 Claro/AM Wireless +748 07 uy Uruguay 598 MOVISTAR +434 04 uz Uzbekistan 998 Bee Line/Unitel +434 01 uz Uzbekistan 998 Buztel +434 07 uz Uzbekistan 998 MTS/Uzdunrobita +434 05 uz Uzbekistan 998 Ucell/Coscom +434 02 uz Uzbekistan 998 Uzmacom +541 05 vu Vanuatu 678 DigiCel +541 01 vu Vanuatu 678 SMILE +734 03 ve Venezuela 58 DigiTel C.A. +734 02 ve Venezuela 58 DigiTel C.A. +734 01 ve Venezuela 58 DigiTel C.A. +734 06 ve Venezuela 58 Movilnet C.A. +734 04 ve Venezuela 58 Movistar/TelCel +452 07 vn Viet Nam 84 Beeline +452 01 vn Viet Nam 84 Mobifone +452 03 vn Viet Nam 84 S-Fone/Telecom +452 05 vn Viet Nam 84 VietnaMobile +452 08 vn Viet Nam 84 Viettel Mobile +452 06 vn Viet Nam 84 Viettel Mobile +452 04 vn Viet Nam 84 Viettel Mobile +452 02 vn Viet Nam 84 Vinaphone +376 50 vi Virgin Islands, U.S. 1340 Digicel +421 04 ye Yemen 967 HITS/Y Unitel +421 02 ye Yemen 967 MTN/Spacetel +421 01 ye Yemen 967 Sabaphone +421 03 ye Yemen 967 Yemen Mob. CDMA +645 03 zm Zambia 260 Zamtel/Cell Z/MTS +645 02 zm Zambia 260 MTN/Telecel +645 01 zm Zambia 260 Airtel/Zain/Celtel +648 04 zw Zimbabwe 263 Econet +648 01 zw Zimbabwe 263 Net One +648 03 zw Zimbabwe 263 Telecel \ No newline at end of file diff --git a/opencellid_parsing/country_code_conversion/xxx.parse_mcc_mnc_table.py b/opencellid_parsing/country_code_conversion/xxx.parse_mcc_mnc_table.py new file mode 100644 index 0000000..9e13808 --- /dev/null +++ b/opencellid_parsing/country_code_conversion/xxx.parse_mcc_mnc_table.py @@ -0,0 +1,43 @@ +#!/usr/bin/python + + +# go to https://www.mcc-mnc.com/ +# copy whole table without headline to a txt file +# run this to parse + + +import pickle + +with open("mcc_mnc_table.txt", "r") as f: + lines = f.readlines() + +country_to_code = {} +code_to_country = {} +for line in lines: + tmp = list(filter(None, line.rstrip().split(' '))) + country = tmp[2] + mcc = int(tmp[0]) if not tmp[0] == 'n/a' else float('nan') + mnc = int(tmp[1]) if not tmp[1] == 'n/a' else float('nan') + provider = "unknown" + for idx in range(3, len(tmp)): + try: + int(idx) + break + except BaseException: + continue + provider = " ".join(tmp[(idx+1):]) + + if country not in country_to_code: + country_to_code[country] = [] + country_to_code[country].append((mcc, mnc, provider)) + + key = "{}_{}".format(mcc, mnc) + if key not in code_to_country: + code_to_country[key] = (country, provider) + else: + print("conflict??") + print(key, country, provider) + print(code_to_country[key]) + +pickle.dump(country_to_code, open("country_to_code.pickle", "wb")) +pickle.dump(code_to_country, open("code_to_country.pickle", "wb"))