local maxmind = require "maxmind" local kMetroCodes = { [500] = "Portland-Auburn ME", [501] = "New York NY", [502] = "Binghamton NY", [503] = "Macon GA", [504] = "Philadelphia PA", [505] = "Detroit MI", [506] = "Boston MA-Manchester NH", [507] = "Savannah GA", [508] = "Pittsburgh PA", [509] = "Ft. Wayne IN", [510] = "Cleveland-Akron (Canton) OH", [511] = "Washington DC (Hagerstown MD)", [512] = "Baltimore MD", [513] = "Flint-Saginaw-Bay City MI", [514] = "Buffalo NY", [515] = "Cincinnati OH", [516] = "Erie PA", [517] = "Charlotte NC", [518] = "Greensboro-High Point-Winston Salem NC", [519] = "Charleston SC", [520] = "Augusta GA", [521] = "Providence RI-New Bedford MA", [522] = "Columbus GA", [523] = "Burlington VT-Plattsburgh NY", [524] = "Atlanta GA", [525] = "Albany GA", [526] = "Utica NY", [527] = "Indianapolis IN", [528] = "Miami-Ft. Lauderdale FL", [529] = "Louisville KY", [530] = "Tallahassee FL-Thomasville GA", [531] = "Tri-Cities TN-VA", [532] = "Albany-Schenectady-Troy NY", [533] = "Hartford & New Haven CT", [534] = "Orlando-Daytona Beach-Melbourne FL", [535] = "Columbus OH", [536] = "Youngstown OH", [537] = "Bangor ME", [538] = "Rochester NY", [539] = "Tampa-St. Petersburg (Sarasota) FL", [540] = "Traverse City-Cadillac MI", [541] = "Lexington KY", [542] = "Dayton OH", [543] = "Springfield-Holyoke MA", [544] = "Norfolk-Portsmouth-Newport News VA", [545] = "Greenville-New Bern-Washington NC", [546] = "Columbia SC", [547] = "Toledo OH", [548] = "West Palm Beach-Ft. Pierce FL", [549] = "Watertown NY", [550] = "Wilmington NC", [551] = "Lansing MI", [552] = "Presque Isle ME", [553] = "Marquette MI", [554] = "Wheeling WV-Steubenville OH", [555] = "Syracuse NY", [556] = "Richmond-Petersburg VA", [557] = "Knoxville TN", [558] = "Lima OH", [559] = "Bluefield-Beckley-Oak Hill WV", [560] = "Raleigh-Durham (Fayetteville) NC", [561] = "Jacksonville FL", [563] = "Grand Rapids-Kalamazoo-Battle Creek MI", [564] = "Charleston-Huntington WV", [565] = "Elmira NY", [566] = "Harrisburg-Lancaster-Lebanon-York PA", [567] = "Greenville-Spartanburg SC-Asheville NC-Anderson SC", [569] = "Harrisonburg VA", [570] = "Florence-Myrtle Beach SC", [571] = "Ft. Myers-Naples FL", [573] = "Roanoke-Lynchburg VA", [574] = "Johnstown-Altoona PA", [575] = "Chattanooga TN", [576] = "Salisbury MD", [577] = "Wilkes Barre-Scranton PA", [581] = "Terre Haute IN", [582] = "Lafayette IN", [583] = "Alpena MI", [584] = "Charlottesville VA", [588] = "South Bend-Elkhart IN", [592] = "Gainesville FL", [596] = "Zanesville OH", [597] = "Parkersburg WV", [598] = "Clarksburg-Weston WV", [600] = "Corpus Christi TX", [602] = "Chicago IL", [603] = "Joplin MO-Pittsburg KS", [604] = "Columbia-Jefferson City MO", [605] = "Topeka KS", [606] = "Dothan AL", [609] = "St. Louis MO", [610] = "Rockford IL", [611] = "Rochester MN-Mason City IA-Austin MN", [612] = "Shreveport LA", [613] = "Minneapolis-St. Paul MN", [616] = "Kansas City MO", [617] = "Milwaukee WI", [618] = "Houston TX", [619] = "Springfield MO", [622] = "New Orleans LA", [623] = "Dallas-Ft. Worth TX", [624] = "Sioux City IA", [625] = "Waco-Temple-Bryan TX", [626] = "Victoria TX", [627] = "Wichita Falls TX & Lawton OK", [628] = "Monroe LA-El Dorado AR", [630] = "Birmingham AL", [631] = "Ottumwa IA-Kirksville MO", [632] = "Paducah KY-Cape Girardeau MO-Harrisburg-Mount Vernon IL", [633] = "Odessa-Midland TX", [634] = "Amarillo TX", [635] = "Austin TX", [636] = "Harlingen-Weslaco-Brownsville-McAllen TX", [637] = "Cedar Rapids-Waterloo-Iowa City & Dubuque IA", [638] = "St. Joseph MO", [639] = "Jackson TN", [640] = "Memphis TN", [641] = "San Antonio TX", [642] = "Lafayette LA", [643] = "Lake Charles LA", [644] = "Alexandria LA", [647] = "Greenwood-Greenville MS", [648] = "Champaign & Springfield-Decatur,IL", [649] = "Evansville IN", [650] = "Oklahoma City OK", [651] = "Lubbock TX", [652] = "Omaha NE", [656] = "Panama City FL", [657] = "Sherman TX-Ada OK", [658] = "Green Bay-Appleton WI", [659] = "Nashville TN", [661] = "San Angelo TX", [662] = "Abilene-Sweetwater TX", [669] = "Madison WI", [670] = "Ft. Smith-Fayetteville-Springdale-Rogers AR", [671] = "Tulsa OK", [673] = "Columbus-Tupelo-West Point MS", [675] = "Peoria-Bloomington IL", [676] = "Duluth MN-Superior WI", [678] = "Wichita-Hutchinson KS", [679] = "Des Moines-Ames IA", [682] = "Davenport IA-Rock Island-Moline IL", [686] = "Mobile AL-Pensacola (Ft. Walton Beach) FL", [687] = "Minot-Bismarck-Dickinson(Williston) ND", [691] = "Huntsville-Decatur (Florence) AL", [692] = "Beaumont-Port Arthur TX", [693] = "Little Rock-Pine Bluff AR", [698] = "Montgomery (Selma) AL", [702] = "La Crosse-Eau Claire WI", [705] = "Wausau-Rhinelander WI", [709] = "Tyler-Longview(Lufkin & Nacogdoches) TX", [710] = "Hattiesburg-Laurel MS", [711] = "Meridian MS", [716] = "Baton Rouge LA", [717] = "Quincy IL-Hannibal MO-Keokuk IA", [718] = "Jackson MS", [722] = "Lincoln & Hastings-Kearney NE", [724] = "Fargo-Valley City ND", [725] = "Sioux Falls(Mitchell) SD", [734] = "Jonesboro AR", [736] = "Bowling Green KY", [737] = "Mankato MN", [740] = "North Platte NE", [743] = "Anchorage AK", [744] = "Honolulu HI", [745] = "Fairbanks AK", [746] = "Biloxi-Gulfport MS", [747] = "Juneau AK", [749] = "Laredo TX", [751] = "Denver CO", [752] = "Colorado Springs-Pueblo CO", [753] = "Phoenix AZ", [754] = "Butte-Bozeman MT", [755] = "Great Falls MT", [756] = "Billings MT", [757] = "Boise ID", [758] = "Idaho Falls-Pocatello ID", [759] = "Cheyenne WY-Scottsbluff NE", [760] = "Twin Falls ID", [762] = "Missoula MT", [764] = "Rapid City SD", [765] = "El Paso TX", [766] = "Helena MT", [767] = "Casper-Riverton WY", [770] = "Salt Lake City UT", [771] = "Yuma AZ-El Centro CA", [773] = "Grand Junction-Montrose CO", [789] = "Tucson (Sierra Vista) AZ", [790] = "Albuquerque-Santa Fe NM", [798] = "Glendive MT", [800] = "Bakersfield CA", [801] = "Eugene OR", [802] = "Eureka CA", [803] = "Los Angeles CA", [804] = "Palm Springs CA", [807] = "San Francisco-Oakland-San Jose CA", [810] = "Yakima-Pasco-Richland-Kennewick WA", [811] = "Reno NV", [813] = "Medford-Klamath Falls OR", [819] = "Seattle-Tacoma WA", [820] = "Portland OR", [821] = "Bend OR", [825] = "San Diego CA", [828] = "Monterey-Salinas CA", [839] = "Las Vegas NV", [855] = "Santa Barbara-Santa Maria-San Luis Obispo CA", [862] = "Sacramento-Stockton-Modesto CA", [866] = "Fresno-Visalia CA", [868] = "Chico-Redding CA", [881] = "Spokane WA", } local function Dump(p) if type(p) == 'table' then local a = {} for k in pairs(p) do table.insert(a, k) end table.sort(a) Write('
Not found\n') end Write('
Not found\n') end end end main()