summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rw-r--r--etc/abbr_state.txt72
-rw-r--r--etc/areacodes.txt353
-rw-r--r--etc/countries.txt239
-rw-r--r--etc/domain-template.txt231
-rw-r--r--etc/fslongtable.sty438
-rwxr-xr-xetc/megapop.pl114
-rw-r--r--etc/sql-reserved-words.txt222
7 files changed, 1669 insertions, 0 deletions
diff --git a/etc/abbr_state.txt b/etc/abbr_state.txt
new file mode 100644
index 000000000..7e4f57f78
--- /dev/null
+++ b/etc/abbr_state.txt
@@ -0,0 +1,72 @@
+State/Possession Abbreviation
+
+ALABAMA AL
+ALASKA AK
+AMERICAN SAMOA AS
+ARIZONA AZ
+ARKANSAS AR
+CALIFORNIA CA
+COLORADO CO
+CONNECTICUT CT
+DELAWARE DE
+DISTRICT OF COLUMBIA DC
+FEDERATED STATES OF MICRONESIA FM
+FLORIDA FL
+GEORGIA GA
+GUAM GU
+HAWAII HI
+IDAHO ID
+ILLINOIS IL
+INDIANA IN
+IOWA IA
+KANSAS KS
+KENTUCKY KY
+LOUISIANA LA
+MAINE ME
+MARSHALL ISLANDS MH
+MARYLAND MD
+MASSACHUSETTS MA
+MICHIGAN MI
+MINNESOTA MN
+MISSISSIPPI MS
+MISSOURI MO
+MONTANA MT
+NEBRASKA NE
+NEVADA NV
+NEW HAMPSHIRE NH
+NEW JERSEY NJ
+NEW MEXICO NM
+NEW YORK NY
+NORTH CAROLINA NC
+NORTH DAKOTA ND
+NORTHERN MARIANA ISLANDS MP
+OHIO OH
+OKLAHOMA OK
+OREGON OR
+PALAU PW
+PENNSYLVANIA PA
+PUERTO RICO PR
+RHODE ISLAND RI
+SOUTH CAROLINA SC
+SOUTH DAKOTA SD
+TENNESSEE TN
+TEXAS TX
+UTAH UT
+VERMONT VT
+VIRGIN ISLANDS VI
+VIRGINIA VA
+WASHINGTON WA
+WEST VIRGINIA WV
+WISCONSIN WI
+WYOMING WY
+
+
+Military "State" Abbreviation
+
+Armed Forces Africa AE
+Armed Forces Americas AA
+(except Canada)
+Armed Forces Canada AE
+Armed Forces Europe AE
+Armed Forces Middle East AE
+Armed Forces Pacific AP
diff --git a/etc/areacodes.txt b/etc/areacodes.txt
new file mode 100644
index 000000000..e214db1b9
--- /dev/null
+++ b/etc/areacodes.txt
@@ -0,0 +1,353 @@
+201 NJ New Jersey (Hackensack, Jersey City, Hoboken and northeast New Jersey, overlays with 551)<Eastern Time Zone>
+202 DC District of Columbia (all of Washington, DC)<Eastern Time Zone>
+203 CT Connecticut (Bridgeport, New Haven, Waterbury and southwestern Connecticut, overlays with 475)<Eastern Time Zone>
+204 MB Manitoba (all of Manitoba)<Central Time Zone>
+205 AL Alabama (Birmingham, Tuscaloosa and central and western Alabama)<Central Time Zone>
+206 WA Washington (Seattle, Sea-Tac, Ballard, Madison, Capitol Hill and central Seattle neighborhoods)<Pacific Time Zone>
+207 ME Maine (all of Maine)<Eastern Time Zone>
+208 ID Idaho (all of Idaho)<Mountain & Pacific Time Zones>
+209 CA California (Stockton, Merced, Modesto, San Andreas and central California)<Pacific Time Zone>
+210 TX Texas (San Antonio area)<Central Time Zone>
+212 NY New York (New York City Manhattan area, overlays with 646 and 917)<Eastern Time Zone>
+213 CA California (Downtown Los Angeles area only)<Pacific Time Zone>
+214 TX Texas (Dallas area, overlays with 469 and 972)<Central Time Zone>
+215 PA Pennsylvania (Philadelphia area, overlays with 267 and 445)<Eastern Time Zone>
+216 OH Ohio (Cleveland area)<Eastern Time Zone>
+217 IL Illinois (Champaign, Decatur, Urbana, Springfield and central Illinois)<Central Time Zone>
+218 MN Minnesota (Duluth, Thief River Falls, Brainerd, International Falls and northern Minnesota)<Central Time Zone>
+219 IN Indiana (Gary, Valparaiso, Michigan City, Goodland, Fowler and northwestern Indiana)<Central Time Zone>
+224 IL Illinois (Waukegan, Des Plaines, northwest Chicago suburbs and northeastern Illinois, overlays with 847)<Central Time Zone>
+225 LA Louisiana (Baton Rouge, New Roads, White Castle and central eastern Louisiana)<Central Time Zone>
+226 ON Ontario (London, Windsor and southwestern Ontario, overlays with 519)<Eastern Time Zone>
+228 MS Mississippi (Gulfport, Pascagoula, Biloxi, Bay St Louis and southern Mississippi gulf coast)<Central Time Zone>
+229 GA Georgia (Albany, Valdosta, Bainbridge, Americus, Fitzgerald and southwestern Georgia)<Eastern Time Zone>
+231 MI Michigan (Traverse City, Ludington, Muskegon, Petoskey and northwestern Michigan)<Eastern Time Zone>
+234 OH Ohio (Youngstown, Warren, Akron, Canton and northeastern Ohio, overlays with 330)<Eastern Time Zone>
+239 FL Florida (Fort Meyers, Naples, Everglades and southwestern Florida)<Eastern Time Zone>
+240 MD Maryland (Hagerstown, Rockville, Cumberland and western Maryland, overlays with 301)<Eastern Time Zone>
+242 BAHAMAS (all of Bahamas)<Atlantic Time Zone (one hour later than Eastern)>
+246 BARBADOS (all of Barbados)<Atlantic Time Zone (one hour later than Eastern)>
+248 MI Michigan (Troy, Oakland County, Pontiac, Southfield, Rochester Hills and northwestern Detroit suburbs, overlays with 947)<Eastern Time Zone>
+250 BC British Columbia (all except Vancouver area)<Mountain & Pacific Time Zones>
+251 AL Alabama (Mobile, Jackson and southwestern Alabama)<Central Time Zone>
+252 NC North Carolina (Greenville, Kitty Hawk, Rocky Mount and northeastern North Carolina)<Eastern Time Zone>
+253 WA Washington (Tacoma, Auburn, Puyallup, Enumclaw, Spanaway and south Seattle suburbs)<Pacific Time Zone>
+254 TX Texas (Waco, Killeen, Belton, Stephenville and north central Texas)<Central Time Zone>
+256 AL Alabama (Florence, Huntsville, Gadsden, Anniston and northern and eastern Alabama)<Central Time Zone>
+260 IN Indiana (Fort Wayne, Decatur, Angola, Wabash and northeastern Indiana)<Eastern Time Zone>
+262 WI Wisconsin (Menomonee Falls, Waukesha, Racine and southeastern Wisconsin excluding Milwaukee area)<Central Time Zone>
+264 ANGUILLA (all of Anguilla)<Atlantic Time Zone (one hour later than Eastern)>
+267 PA Pennsylvania (Philadelphia area, overlays with 215 and 445)<Eastern Time Zone>
+268 ANTIGUA and BARBUDA (all of Antigua and Barbuda)<Atlantic Time Zone (one hour later than Eastern)>
+269 MI Michigan (Battle Creek, Benton Harbor, Allegan, Hastings, Kalamazoo, St Joseph, and southwestern Michigan)<Eastern Time Zone>
+270 KY Kentucky (Paducah, Bowling Green, Hopkinsville, Owensboro and western Kentucky)<Central Time Zone>
+276 VA Virginia (Abingdon, Wytheville, Martinsville, Bluefield and western Virginia)<Eastern Time Zone>
+281 TX Texas (Spring, Katy, Houston area, overlays with 713 and 832)<Central Time Zone>
+284 BRITISH VIRGIN ISLANDS (all of the British Virgin Islands)<Atlantic Time Zone (one hour later than Eastern)>
+289 ON Ontario (Hamilton, Toronto suburbs and central southeastern Ontario, overlays with 905)<Eastern Time Zone>
+301 MD Maryland (Hagerstown, Rockville, Cumberland and western Maryland, overlays with 240)<Eastern Time Zone>
+302 DE Delaware (all of Delaware)<Eastern Time Zone>
+303 CO Colorado (Boulder, Longmont, Aurora, Denver and central Colorado, overlays with 720)<Mountain Time Zone>
+304 WV West Virginia (all of West Virginia)<Eastern Time Zone>
+305 FL Florida (Miami, Homestead, Coral Gables, Key West and southeastern Florida, overlays with 786)<Eastern Time Zone>
+306 SK Saskatchewan (all of Saskatchewan)<Central & Mountain Time Zones>
+307 WY Wyoming (all of Wyoming)<Mountain Time Zone>
+308 NE Nebraska (North Platte, Scottsbluff, McCook, Grand Island and western Nebraska)<Central & Mountain Time Zones>
+309 IL Illinois (Peoria, Moline, Rock Island, Galesburg and central western Illinois)<Central Time Zone>
+310 CA California (Malibu, Torrance, Beverley Hills, Santa Monica, Catalina and western Los Angeles suburbs, overlays with 424)<Pacific Time Zone>
+311 NON-EMERGENCY ACCESS
+312 IL Illinois (downtown central Chicago area)<Central Time Zone>
+313 MI Michigan (Dearborn, Detroit and inner Detroit suburbs)<Eastern Time Zone>
+314 MO Missouri (St Louis, Florissant, Crestwood, Affton and surrounding suburbs)<Central Time Zone>
+315 NY New York (Watertown, Utica, Syracuse and north central New York)<Eastern Time Zone>
+316 KS Kansas ( Wichita, Augusta, El Dorado, Mulvane and the Wichita surrounding area)<Central Time Zone>
+317 IN Indiana (Indianapolis, Greenwood, Mooresville, Beech Grove and central Indiana)<Eastern Time Zone>
+318 LA Louisiana (Shreveport, Monroe, Alexandria, Fisher, Tallulah and northern Louisiana)<Central Time Zone>
+319 IA Iowa (Burlington, Iowa City, Cedar Rapids, Waterloo and east central and southeastern Iowa)<Central Time Zone>
+320 MN Minnesota (St Cloud, Morris, Hutchinson, Sandstone, Appleton and central Minnesota)<Central Time Zone>
+321 FL Florida (Orlando, Cocoa Beach, St Cloud and central eastern Florida, overlays with 407)<Eastern Time Zone>
+323 CA California (Florence and Los Angeles excluding downtown Los Angeles)<Pacific Time Zone>
+325 TX Texas (Abilene, San Angelo, Albany, Comanche, Snyder, Ozona and west central Texas)<Central Time Zone>
+330 OH Ohio (Youngstown, Warren, Akron, Canton and northeastern Ohio, overlays with 234)<Eastern Time Zone>
+331 IL Illinois (Aurora, Batavia, Geneva and western Chicago suburbs, overlays with 630)<Central Time Zone>
+334 AL Alabama ( Montgomery, Auburn, Dothan, Selma and southeastern Alabama)<Central Time Zone>
+336 NC North Carolina (Winston-Salem, Greensboro, North Wilkesboro and northwest North Carolina)<Eastern Time Zone>
+337 LA Louisiana (Leesville, Lake Charles, Lafayette, De Ridder and southwestern Louisiana)<Central Time Zone>
+339 MA Massachusetts (Saugus, Norwood and east central Massachusetts, overlays with 781)<Eastern Time Zone>
+340 US VIRGIN ISLANDS (all of the US Virgin Islands)<Atlantic Time Zone>
+345 CAYMAN ISLANDS (all of the Cayman Islands)<Eastern Time Zone>
+347 NY New York (Flushing, Jamaica, Brooklyn, Staten Island, Bronx and Queens, overlays with 718 and 917)<Eastern Time Zone>
+351 MA Massachusetts (Fitchburg, Peabody and northeastern Massachusetts, overlays with 978)<Eastern Time Zone>
+352 FL Florida (Gainesville, Ocala, Inverness, Dunnellon and central Florida)<Eastern Time Zone>
+360 WA Washington (Bellingham, Vancouver, Aberdeen, Olympia and western Washington except Seattle area)<Pacific Time Zone>
+361 TX Texas (Corpus Christi, Victoria, George West and southeastern Texas)<Central Time Zone>
+385 UT Utah (North and south of Salt Lake City including Ogden, Provo, Bountiful and Spanish Fork)<Mountain Time Zone>
+386 FL Florida (Daytona Beach, Lake City, Live Oak, Crescent City and northern and eastern Florida)<Eastern Time Zone>
+401 RI Rhode Island (all of Rhode Island)<Eastern Time Zone>
+402 NE Nebraska (Valentine, Lincoln, Norfolk, Omaha, Superior, Crofton and eastern Nebraska)<Central Time Zone>
+403 AB Alberta (Calgary, Banff, Red Deer, Medicine Hat, Lethbridge and southern Alberta)<Mountain Time Zone>
+404 GA Georgia (central Atlanta area, overlays with 470 and 678)<Eastern Time Zone>
+405 OK Oklahoma (Oklahoma City, Edmond, Norman, Shawnee, Chickasha and central Oklahoma)<Central Time Zone>
+406 MT Montana (all of Montana)<Mountain Time Zone>
+407 FL Florida (Orlando, Cocoa Beach, St Cloud and central eastern Florida, overlays with 321)<Eastern Time Zone>
+408 CA California (Los Gatos, Milpitas, Sunnyvale, Cupertino and San Jose area)<Pacific Time Zone>
+409 TX Texas (Beaumont, Galveston, Port Arthur, Jasper and southeastern Texas)<Central Time Zone>
+410 MD Maryland (Annapolis, Baltimore, Salisbury and eastern Maryland, overlays with 443)<Eastern Time Zone>
+411 LOCAL DIRECTORY ASSISTANCE
+412 PA Pennsylvania (Pittsburgh area, McKeesport, Braddock, Duquesne, overlays with 878)<Eastern Time Zone>
+413 MA Massachusetts (Pittsfield, Springfield, Holyoke, Greenfield and western Massachusetts)<Eastern Time Zone>
+414 WI Wisconsin (Milwaukee, Greenfield, Oak Creek and Milwaukee suburbs)<Central Time Zone>
+415 CA California (Sausalito, San Rafael, Novato, San Quentin, San Francisco and bay area)<Pacific Time Zone>
+416 ON Ontario (Toronto area, overlays with 647)<Eastern Time Zone>
+417 MO Missouri (Joplin, Springfield, West Plains, Lamar, Lebanon and southwestern Missouri)<Central Time Zone>
+418 QC Quebec (Quebec and eastern Quebec)<Eastern Time Zone>
+419 OH Ohio (Toledo, Mansfield, Lima, Bryan, Sandusky, Bowling Green and northwestern Ohio, overlays with 567)<Eastern Time Zone>
+423 TN Tennessee (Bristol, Sweetwater, Chattanooga, and southeastern and north eastern Tennessee)<Central & Eastern Time Zones>
+424 CA California (Malibu, Torrance, Beverley Hills, Santa Monica, Catalina and western Los Angeles suburbs, overlays with 310)<Pacific Time Zone>
+425 WA Washington (north and east Seattle suburbs including Everett, Bellevue, Redmond, Renton and Issaquah)<Pacific Time Zone>
+430 TX Texas (Tyler, Sherman, Longview, Palestine and northeastern Texas, overlays with 903)<Central Time Zone>
+432 TX Texas (Alpine, Midland, Odessa, Big Bend, Seminole, Comstock and west central Texas)< Central Time Zone>
+434 VA Virginia (Lynchburg, Danville, South Hill, Charlottesville and south central Virginia)<Eastern Time Zone>
+435 UT Utah (Logan, St George, Moab and all of Utah excluding Salt Lake City, Ogden, Provo and central Utah)<Mountain Time Zone>
+438 QC Quebec (Montreal area, overlays with 514)<Eastern Time Zone>
+440 OH Ohio (Elyria, Lorain, Oberlin, Wellington and north central Ohio)<Eastern Time Zone>
+441 BERMUDA (all of Bermuda)<Atlantic Time Zone>
+443 MD Maryland (Annapolis, Baltimore, Salisbury and eastern Maryland, overlays with 410)<Eastern Time Zone>
+450 QC Quebec (central southern Quebec excluding Montreal)<Eastern Time Zone>
+456 INTERNATIONAL INBOUND
+469 TX Texas (Dallas area, overlays with 214 and 972)<Central Time Zone>
+470 GA Georgia (Atlanta, Gainesville and north central Georgia, overlays with 404 and 678 and 770)<Eastern Time Zone>
+473 GRENADA (all of Grenada)<Atlantic Time Zone (one hour later than Eastern)>
+475 CT Connecticut ( Bridgeport, New Haven, Waterbury and southwestern Connecticut, overlays with 203)<Eastern Time Zone>
+478 GA Georgia (Macon, Warner Robins, Swainsboro, Wadley, Milledgeville, Perry and central Georgia)<Eastern Time Zone>
+479 AR Arkansas (Fort Smith, Fayetteville and northwestern Arkansas)<Central Time Zone>
+480 AZ Arizona (Chandler, eastern Phoenix area and eastern Phoenix suburbs only)<Mountain & Pacific Time Zones>
+484 PA Pennsylvania (Reading, Allentown, Chester and southeastern Pennsylvania, overlays with 610 and 835)<Eastern Time Zone>
+500 PERSONAL COMMUNICATIONS SERVICES
+501 AR Arkansas (Little Rock, Hot Springs and central Arkansas)<Central Time Zone>
+502 KY Kentucky (Louisville, Frankfort, Shelbyville and north central Kentucky)<Eastern Time Zone>
+503 OR Oregon (Portland, Salem, Tillamook, Astoria and northwestern Oregon, overlays with 971)<Pacific Time Zone>
+504 LA Louisiana (New Orleans, Kenner, Metairie and surrounding areas)<Central Time Zone>
+505 NM New Mexico (Albuquerque, Farmington, Gallup, Santa Fe and northwestern New Mexico)<Mountain Time Zone>
+506 NB New Brunswick (all of New Brunswick)<Atlantic Time Zone>
+507 MN Minnesota (Rochester, Mankato, Worthington, Marshall and southern Minnesota)<Central Time Zone>
+508 MA Massachusetts (Worcester, New Bedford and southeastern Massachusetts, overlays with 774)<Eastern Time Zone>
+509 WA Washington (Spokane, Yakima, Walla Walla, Moses Lake, Ellensburg and eastern Washington)<Pacific Time Zone>
+510 CA California (Hayward, Berkeley, Oakland, Richmond and Fremont areas)<Pacific Time Zone>
+512 TX Texas (Austin, Lampasas, Bastrop, Milam and central Texas)<Central Time Zone>
+513 OH Ohio (Cincinnati, Middletown, Hamilton, Norwood, Lebanon and southwestern Ohio)<Eastern Time Zone>
+514 QC Quebec (Montreal area, overlays with 438)<Eastern Time Zone>
+515 IA Iowa (Des Moines, Ames, Fort Dodge, Jefferson, Algona, Indianola and north central Iowa)<Central Time Zone>
+516 NY New York (Nassau County, Levittown, Hicksville, Massapequa and western Long Island)<Eastern Time Zone>
+517 MI Michigan (Jackson, Lansing, Howell, Deerfield, Addison and south central Michigan)<Eastern Time Zone>
+518 NY New York (Plattsburgh, Saranac Lake, Albany and northeastern New York)<Eastern Time Zone>
+519 ON Ontario (London, Windsor and southwestern Ontario, overlays with 226)<Eastern Time Zone>
+520 AZ Arizona (Tucson and southeastern Arizona)<Mountain & Pacific Time Zones>
+530 CA California (Alturas, Chico, Redding, Placerville, Truckee and northeastern California)<Pacific Time Zone>
+540 VA Virginia (Roanoke, Harrisonburg, Winchester, Fredericksburg and northern Virginia)<Eastern Time Zone>
+541 OR Oregon (Medford, Eugene, Ontario, Burns and all of Oregon except northwestern Oregon)<Mountain & Pacific Time Zones>
+551 NJ New Jersey (Hackensack, Jersey City, and northeast New Jersey, overlays with 201)<Eastern Time Zone>
+559 CA California (Fresno, Madera, Hanford, Visalia and central California)<Pacific Time Zone>
+561 FL Florida (West Palm Beach, Boca Raton, Boynton Beach, Delray Beach, Belleglade and central eastern Florida)<Eastern Time Zone>
+562 CA California (Long Beach, Lakewood, Bellflower and southwestern Los Angeles suburbs)<Pacific Time Zone>
+563 IA Iowa (Decorah, Dubuque, Clinton, Davenport and eastern and northeastern Iowa)<Central Time Zone>
+567 OH Ohio (Toledo, Mansfield, Lima, Bryan, Sandusky and northwestern Ohio, overlays with 419)<Eastern Time Zone>
+570 PA Pennsylvania (Scranton, Williamsport, Wilkes-Barre, Susquehanna and northeastern Pennsylvania)<Eastern Time Zone>
+571 VA Virginia (Alexandria, Washington DC suburbs, Arlington and northeastern Virginia, overlays with 703)<Eastern Time Zone>
+573 MO Missouri (Jefferson City, Hannibal, Poplar Bluff and eastern Missouri excluding St Louis)<Central Time Zone>
+574 IN Indiana (South Bend, Logansport, Elkhart, Nappanee and north central Indiana)<Central & Eastern Time Zones>
+575 NM New Mexico (Carlsbad, Las Cruces, Roswell, Silver City, Taos and southern and eastern New Mexico)<Mountain Time Zone>
+580 OK Oklahoma (Guymon, Hugo, Enid, Lawton, Ardmore, Elk City and southern and western Oklahoma)<Central Time Zone>
+585 NY New York (Rochester, Wellsville, Batavia, Olean and western New York)<Eastern Time Zone>
+586 MI Michigan (Port Huron, Flint, Flushing, Warren and eastern Michigan, overlays with 810)<Eastern Time Zone>
+600 CANADA/SERVICES
+601 MS Mississippi (Jackson, Meridian, Natchez, McComb, Hattiesburg and central Mississippi, overlays with 769)<Central Time Zone>
+602 AZ Arizona (Central Phoenix only)<Mountain & Pacific Time Zones>
+603 NH New Hampshire (all of New Hampshire)<Eastern Time Zone>
+604 BC British Columbia (Vancouver, Richmond, Abbotsford, Whistler and southwestern BC, overlays with 778)<Pacific Time Zone>
+605 SD South Dakota (all of South Dakota)<Central & Mountain Time Zones>
+606 KY Kentucky (Ashland, Hazard, Somerset, London, Corbin, Pikeville, Maysville and eastern Kentucky)<Central & Eastern Time Zones>
+607 NY New York (Binghamton, Elmira, Bath, Norwich and south central New York)<Eastern Time Zone>
+608 WI Wisconsin (Madison, La Crosse, Platteville, Janesville and southwestern Wisconsin)<Central Time Zone>
+609 NJ New Jersey (Atlantic City, Brown Mills, Trenton, and central & southeastern New Jersey)<Eastern Time Zone>
+610 PA Pennsylvania (Reading, Allentown, Chester and southeastern Pennsylvania, overlays with 484 and 835)<Eastern Time Zone>
+611 REPAIR SERVICE
+612 MN Minnesota (Central Minneapolis, Fort Snelling, St Anthony and Richfield)<Central Time Zone>
+613 ON Ontario (Ottawa and southeastern Ontario)<Eastern Time Zone>
+614 OH Ohio (Columbus area)<Eastern Time Zone>
+615 TN Tennessee (Nashville, Murfreesboro, Springfield, Lebanon, Dickson and north central Tennessee)<Central Time Zone>
+616 MI Michigan ( Grand Rapids, Holland, Greenville, Grandhaven, Zeeland, and southwestern Michigan)<Eastern Time Zone>
+617 MA Massachusetts (Boston, Cambridge and east central Massachusetts, overlays with 857)<Eastern Time Zone>
+618 IL Illinois (Carbondale, Alton, Centralia, Mount Vernon and southern Illinois)<Central Time Zone>
+619 CA California (National City, Chula Vista, Imperial Beach, Otay and the San Diego area)<Pacific Time Zone>
+620 KS Kansas (Dodge City, Great Bend, Parsons, Liberal and southern Kansas)<Central & Mountain Time Zone>
+623 AZ Arizona (Buckeye, Peoria, western Phoenix area and western Phoenix suburbs only)<Mountain & Pacific Time Zones>
+626 CA California (Arcadia, Temple City, Covina, Pasadena and eastern Los Angeles suburbs)<Pacific Time Zone>
+630 IL Illinois (Aurora, Batavia, Geneva and western Chicago suburbs, overlays with 331)<Central Time Zone>
+631 NY New York (Manorville, Huntington, Lindenhurst, Islip, Deer Park and Eastern Long Island)<Eastern Time Zone>
+636 MO Missouri (Chesterfield, Union, De Soto, Troy and east central Missouri)<Central Time Zone>
+641 IA Iowa (Mason City, Oskaloosa, Creston, Pella, Ottumwa, Britt, Clear Lake, Fairfield and central Iowa)<Central Time Zone>
+646 NY New York (New York City Manhattan area, overlays with 212 and 917)<Eastern Time Zone>
+647 ON Ontario (Toronto area, overlays with 416)<Eastern Time Zone>
+649 TURKS & CAICOS (all of Turks and Caicos)<Eastern Time Zone>
+650 CA California (San Mateo, Palo Alto, Redwood City, Menlo Park and southern San Francisco suburbs)<Pacific Time Zone>
+651 MN Minnesota (St Paul, Lindstrom, Red Wing, Hastings and east central Minnesota)<Central Time Zone>
+660 MO Missouri (Marshall, Sedalia, Macon, Trenton, Maryville and north central Missouri)<Central Time Zone>
+661 CA California (Bakersfield, Mojave, Santa Clarita, Palmdale and south central California)<Pacific Time Zone>
+662 MS Mississippi (Greenville, Tupelo, Winona, Columbus, Holly Springs and northern Mississippi)<Central Time Zone>
+664 MONTSERRAT (all of Montserrat)<Atlantic Time Zone (one hour later than Eastern)>
+670 COMMONWEALTH OF THE NORTHERN MARIANA ISLANDS (all of CNMI including Saipan)<Pacific Guam Time Zone (6 or 7 hours earlier than Pacific Time, does not observe daylight savings)>
+671 GUAM (all of Guam)<Pacific Guam Time Zone (6 or 7 hours earlier than Pacific Time, does not observe daylight savings)>
+678 GA Georgia (Atlanta, Gainesville, Griffin and north central Georgia, overlays 404 and and 470 and 770)<Eastern Time Zone>
+682 TX Texas (Fort Worth, Arlington, Grandview, Weatherford, Rhome, overlays with 817)<Central Time Zone>
+684 AMERICAN SAMOA (all of American Samoa including Pago Pago)<Samoan Standard Time Zone (3 or 4 hours earlier than Pacific Time, does not observe daylight savings)>
+700 INTEREXCHANGE CARRIER SERVICES
+701 ND North Dakota (all of North Dakota)<Mountain & Central Time Zones>
+702 NV Nevada (Las Vegas, Henderson and extreme southern Nevada)<Pacific Time Zone>
+703 VA Virginia (Alexandria, Washington DC suburbs, Arlington and northeastern Virginia, overlays with 571)<Eastern Time Zone>
+704 NC North Carolina (Charlotte, Kingstown and south central North Carolina, overlays with 980)<Eastern Time Zone>
+705 ON Ontario (North Bay and northeastern Ontario)<Eastern Time Zone>
+706 GA Georgia (Augusta, Columbus, Lagrange, Rome, Dalton and northern and west central Georgia, overlays with 762)<Eastern Time Zone>
+707 CA California (Santa Rosa, Fort Bragg, Crescent City, Eureka, Ukiah and northwestern California)<Pacific Time Zone>
+708 IL Illinois (Chicago Heights, Tinley Park and southern Chicago suburbs)<Central Time Zone>
+709 NF Newfoundland (all of Newfoundland)<Newfoundland Time Zone (one and a half hours later than Eastern)>
+710 US GOVERNMENT
+711 TRS ACCESS
+712 IA Iowa (Estherville, Council Bluffs, Sioux City, Sheldon, Denison and western Iowa)<Central Time Zone>
+713 TX Texas (Spring, Katy, Houston area, overlays with 281 and 832)<Central Time Zone>
+714 CA California (Huntington Beach, Orange, Garden Grove, Tustin, Anaheim and northern Orange County)<Pacific Time Zone>
+715 WI Wisconsin (Rhinelander, Wausau, Eau Claire, Rice Lake, Ashland and northern Wisconsin)<Central Time Zone>
+716 NY New York (Buffalo, Jamestown, Niagara Falls, Tonawanda and western New York)<Eastern Time Zone>
+717 PA Pennsylvania (Harrisburg, Gettysburg, Lancaster, York and south central Pennsylvania)<Eastern Time Zone>
+718 NY New York (Flushing, Jamaica, Brooklyn, Staten Island, Bronx and Queens, overlays with 347 and 917)<Eastern Time Zone>
+719 CO Colorado (Leadville, Pueblo, Colorado Springs, Trinidad and southeastern Colorado)<Mountain Time Zone>
+720 CO Colorado (Boulder, Longmont, Aurora, Denver and central Colorado, overlays with 303)<Mountain Time Zone>
+724 PA Pennsylvania (New Castle, Washington, Uniontown and south western Pennsylvania, overlays with 878)<Eastern Time Zone>
+727 FL Florida (Clearwater, St Petersburg, Dunedin and the west central Florida gulf coast)<Eastern Time Zone>
+731 TN Tennessee (Union City, Jackson, Dyersburg, Paris, Bolivar and western Tennessee)<Central Time Zone>
+732 NJ New Jersey (New Brunswick, Neptune, Lakewood, and east central New Jersey, overlays with 848)<Eastern Time Zone>
+734 MI Michigan (Ann Arbor, Monroe, Wayne, Ypsilanti and southwestern Detroit suburbs)<Eastern Time Zone>
+740 OH Ohio (Jackson, Lancaster, Marietta, Cambridge, Zanesville, New Castle and southeastern Ohio)<Eastern Time Zone>
+754 FL Florida (Fort Lauderdale, Pompano Beach, overlays with 954)<Eastern Time Zone>
+757 VA Virginia (Hampton, Norfolk, Williamsburg, Newport News, Virginia Beach and southeastern Virginia)<Eastern Time Zone>
+758 ST LUCIA (all of St Lucia)<Atlantic Time Zone (one hour later than Eastern)>
+760 CA California (Bishop, Ridgecrest, Indio, Barstow, El Centro, Palm Springs and southeastern California)<Pacific Time Zone>
+762 GA Georgia (Augusta, Columbus, Lagrange, Rome, Dalton and northern and west central Georgia, overlays with 706)<Eastern Time Zone>
+763 MN Minnesota (Maple Grove, Monticello, Elk River, Fridley, Blaine, and northwest Minneapolis area)<Central Time Zone>
+765 IN Indiana (Lafayette, Marion, Muncie, Richmond and central Indiana excluding Indianapolis)<Eastern Time Zone>
+767 DOMINICA (all of Dominica)<Atlantic Time Zone (one hour later than Eastern)>
+769 MS Mississippi (Jackson, Meridian, Natchez, McComb, Hattiesburg and central Mississippi, overlays with 601)<Central Time Zone>
+770 GA Georgia (Marietta, Cedartown, and north central Georgia, overlays with 470 and 678)<Eastern Time Zone>
+772 FL Florida (Vero Beach, Port Saint Lucie, Fort Pierce, Sebastian, Stuart and central eastern Florida)<Eastern Time Zone>
+773 IL Illinois (Chicago excluding downtown Chicago)<Central Time Zone>
+774 MA Massachusetts (Worcester and southeastern Massachusetts, overlays with 508)<Eastern Time Zone>
+775 NV Nevada (Reno, Elko, Ely and all of Nevada excluding Las Vegas and extreme southern Nevada)<Pacific Time Zone>
+778 BC British Columbia (Vancouver, Richmond, Abbotsford and southwestern BC overlays with 604)<Pacific Time Zone>
+779 IL Illinois (La Salle, De Kalb, Rockford, Freeport and northern Illinois excluding Chicago area, overlays with 815)<Central Time Zone>
+780 AB Alberta (Edmonton, Jasper, Grande Prairie, Peace River and northern Alberta)<Mountain Time Zone>
+781 MA Massachusetts (Saugus, Norwood and east central Massachusetts, overlays with 339)<Eastern Time Zone>
+784 ST VINCENT AND THE GRENADINES (all of St Vincent and the Grenadines)<Atlantic Time Zone (one hour later than Eastern)>
+785 KS Kansas (Colby, Topeka, Salina, Manhattan, Lawrence and northern Kansas)<Mountain & Central Time Zones>
+786 FL Florida (Miami, Homestead, Coral Gables, Key West and southeastern Florida, overlays with 305)<Eastern Time Zone>
+787 PUERTO RICO (all of Puerto Rico, overlays with 939)<Eastern & Atlantic Time Zone (does not observe daylight savings time)>
+800 TOLL FREE SERVICES
+801 UT Utah (Salt Lake City, Salt Lake County, Midvale, Alta, Magna, Kearns Holladay, and central Utah)<Mountain Time Zone>
+802 VT Vermont (all of Vermont)<Eastern Time Zone>
+803 SC South Carolina (Columbia, Rock Hill, Sumter, Aiken and central South Carolina)<Eastern Time Zone>
+804 VA Virginia (Richmond, Petersburg, West Point, Chester and east central Virginia)<Eastern Time Zone>
+805 CA California (Santa Barbara, San Luis Obispo, Lompoc and central western coastal California)<Pacific Time Zone>
+806 TX Texas (Amarillo, Lubbock, Canadian, Perryton, Shamrock, Dalhart and Texas panhandle)<Central Time Zone>
+807 ON Ontario (Thunder Bay and western Ontario)<Central & Eastern Time Zones>
+808 HI Hawaii (all of Hawaii)<Hawaiian Time Zone (2 or 3 hours earlier than Pacific Time, does not observe daylight savings)>
+809 DOMINICAN REPUBLIC (all of the Dominican Republic, overlays with 829)<Atlantic Time Zone>
+810 MI Michigan (Port Huron, Flint, Flushing, Warren and eastern Michigan, overlays with 586)<Eastern Time Zone>
+811 BUSINESS OFFICE
+812 IN Indiana (Evansville, New Albany, Terre Haute, Bloomington and southern Indiana)<Central & Eastern Time Zones>
+813 FL Florida (Tampa, Hillsborough, Plant City, Port Tampa and central western Florida)<Eastern Time Zone>
+814 PA Pennsylvania (Erie, Warren, Altoona, Johnstown, Meyersdale and central and northwestern Pennsylvania)<Eastern Time Zone>
+815 IL Illinois (La Salle, De Kalb, Rockford, Freeport and northern Illinois excluding Chicago area, overlays with 779)<Central Time Zone>
+816 MO Missouri (Kansas City, St Joseph, Independence, Harrisonville and west central Missouri)<Central Time Zone>
+817 TX Texas (Fort Worth, Arlington, Grandview, Weatherford, Rhome, overlays with 682)<Central Time Zone>
+818 CA California ( Glendale, San Fernando, Burbank and northern Los Angeles suburbs)<Pacific Time Zone>
+819 QC Quebec (Western Quebec)<Eastern Time Zone>
+822 TOLL FREE SERVICES
+828 NC North Carolina (Asheville, Brevard, Morganton, Murphy and western North Carolina)<Eastern Time Zone>
+829 DOMINICAN REPUBLIC (all of the Dominican Republic, overlays with 809)<Atlantic Time Zone>
+830 TX Texas (Uvalde, New Braunfels, Kerrville, Eagle Pass and southwest Texas)<Central Time Zone>
+831 CA California (Salinas, Hollister, Monterey, Santa Cruz and central western coastal California)<Pacific Time Zone>
+832 TX Texas (Spring, Katy, Houston area, overlays with 281 and 713)<Central Time Zone>
+833 TOLL FREE SERVICES
+835 PA Pennsylvania (Reading, Allentown, and southeastern Pennsylvania, overlays with 484 and 610)<Eastern Time Zone>
+843 SC South Carolina (Florence, Myrtle Beach, Charleston, Hilton Head Island and eastern South Carolina)<Eastern Time Zone>
+844 TOLL FREE SERVICES
+845 NY New York ( Poughkeepsie, Middletown, West Point, Newburgh and southeastern New York)<Eastern Time Zone>
+847 IL Illinois (Waukegan, Des Plaines, northwest Chicago suburbs and northeastern Illinois, overlays with 224)<Central Time Zone>
+848 NJ New Jersey (New Brunswick, Neptune, and east central New Jersey, overlays with 732)<Eastern Time Zone>
+850 FL Florida ( Pensacola, Tallahassee, Panama City and the Florida panhandle)<Central & Eastern Time Zones>
+855 TOLL FREE SERVICES
+856 NJ New Jersey (Vineland, Cherry Hill, Camden, Millville, and southwestern New Jersey)<Eastern Time Zone>
+857 MA Massachusetts (Boston, Cambridge and east central Massachusetts, overlays with 617)<Eastern Time Zone>
+858 CA California (Del Mar, La Jolla and northern San Diego suburbs)<Pacific Time Zone>
+859 KY Kentucky (Lexington, Richmond, Danville, Covington, Mount Sterling and north central Kentucky)<Eastern Time Zone>
+860 CT Connecticut (Bristol, Hartford, Norwich and northern and eastern Connecticut, overlays with 959)<Eastern Time Zone>
+862 NJ New Jersey (Newark, Paterson and northwestern New Jersey, overlays with 973)<Eastern Time Zone>
+863 FL Florida (Avon Park, Clewiston, Lakeland, Bartow, Sebring, Winter Haven and south central Florida)<Eastern Time Zone>
+864 SC South Carolina (Greenville, Spartanburg, Anderson and western South Carolina)<Eastern Time Zone>
+865 TN Tennessee (Knoxville, Newport, Jefferson City, Oak Ridge and east central Tennessee)<Eastern Time Zone>
+866 TOLL FREE SERVICES
+867 YK Yukon, Northwest Territories, and Nunavut (Yukon, Northwest Territories and Nunavut)<Pacific, Mountain, Central, Eastern, and Atlantic Time Zones>
+868 TRINIDAD AND TOBAGO (all of Trinidad and Tobago)<Atlantic Time Zone (one hour later than Eastern)>
+869 ST KITTS AND NEVIS (all of St Kitts and Nevis)<Atlantic Time Zone (one hour later than Eastern)>
+870 AR Arkansas (Texarkana, Mountain Home, Pine Bluff and southern, eastern and northeastern Arkansas)<Central Time Zone>
+876 JAMAICA (all of Jamaica)<Eastern Time Zone>
+877 TOLL FREE SERVICES
+878 PA Pennsylvania (Pittsburgh, New Castle, and southwestern Pennsylvania, overlays with 412 and 724)<Eastern Time Zone>
+880 PAID 800 SERVICE FROM CARIBBEAN TO THE US AND CANADA OR FROM CANADA TO THE US
+881 PAID 888 SERVICE FROM CARIBBEAN TO THE US AND CANADA OR FROM CANADA TO THE US
+882 PAID 877 SERVICE FROM CARIBBEAN TO THE US AND CANADA OR FROM CANADA TO THE US
+888 TOLL FREE SERVICES
+900 900 NUMBER PAY PER CALL SERVICES
+901 TN Tennessee (Memphis, Covington, Somerville and south western Tennessee)<Central Time Zone>
+902 NS Nova Scotia (all of Nova Scotia and Prince Edward Island)<Atlantic Time Zone>
+903 TX Texas (Tyler, Sherman, Longview, Palestine and northeastern Texas, overlays with 430)<Central Time Zone>
+904 FL Florida (Jacksonville, St Augustine, Starke, Green Cove Springs and northeastern Florida)<Eastern Time Zone>
+905 ON Ontario (Hamilton, Toronto suburbs and central southeastern Ontario, overlays with 289)<Eastern Time Zone>
+906 MI Michigan (Ironwood, Marquette, Sault Ste Marie, Escanaba and upper Michigan)<Central & Eastern Time Zones>
+907 AK Alaska (all of Alaska)<Alaskan (1 hour earlier than Pacific) & Aleutian (2 hours earlier than Pacific) Time Zones>
+908 NJ New Jersey (Washington, Elizabeth, Warren, Plainfield and west central New Jersey)<Eastern Time Zone>
+909 CA California (San Bernardino, Ontario, Pomona, Chino, Arrowhead and Big Bear Lake areas)<Pacific Time Zone>
+910 NC North Carolina (Fayetteville, Wilmington, Lumberton and southeastern North Carolina)<Eastern Time Zone>
+911 EMERGENCY
+912 GA Georgia ( Savannah, Vidalia, Waycross, Brunswick, Douglas and southeastern Georgia)<Eastern Time Zone>
+913 KS Kansas (Kansas City, Overland Park, Paola Leavenworth and extreme eastern Kansas)<Central Time Zone>
+914 NY New York (White Plains, Yonkers, Pelham, Westchester, Peekskill and southeastern New York)<Eastern Time Zone>
+915 TX Texas (El Paso, Dell City, Guadalupe Peak, Sierra Blanca, and far western Texas)<Mountain & Central Time Zones>
+916 CA California (Sacramento area)<Pacific Time Zone>
+917 NY New York (New York City Manhattan area, overlays with 212 and 646)<Eastern Time Zone>
+918 OK Oklahoma (Tulsa, Bartlesville, McAlester, Muskogee, Henrietta and northeastern Oklahoma)<Central Time Zone>
+919 NC North Carolina (Raleigh, Durham, Chapel Hill, Oxford and north central North Carolina)<Eastern Time Zone>
+920 WI Wisconsin (Sheboygan, Oshkosh, Green Bay, Manitowoc, Fond Du Lac and eastern Wisconsin)<Central Time Zone>
+925 CA California (Pleasanton, Martinez, Concord, Livermore, Walnut Creek and Dublin areas)<Pacific Time Zone>
+928 AZ Arizona (Flagstaff, Kingman, Prescott, Yuma and northern and western Arizona)<Mountain & Pacific Time Zones>
+931 TN Tennessee (Clarksville, Columbia, Manchester, Cookeville and central Tennessee)<Central & Eastern Time Zones>
+936 TX Texas (Nacogdoches, Lufkin, Conroe, Huntsville, Center and southeastern Texas)<Central Time Zone>
+937 OH Ohio (Marysville, Springfield, Dayton, Hillsboro and southwestern Ohio excluding Cincinnati area)<Eastern Time Zone>
+939 PUERTO RICO (all of Puerto Rico, overlays with 787)<Eastern & Atlantic Time Zone (does not observe daylight savings time)>
+940 TX Texas (Vernon, Wichita Falls, Denton, Gainesville, Decatur and north central Texas)<Central Time Zone>
+941 FL Florida ( Bradenton, Port Charlotte, Sarasota, Punta Gorda and the west central Florida coast)<Eastern Time Zone>
+947 MI Michigan (Troy, Oakland County, Pontiac, Southfield, Rochester Hills and northwestern Detroit suburbs, overlays with 248)<Eastern Time Zone>
+949 CA California (Laguna Niguel, Irvine, El Toro, Newport Beach, Corona Del Mar and southern Orange County)<Pacific Time Zone>
+951 CA California (Riverside, Corona, Murrieta, Perris, San Jacinto and Temecula areas)<Pacific Time Zone>
+952 MN Minnesota (Bloomington, Minnetonka, Chaska and southwest Minneapolis area)<Central Time Zone>
+954 FL Florida (Fort Lauderdale, Pompano Beach, overlays with 754)<Eastern Time Zone>
+956 TX Texas (Laredo, Brownsville, McAllen, Harlingen and southern Texas)<Central Time Zone>
+959 CT Connecticut (Bristol, Hartford, Norwich and northern and eastern Connecticut, overlays with 860)<Eastern Time Zone>
+970 CO Colorado (Aspen, Durango, Grand Junction, Fort Collins and northern and western Colorado)<Mountain Time Zone>
+971 OR Oregon (Portland, Salem, Hillsboro, Beaverton and northwestern Oregon, overlays with 503)<Pacific Time Zone>
+972 TX Texas (Dallas area, overlays with 214 and 469)<Central Time Zone>
+973 NJ New Jersey (Newark, Paterson and northwestern New Jersey, overlays with 862)<Eastern Time Zone>
+978 MA Massachusetts (Fitchburg, Peabody and northeastern Massachusetts, overlays with 351)<Eastern Time Zone>
+979 TX Texas (Wharton, Bryan, Bay City, College Station, Lake Jackson and southeastern Texas)<Central Time Zone>
+980 NC North Carolina (Charlotte, Kingstown and south central North Carolina, overlays with 704)<Eastern Time Zone>
+985 LA Louisiana (Houma, Slidell and southeastern Louisiana excluding New Orleans)<Central Time Zone>
+989 MI Michigan (Alpena, Mt Pleasant, Bay City, Saginaw, Midland, Owosso and central Michigan)<Eastern Time Zone>
diff --git a/etc/countries.txt b/etc/countries.txt
new file mode 100644
index 000000000..73c3975ed
--- /dev/null
+++ b/etc/countries.txt
@@ -0,0 +1,239 @@
+AFGHANISTAN AF AFG 004
+ALBANIA AL ALB 008
+ALGERIA DZ DZA 012
+AMERICAN SAMOA AS ASM 016
+ANDORRA AD AND 020
+ANGOLA AO AGO 024
+ANGUILLA AI AIA 660
+ANTARCTICA AQ ATA 010
+ANTIGUA AND BARBUDA AG ATG 028
+ARGENTINA AR ARG 032
+ARMENIA AM ARM 051
+ARUBA AW ABW 533
+AUSTRALIA AU AUS 036
+AUSTRIA AT AUT 040
+AZERBAIJAN AZ AZE 031
+BAHAMAS BS BHS 044
+BAHRAIN BH BHR 048
+BANGLADESH BD BGD 050
+BARBADOS BB BRB 052
+BELARUS BY BLR 112
+BELGIUM BE BEL 056
+BELIZE BZ BLZ 084
+BENIN BJ BEN 204
+BERMUDA BM BMU 060
+BHUTAN BT BTN 064
+BOLIVIA BO BOL 068
+BOSNIA AND HERZEGOWINA BA BIH 070
+BOTSWANA BW BWA 072
+BOUVET ISLAND BV BVT 074
+BRAZIL BR BRA 076
+BRITISH INDIAN OCEAN TERRITORY IO IOT 086
+BRUNEI DARUSSALAM BN BRN 096
+BULGARIA BG BGR 100
+BURKINA FASO BF BFA 854
+BURUNDI BI BDI 108
+CAMBODIA KH KHM 116
+CAMEROON CM CMR 120
+CANADA CA CAN 124
+CAPE VERDE CV CPV 132
+CAYMAN ISLANDS KY CYM 136
+CENTRAL AFRICAN REPUBLIC CF CAF 140
+CHAD TD TCD 148
+CHILE CL CHL 152
+CHINA CN CHN 156
+CHRISTMAS ISLAND CX CXR 162
+COCOS (KEELING) ISLANDS CC CCK 166
+COLOMBIA CO COL 170
+COMOROS KM COM 174
+CONGO CG COG 178
+COOK ISLANDS CK COK 184
+COSTA RICA CR CRI 188
+COTE D'IVOIRE CI CIV 384
+CROATIA (local name: Hrvatska) HR HRV 191
+CUBA CU CUB 192
+CYPRUS CY CYP 196
+CZECH REPUBLIC CZ CZE 203
+DENMARK DK DNK 208
+DJIBOUTI DJ DJI 262
+DOMINICA DM DMA 212
+DOMINICAN REPUBLIC DO DOM 214
+EAST TIMOR TP TMP 626
+ECUADOR EC ECU 218
+EGYPT EG EGY 818
+EL SALVADOR SV SLV 222
+EQUATORIAL GUINEA GQ GNQ 226
+ERITREA ER ERI 232
+ESTONIA EE EST 233
+ETHIOPIA ET ETH 231
+FALKLAND ISLANDS (MALVINAS) FK FLK 238
+FAROE ISLANDS FO FRO 234
+FIJI FJ FJI 242
+FINLAND FI FIN 246
+FRANCE FR FRA 250
+FRANCE, METROPOLITAN FX FXX 249
+FRENCH GUIANA GF GUF 254
+FRENCH POLYNESIA PF PYF 258
+FRENCH SOUTHERN TERRITORIES TF ATF 260
+GABON GA GAB 266
+GAMBIA GM GMB 270
+GEORGIA GE GEO 268
+GERMANY DE DEU 276
+GHANA GH GHA 288
+GIBRALTAR GI GIB 292
+GREECE GR GRC 300
+GREENLAND GL GRL 304
+GRENADA GD GRD 308
+GUADELOUPE GP GLP 312
+GUAM GU GUM 316
+GUATEMALA GT GTM 320
+GUINEA GN GIN 324
+GUINEA-BISSAU GW GNB 624
+GUYANA GY GUY 328
+HAITI HT HTI 332
+HEARD AND MC DONALD ISLANDS HM HMD 334
+HONDURAS HN HND 340
+HONG KONG HK HKG 344
+HUNGARY HU HUN 348
+ICELAND IS ISL 352
+INDIA IN IND 356
+INDONESIA ID IDN 360
+IRAN (ISLAMIC REPUBLIC OF) IR IRN 364
+IRAQ IQ IRQ 368
+IRELAND IE IRL 372
+ISRAEL IL ISR 376
+ITALY IT ITA 380
+JAMAICA JM JAM 388
+JAPAN JP JPN 392
+JORDAN JO JOR 400
+KAZAKHSTAN KZ KAZ 398
+KENYA KE KEN 404
+KIRIBATI KI KIR 296
+KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF KP PRK 408
+KOREA, REPUBLIC OF KR KOR 410
+KUWAIT KW KWT 414
+KYRGYZSTAN KG KGZ 417
+LAO PEOPLE'S DEMOCRATIC REPUBLIC LA LAO 418
+LATVIA LV LVA 428
+LEBANON LB LBN 422
+LESOTHO LS LSO 426
+LIBERIA LR LBR 430
+LIBYAN ARAB JAMAHIRIYA LY LBY 434
+LIECHTENSTEIN LI LIE 438
+LITHUANIA LT LTU 440
+LUXEMBOURG LU LUX 442
+MACAU MO MAC 446
+MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF MK MKD 807
+MADAGASCAR MG MDG 450
+MALAWI MW MWI 454
+MALAYSIA MY MYS 458
+MALDIVES MV MDV 462
+MALI ML MLI 466
+MALTA MT MLT 470
+MARSHALL ISLANDS MH MHL 584
+MARTINIQUE MQ MTQ 474
+MAURITANIA MR MRT 478
+MAURITIUS MU MUS 480
+MAYOTTE YT MYT 175
+MEXICO MX MEX 484
+MICRONESIA, FEDERATED STATES OF FM FSM 583
+MOLDOVA, REPUBLIC OF MD MDA 498
+MONACO MC MCO 492
+MONGOLIA MN MNG 496
+MONTSERRAT MS MSR 500
+MOROCCO MA MAR 504
+MOZAMBIQUE MZ MOZ 508
+MYANMAR MM MMR 104
+NAMIBIA NA NAM 516
+NAURU NR NRU 520
+NEPAL NP NPL 524
+NETHERLANDS NL NLD 528
+NETHERLANDS ANTILLES AN ANT 530
+NEW CALEDONIA NC NCL 540
+NEW ZEALAND NZ NZL 554
+NICARAGUA NI NIC 558
+NIGER NE NER 562
+NIGERIA NG NGA 566
+NIUE NU NIU 570
+NORFOLK ISLAND NF NFK 574
+NORTHERN MARIANA ISLANDS MP MNP 580
+NORWAY NO NOR 578
+OMAN OM OMN 512
+PAKISTAN PK PAK 586
+PALAU PW PLW 585
+PANAMA PA PAN 591
+PAPUA NEW GUINEA PG PNG 598
+PARAGUAY PY PRY 600
+PERU PE PER 604
+PHILIPPINES PH PHL 608
+PITCAIRN PN PCN 612
+POLAND PL POL 616
+PORTUGAL PT PRT 620
+PUERTO RICO PR PRI 630
+QATAR QA QAT 634
+REUNION RE REU 638
+ROMANIA RO ROM 642
+RUSSIAN FEDERATION RU RUS 643
+RWANDA RW RWA 646
+SAINT KITTS AND NEVIS KN KNA 659
+SAINT LUCIA LC LCA 662
+SAINT VINCENT AND THE GRENADINES VC VCT 670
+SAMOA WS WSM 882
+SAN MARINO SM SMR 674
+SAO TOME AND PRINCIPE ST STP 678
+SAUDI ARABIA SA SAU 682
+SENEGAL SN SEN 686
+SEYCHELLES SC SYC 690
+SIERRA LEONE SL SLE 694
+SINGAPORE SG SGP 702
+SLOVAKIA (Slovak Republic) SK SVK 703
+SLOVENIA SI SVN 705
+SOLOMON ISLANDS SB SLB 090
+SOMALIA SO SOM 706
+SOUTH AFRICA ZA ZAF 710
+SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS GS SGS 239
+SPAIN ES ESP 724
+SRI LANKA LK LKA 144
+ST. HELENA SH SHN 654
+ST. PIERRE AND MIQUELON PM SPM 666
+SUDAN SD SDN 736
+SURINAME SR SUR 740
+SVALBARD AND JAN MAYEN ISLANDS SJ SJM 744
+SWAZILAND SZ SWZ 748
+SWEDEN SE SWE 752
+SWITZERLAND CH CHE 756
+SYRIAN ARAB REPUBLIC SY SYR 760
+TAIWAN, PROVINCE OF CHINA TW TWN 158
+TAJIKISTAN TJ TJK 762
+TANZANIA, UNITED REPUBLIC OF TZ TZA 834
+THAILAND TH THA 764
+TOGO TG TGO 768
+TOKELAU TK TKL 772
+TONGA TO TON 776
+TRINIDAD AND TOBAGO TT TTO 780
+TUNISIA TN TUN 788
+TURKEY TR TUR 792
+TURKMENISTAN TM TKM 795
+TURKS AND CAICOS ISLANDS TC TCA 796
+TUVALU TV TUV 798
+UGANDA UG UGA 800
+UKRAINE UA UKR 804
+UNITED ARAB EMIRATES AE ARE 784
+UNITED KINGDOM GB GBR 826
+UNITED STATES US USA 840
+UNITED STATES MINOR OUTLYING ISLANDS UM UMI 581
+URUGUAY UY URY 858
+UZBEKISTAN UZ UZB 860
+VANUATU VU VUT 548
+VATICAN CITY STATE (HOLY SEE) VA VAT 336
+VENEZUELA VE VEN 862
+VIET NAM VN VNM 704
+VIRGIN ISLANDS (BRITISH) VG VGB 092
+VIRGIN ISLANDS (U.S.) VI VIR 850
+WALLIS AND FUTUNA ISLANDS WF WLF 876
+WESTERN SAHARA EH ESH 732
+YEMEN YE YEM 887
+YUGOSLAVIA YU YUG 891
+ZAIRE ZR ZAR 180
+ZAMBIA ZM ZMB 894
+ZIMBABWE ZW ZWE 716
diff --git a/etc/domain-template.txt b/etc/domain-template.txt
new file mode 100644
index 000000000..8e4983ce2
--- /dev/null
+++ b/etc/domain-template.txt
@@ -0,0 +1,231 @@
+[ URL ftp://rs.internic.net/templates/domain-template.txt ] [ 03/98 ]
+
+******* Please DO NOT REMOVE Version Number or Sections A-Q ********
+
+Domain Version Number: 4.0
+
+******* Email completed agreement to hostmaster@internic.net *******
+
+ NETWORK SOLUTIONS, INC.
+
+ DOMAIN NAME REGISTRATION AGREEMENT
+
+
+A. Introduction. This domain name registration agreement
+("Registration Agreement") is submitted to NETWORK SOLUTIONS, INC.
+("NSI") for the purpose of applying for and registering a domain name
+on the Internet. If this Registration Agreement is accepted by NSI,
+and a domain name is registered in NSI's domain name database and
+assigned to the Registrant, Registrant ("Registrant") agrees to be
+bound by the terms of this Registration Agreement and the terms of
+NSI's Domain Name Dispute Policy ("Dispute Policy") which is
+incorporated herein by reference and made a part of this Registration
+Agreement. This Registration Agreement shall be accepted at the
+offices of NSI.
+
+B. Fees and Payments.
+
+1) Registration or renewal (re-registration) date through March 31, 1998:
+Registrant agrees to pay a registration fee of One Hundred United States
+Dollars (US$100) as consideration for the registration of each new domain
+name or Fifty United States Dollars (US$50) to renew (re-register) an
+existing registration.
+2) Registration or renewal date on and after April 1, 1998: Registrant
+agrees to pay a registration fee of Seventy United States Dollars (US$70)
+as consideration for the registration of each new domain name or the
+applicable renewal (re-registration) fee (currently Thirty-Five United
+States Dollars (US$35)) at the time of renewal (re-registration).
+3) Period of Service: The non-refundable fee covers a period of two (2)
+years for each new registration, and one (1) year for each renewal,
+and includes any permitted modification(s) to the domain name record
+during the covered period.
+4) Payment: Payment is due to Network Solutions within thirty (30)
+days from the date of the invoice.
+
+C. Dispute Policy. Registrant agrees, as a condition to
+submitting this Registration Agreement, and if the Registration
+Agreement is accepted by NSI, that the Registrant shall be bound by
+NSI's current Dispute Policy. The current version of the Dispute
+Policy may be found at the InterNIC Registration Services web site:
+"http://www.netsol.com/rs/dispute-policy.html".
+
+D. Dispute Policy Changes or Modifications. Registrant agrees
+that NSI, in its sole discretion, may change or modify the Dispute
+Policy, incorporated by reference herein, at any time. Registrant
+agrees that Registrant's maintaining the registration of a domain name
+after changes or modifications to the Dispute Policy become effective
+constitutes Registrant's continued acceptance of these changes or
+modifications. Registrant agrees that if Registrant considers any such
+changes or modifications to be unacceptable, Registrant may request
+that the domain name be deleted from the domain name database.
+
+E. Disputes. Registrant agrees that, if the registration of its
+domain name is challenged by any third party, the Registrant will be
+subject to the provisions specified in the Dispute Policy.
+
+F. Agents. Registrant agrees that if this Registration Agreement
+is completed by an agent for the Registrant, such as an ISP or
+Administrative Contact/Agent, the Registrant is nonetheless bound as a
+principal by all terms and conditions herein, including the Dispute
+Policy.
+
+G. Limitation of Liability. Registrant agrees that NSI shall have
+no liability to the Registrant for any loss Registrant may incur in
+connection with NSI's processing of this Registration Agreement, in
+connection with NSI's processing of any authorized modification to the
+domain name's record during the covered period, as a result of the
+Registrant's ISP's failure to pay either the initial registration fee
+or renewal fee, or as a result of the application of the provisions of
+the Dispute Policy. Registrant agrees that in no event shall the
+maximum liability of NSI under this Agreement for any matter exceed
+Five Hundred United States Dollars (US$500).
+
+H. Indemnity. Registrant agrees, in the event the Registration
+Agreement is accepted by NSI and a subsequent dispute arises with any
+third party, to indemnify and hold NSI harmless pursuant to the terms
+and conditions contained in the Dispute Policy.
+
+I. Breach. Registrant agrees that failure to abide by any
+provision of this Registration Agreement or the Dispute Policy may be
+considered by NSI to be a material breach and that NSI may provide a
+written notice, describing the breach, to the Registrant. If, within
+thirty (30) days of the date of mailing such notice, the Registrant
+fails to provide evidence, which is reasonably satisfactory to NSI,
+that it has not breached its obligations, then NSI may delete
+Registrant's registration of the domain name. Any such breach by a
+Registrant shall not be deemed to be excused simply because NSI did
+not act earlier in response to that, or any other, breach by the
+Registrant.
+
+J. No Guaranty. Registrant agrees that, by registration of a
+domain name, such registration does not confer immunity from objection
+to either the registration or use of the domain name.
+
+K. Warranty. Registrant warrants by submitting this Registration
+Agreement that, to the best of Registrant's knowledge and belief, the
+information submitted herein is true and correct, and that any future
+changes to this information will be provided to NSI in a timely manner
+according to the domain name modification procedures in place at that
+time. Breach of this warranty will constitute a material breach.
+
+L. Revocation. Registrant agrees that NSI may delete a
+Registrant's domain name if this Registration Agreement, or subsequent
+modification(s) thereto, contains false or misleading information, or
+conceals or omits any information NSI would likely consider material
+to its decision to approve this Registration Agreement.
+
+M. Right of Refusal. NSI, in its sole discretion, reserves the
+right to refuse to approve the Registration Agreement for any
+Registrant. Registrant agrees that the submission of this Registration
+Agreement does not obligate NSI to accept this Registration Agreement.
+Registrant agrees that NSI shall not be liable for loss or damages
+that may result from NSI's refusal to accept this Registration
+Agreement.
+
+N. Severability. Registrant agrees that the terms of this
+Registration Agreement are severable. If any term or provision is
+declared invalid, it shall not affect the remaining terms or
+provisions which shall continue to be binding.
+
+O. Entirety. Registrant agrees that this Registration Agreement
+and the Dispute Policy is the complete and exclusive agreement between
+Registrant and NSI regarding the registration of Registrant's domain
+name. This Registration Agreement and the Dispute Policy supersede all
+prior agreements and understandings, whether established by custom,
+practice, policy, or precedent.
+
+P. Governing Law. Registrant agrees that this Registration
+Agreement shall be governed in all respects by and construed in
+accordance with the laws of the Commonwealth of Virginia, United
+States of America. By submitting this Registration Agreement,
+Registrant consents to the exclusive jurisdiction and venue of the
+United States District Court for the Eastern District of Virginia,
+Alexandria Division. If there is no jurisdiction in the United States
+District Court for the Eastern District of Virginia, Alexandria
+Division, then jurisdiction shall be in the Circuit Court of Fairfax
+County, Fairfax, Virginia.
+
+Q. This is Domain Name Registration Agreement Version
+Number 4.0. This Registration Agreement is only for registrations
+under top-level domains: COM, ORG, NET, and EDU. By completing
+and submitting this Registration Agreement for consideration and
+acceptance by NSI, the Registrant agrees that he/she has read and
+agrees to be bound by A through P above.
+
+
+Authorization
+0a. (N)ew (M)odify (D)elete....:###action###
+0b. Auth Scheme................:
+0c. Auth Info..................:
+
+1. Comments...................:###purpose###
+
+2. Complete Domain Name.......:###domain###
+
+Organization Using Domain Name
+
+3a. Organization Name..........:###company###
+###LOOP###
+3b. Street Address.............:###address###
+###ENDLOOP###
+3c. City.......................:###city###
+3d. State......................:###state###
+3e. Postal Code................:###zip###
+3f. Country....................:###country###
+
+Administrative Contact
+4a. NIC Handle (if known)......:
+4b. (I)ndividual (R)ole........:I
+4c. Name (Last, First).........:###last###, ###first###
+4d. Organization Name..........:###company###
+###LOOP###
+4e. Street Address.............:###address###
+###ENDLOOP###
+4f. City.......................:###city###
+4g. State......................:###state###
+4h. Postal Code................:###zip###
+4i. Country....................:###country###
+4j. Phone Number...............:###daytime###
+4k. Fax Number.................:###fax###
+4l. E-Mailbox..................:###email###
+
+Technical Contact
+5a. NIC Handle (if known)......:###tech_contact###
+5b. (I)ndividual (R)ole........:
+5c. Name (Last, First).........:
+5d. Organization Name..........:
+5e. Street Address.............:
+5f. City.......................:
+5g. State......................:
+5h. Postal Code................:
+5i. Country....................:
+5j. Phone Number...............:
+5k. Fax Number.................:
+5l. E-Mailbox..................:
+
+Billing Contact
+6a. NIC Handle (if known)......:
+6b. (I)ndividual (R)ole........:
+6c. Name (Last, First).........:
+6d. Organization Name..........:
+6e. Street Address.............:
+6f. City.......................:
+6g. State......................:
+6h. Postal Code................:
+6i. Country....................:
+6j. Phone Number...............:
+6k. Fax Number.................:
+6l. E-Mailbox..................:
+
+Prime Name Server
+7a. Primary Server Hostname....:###primary###
+7b. Primary Server Netaddress..:###primary_ip###
+
+Secondary Name Server(s)
+###LOOP###
+8a. Secondary Server Hostname..:###secondary###
+8b. Secondary Server Netaddress:###secondary_ip###
+###ENDLOOP###
+
+END OF AGREEMENT
+
diff --git a/etc/fslongtable.sty b/etc/fslongtable.sty
new file mode 100644
index 000000000..e322b55f1
--- /dev/null
+++ b/etc/fslongtable.sty
@@ -0,0 +1,438 @@
+%%
+%% This is file `fslongtable.sty',
+%%
+%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003
+%% The LaTeX3 Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was forked from file(s) of the Standard LaTeX `Tools Bundle'.
+%% This file includes a new length LTextracouponspace which modifies
+%% the behavior of the package at the end of a page. This feature
+%% and package is not supported or acknowledged by Dave Carlisle.
+%% Do not contact him for such support.
+%% --------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle
+%% File: fslongtable.sty Copyright (C) 2008 Jeff Finucane
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{longtable}
+ [2004/02/01 v4.11 Multi-page Table package (DPC)]
+\def\LT@err{\PackageError{longtable}}
+\def\LT@warn{\PackageWarning{longtable}}
+\def\LT@final@warn{%
+ \AtEndDocument{%
+ \LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}%
+ \global\let\LT@final@warn\relax}
+\DeclareOption{errorshow}{%
+ \def\LT@warn{\PackageInfo{longtable}}}
+\DeclareOption{pausing}{%
+ \def\LT@warn#1{%
+ \LT@err{#1}{This is not really an error}}}
+\DeclareOption{set}{}
+\DeclareOption{final}{}
+\ProcessOptions
+\newskip\LTleft \LTleft=\fill
+\newskip\LTright \LTright=\fill
+\newskip\LTpre \LTpre=\bigskipamount
+\newskip\LTpost \LTpost=\bigskipamount
+\newcount\LTchunksize \LTchunksize=20
+\let\c@LTchunksize\LTchunksize
+\newdimen\LTcapwidth \LTcapwidth=4in
+\newlength\LTextracouponspace
+\newbox\LT@head
+\newbox\LT@firsthead
+\newbox\LT@foot
+\newbox\LT@lastfoot
+\newcount\LT@cols
+\newcount\LT@rows
+\newcounter{LT@tables}
+\newcounter{LT@chunks}[LT@tables]
+\ifx\c@table\undefined
+ \newcounter{table}
+ \def\fnum@table{\tablename~\thetable}
+\fi
+\ifx\tablename\undefined
+ \def\tablename{Table}
+\fi
+\newtoks\LT@p@ftn
+\mathchardef\LT@end@pen=30000
+\def\longtable{%
+ \par
+ \ifx\multicols\@undefined
+ \else
+ \ifnum\col@number>\@ne
+ \@twocolumntrue
+ \fi
+ \fi
+ \if@twocolumn
+ \LT@err{longtable not in 1-column mode}\@ehc
+ \fi
+ \begingroup
+ \@ifnextchar[\LT@array{\LT@array[x]}}
+\def\LT@array[#1]#2{%
+ \refstepcounter{table}\stepcounter{LT@tables}%
+ \if l#1%
+ \LTleft\z@ \LTright\fill
+ \else\if r#1%
+ \LTleft\fill \LTright\z@
+ \else\if c#1%
+ \LTleft\fill \LTright\fill
+ \fi\fi\fi
+ \let\LT@mcol\multicolumn
+ \let\LT@@tabarray\@tabarray
+ \let\LT@@hl\hline
+ \def\@tabarray{%
+ \let\hline\LT@@hl
+ \LT@@tabarray}%
+ \let\\\LT@tabularcr\let\tabularnewline\\%
+ \def\newpage{\noalign{\break}}%
+ \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
+ \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
+ \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption
+ \@tempdima\ht\strutbox
+ \let\@endpbox\LT@endpbox
+ \ifx\extrarowheight\@undefined
+ \let\@acol\@tabacol
+ \let\@classz\@tabclassz \let\@classiv\@tabclassiv
+ \def\@startpbox{\vtop\LT@startpbox}%
+ \let\@@startpbox\@startpbox
+ \let\@@endpbox\@endpbox
+ \let\LT@LL@FM@cr\@tabularcr
+ \else
+ \advance\@tempdima\extrarowheight
+ \col@sep\tabcolsep
+ \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr
+ \fi
+ \setbox\@arstrutbox\hbox{\vrule
+ \@height \arraystretch \@tempdima
+ \@depth \arraystretch \dp \strutbox
+ \@width \z@}%
+ \let\@sharp##\let\protect\relax
+ \begingroup
+ \@mkpream{#2}%
+ \xdef\LT@bchunk{%
+ \global\advance\c@LT@chunks\@ne
+ \global\LT@rows\z@\setbox\z@\vbox\bgroup
+ \LT@setprevdepth
+ \tabskip\LTleft \noexpand\halign to\hsize\bgroup
+ \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}%
+ \endgroup
+ \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
+ \LT@make@row
+ \m@th\let\par\@empty
+ \everycr{}\lineskip\z@\baselineskip\z@
+ \LT@bchunk}
+\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}}
+\def\LT@start{%
+ \let\LT@start\endgraf
+ \endgraf\penalty\z@\vskip\LTpre
+ \dimen@\pagetotal
+ \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
+ \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
+ \advance\dimen@ \ht\LT@foot
+ \dimen@ii\vfuzz
+ \vfuzz\maxdimen
+ \setbox\tw@\copy\z@
+ \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox
+ \setbox\tw@\vbox{\unvbox\tw@}%
+ \vfuzz\dimen@ii
+ \advance\dimen@ \ht
+ \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi
+ \advance\dimen@\dp
+ \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi
+ \advance\dimen@ -\pagegoal
+ \ifdim \dimen@>\z@\vfil\break\fi
+ \global\@colroom\@colht
+ \ifnum\thepage=1
+ \advance\vsize-\LTextracouponspace
+ \dimen@\pagegoal\advance\dimen@-\LTextracouponspace\pagegoal\dimen@
+ \fi
+ \ifvoid\LT@foot\else
+ \advance\vsize-\ht\LT@foot
+ \global\advance\@colroom-\ht\LT@foot
+ \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@
+ \maxdepth\z@
+ \fi
+ \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak
+ \output{\LT@output}}
+\def\endlongtable{%
+ \crcr
+ \noalign{%
+ \let\LT@entry\LT@entry@chop
+ \xdef\LT@save@row{\LT@save@row}}%
+ \LT@echunk
+ \LT@start
+ \unvbox\z@
+ \LT@get@widths
+ \if@filesw
+ {\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
+ \gdef\expandafter\noexpand
+ \csname LT@\romannumeral\c@LT@tables\endcsname
+ {\LT@save@row}}}%
+ \fi
+ \ifx\LT@save@row\LT@@save@row
+ \else
+ \LT@warn{Column \@width s have changed\MessageBreak
+ in table \thetable}%
+ \LT@final@warn
+ \fi
+ \endgraf\penalty -\LT@end@pen
+ \endgroup
+ \global\@mparbottom\z@
+ \pagegoal\vsize
+ \endgraf\penalty\z@\addvspace\LTpost
+ \ifvoid\footins\else\insert\footins{}\fi}
+\def\LT@nofcols#1&{%
+ \futurelet\@let@token\LT@n@fcols}
+\def\LT@n@fcols{%
+ \advance\LT@cols\@ne
+ \ifx\@let@token\LT@nofcols
+ \expandafter\@gobble
+ \else
+ \expandafter\LT@nofcols
+ \fi}
+\def\LT@tabularcr{%
+ \relax\iffalse{\fi\ifnum0=`}\fi
+ \@ifstar
+ {\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr
+ \LT@t@bularcr}%
+ {\LT@t@bularcr}}
+\let\LT@crcr\crcr
+\let\LT@setprevdepth\relax
+\def\LT@t@bularcr{%
+ \global\advance\LT@rows\@ne
+ \ifnum\LT@rows=\LTchunksize
+ \gdef\LT@setprevdepth{%
+ \prevdepth\z@\global
+ \global\let\LT@setprevdepth\relax}%
+ \expandafter\LT@xtabularcr
+ \else
+ \ifnum0=`{}\fi
+ \expandafter\LT@LL@FM@cr
+ \fi}
+\def\LT@xtabularcr{%
+ \@ifnextchar[\LT@argtabularcr\LT@ntabularcr}
+\def\LT@ntabularcr{%
+ \ifnum0=`{}\fi
+ \LT@echunk
+ \LT@start
+ \unvbox\z@
+ \LT@get@widths
+ \LT@bchunk}
+\def\LT@argtabularcr[#1]{%
+ \ifnum0=`{}\fi
+ \ifdim #1>\z@
+ \unskip\@xargarraycr{#1}%
+ \else
+ \@yargarraycr{#1}%
+ \fi
+ \LT@echunk
+ \LT@start
+ \unvbox\z@
+ \LT@get@widths
+ \LT@bchunk}
+\def\LT@echunk{%
+ \crcr\LT@save@row\cr\egroup
+ \global\setbox\@ne\lastbox
+ \unskip
+ \egroup}
+\def\LT@entry#1#2{%
+ \ifhmode\@firstofone{&}\fi\omit
+ \ifnum#1=\c@LT@chunks
+ \else
+ \kern#2\relax
+ \fi}
+\def\LT@entry@chop#1#2{%
+ \noexpand\LT@entry
+ {\ifnum#1>\c@LT@chunks
+ 1}{0pt%
+ \else
+ #1}{#2%
+ \fi}}
+\def\LT@entry@write{%
+ \noexpand\LT@entry^^J%
+ \@spaces}
+\def\LT@kill{%
+ \LT@echunk
+ \LT@get@widths
+ \expandafter\LT@rebox\LT@bchunk}
+\def\LT@rebox#1\bgroup{%
+ #1\bgroup
+ \unvbox\z@
+ \unskip
+ \setbox\z@\lastbox}
+\def\LT@blank@row{%
+ \xdef\LT@save@row{\expandafter\LT@build@blank
+ \romannumeral\number\LT@cols 001 }}
+\def\LT@build@blank#1{%
+ \if#1m%
+ \noexpand\LT@entry{1}{0pt}%
+ \expandafter\LT@build@blank
+ \fi}
+\def\LT@make@row{%
+ \global\expandafter\let\expandafter\LT@save@row
+ \csname LT@\romannumeral\c@LT@tables\endcsname
+ \ifx\LT@save@row\relax
+ \LT@blank@row
+ \else
+ {\let\LT@entry\or
+ \if!%
+ \ifcase\expandafter\expandafter\expandafter\LT@cols
+ \expandafter\@gobble\LT@save@row
+ \or
+ \else
+ \relax
+ \fi
+ !%
+ \else
+ \aftergroup\LT@blank@row
+ \fi}%
+ \fi}
+\let\setlongtables\relax
+\def\LT@get@widths{%
+ \setbox\tw@\hbox{%
+ \unhbox\@ne
+ \let\LT@old@row\LT@save@row
+ \global\let\LT@save@row\@empty
+ \count@\LT@cols
+ \loop
+ \unskip
+ \setbox\tw@\lastbox
+ \ifhbox\tw@
+ \LT@def@row
+ \advance\count@\m@ne
+ \repeat}%
+ \ifx\LT@@save@row\@undefined
+ \let\LT@@save@row\LT@save@row
+ \fi}
+\def\LT@def@row{%
+ \let\LT@entry\or
+ \edef\@tempa{%
+ \ifcase\expandafter\count@\LT@old@row
+ \else
+ {1}{0pt}%
+ \fi}%
+ \let\LT@entry\relax
+ \xdef\LT@save@row{%
+ \LT@entry
+ \expandafter\LT@max@sel\@tempa
+ \LT@save@row}}
+\def\LT@max@sel#1#2{%
+ {\ifdim#2=\wd\tw@
+ #1%
+ \else
+ \number\c@LT@chunks
+ \fi}%
+ {\the\wd\tw@}}
+\def\LT@hline{%
+ \noalign{\ifnum0=`}\fi
+ \penalty\@M
+ \futurelet\@let@token\LT@@hline}
+\def\LT@@hline{%
+ \ifx\@let@token\hline
+ \global\let\@gtempa\@gobble
+ \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}%
+ \else
+ \global\let\@gtempa\@empty
+ \gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}%
+ \fi
+ \ifnum0=`{\fi}%
+ \multispan\LT@cols
+ \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
+ \noalign{\LT@sep}%
+ \multispan\LT@cols
+ \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
+ \noalign{\penalty\@M}%
+ \@gtempa}
+\def\LT@caption{%
+ \noalign\bgroup
+ \@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n}
+\def\LT@c@ption#1[#2]#3{%
+ \LT@makecaption#1\fnum@table{#3}%
+ \def\@tempa{#2}%
+ \ifx\@tempa\@empty\else
+ {\let\\\space
+ \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}%
+ \fi}
+\def\LT@capti@n{%
+ \@ifstar
+ {\egroup\LT@c@ption\@gobble[]}%
+ {\egroup\@xdblarg{\LT@c@ption\@firstofone}}}
+\def\LT@makecaption#1#2#3{%
+ \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
+ \sbox\@tempboxa{#1{#2: }#3}%
+ \ifdim\wd\@tempboxa>\hsize
+ #1{#2: }#3%
+ \else
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \endgraf\vskip\baselineskip}%
+ \hss}}}
+\def\LT@output{%
+ \ifnum\outputpenalty <-\@Mi
+ \ifnum\outputpenalty > -\LT@end@pen
+ \LT@err{floats and marginpars not allowed in a longtable}\@ehc
+ \else
+ \setbox\z@\vbox{\unvbox\@cclv}%
+ \ifdim \ht\LT@lastfoot>\ht\LT@foot
+ \dimen@\pagegoal
+ \advance\dimen@-\ht\LT@lastfoot
+ \ifdim\dimen@<\ht\z@
+ \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
+ \@makecol
+ \@outputpage
+ \setbox\z@\vbox{\box\LT@head}%
+ \fi
+ \fi
+ \global\@colroom\@colht
+ \global\vsize\@colht
+ \vbox
+ {\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}%
+ \fi
+ \else
+ \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}%
+ \@makecol
+ \@outputpage
+ \global\vsize\@colroom
+ \copy\LT@head\nobreak
+ \fi}
+\def\LT@end@hd@ft#1{%
+ \LT@echunk
+ \ifx\LT@start\endgraf
+ \LT@err
+ {Longtable head or foot not at start of table}%
+ {Increase LTchunksize}%
+ \fi
+ \setbox#1\box\z@
+ \LT@get@widths
+ \LT@bchunk}
+\def\endfirsthead{\LT@end@hd@ft\LT@firsthead}
+\def\endhead{\LT@end@hd@ft\LT@head}
+\def\endfoot{\LT@end@hd@ft\LT@foot}
+\def\endlastfoot{\LT@end@hd@ft\LT@lastfoot}
+\def\LT@startpbox#1{%
+ \bgroup
+ \let\@footnotetext\LT@p@ftntext
+ \setlength\hsize{#1}%
+ \@arrayparboxrestore
+ \vrule \@height \ht\@arstrutbox \@width \z@}
+\def\LT@endpbox{%
+ \@finalstrut\@arstrutbox
+ \egroup
+ \the\LT@p@ftn
+ \global\LT@p@ftn{}%
+ \hfil}
+\def\LT@p@ftntext#1{%
+ \edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}%
+ \global\LT@p@ftn\expandafter{\@tempa{#1}}}%
+\endinput
+%%
+%% End of file `longtable.sty'.
diff --git a/etc/megapop.pl b/etc/megapop.pl
new file mode 100755
index 000000000..e2930fb55
--- /dev/null
+++ b/etc/megapop.pl
@@ -0,0 +1,114 @@
+#!/usr/bin/perl -Tw
+#
+# this will break when megapop changes the URL or format of their listing page.
+# that's stupid. perhaps they can provide a machine-readable listing?
+
+use strict;
+use LWP::UserAgent;
+use FS::UID qw(adminsuidsetup);
+use FS::svc_acct_pop;
+
+my $url = "http://www.megapop.com/location.htm";
+
+my $user = shift or die &usage;
+adminsuidsetup($user);
+
+my %state2usps = &state2usps;
+$state2usps{'WASHINGTON STATE'} = 'WA'; #megapop's on crack
+$state2usps{'CANADA'} = 'CANADA'; #freeside's on crack
+
+my $ua = new LWP::UserAgent;
+my $request = new HTTP::Request('GET', $url);
+my $response = $ua->request($request);
+die $response->error_as_HTML unless $response->is_success;
+my $line;
+my $usps = '';
+foreach $line ( split("\n", $response->content) ) {
+ if ( $line =~ /\W(\w[\w\s]*\w)\s+LOCATIONS/i ) {
+ $usps = $state2usps{uc($1)}
+ or warn "warning: unknown state $1\n";
+ } elsif ( $line =~ /(\d{3})\-(\d{3})\-(\d{4})\s+(\w[\w\s]*\w)/ ) {
+ print "$1 $2 $3 $4 $usps\n";
+ my $svc_acct_pop = new FS::svc_acct_pop ( {
+ 'city' => $4,
+ 'state' => $usps,
+ 'ac' => $1,
+ 'exch' => $2,
+ } );
+ my $error = $svc_acct_pop->insert;
+ die $error if $error;
+ }
+}
+
+sub usage {
+ die "Usage:\n $0 user\n";
+}
+
+sub state2usps{ (
+ 'ALABAMA' => 'AL',
+ 'ALASKA' => 'AK',
+ 'AMERICAN SAMOA' => 'AS',
+ 'ARIZONA' => 'AZ',
+ 'ARKANSAS' => 'AR',
+ 'CALIFORNIA' => 'CA',
+ 'COLORADO' => 'CO',
+ 'CONNECTICUT' => 'CT',
+ 'DELAWARE' => 'DE',
+ 'DISTRICT OF COLUMBIA' => 'DC',
+ 'FEDERATED STATES OF MICRONESIA' => 'FM',
+ 'FLORIDA' => 'FL',
+ 'GEORGIA' => 'GA',
+ 'GUAM' => 'GU',
+ 'HAWAII' => 'HI',
+ 'IDAHO' => 'ID',
+ 'ILLINOIS' => 'IL',
+ 'INDIANA' => 'IN',
+ 'IOWA' => 'IA',
+ 'KANSAS' => 'KS',
+ 'KENTUCKY' => 'KY',
+ 'LOUISIANA' => 'LA',
+ 'MAINE' => 'ME',
+ 'MARSHALL ISLANDS' => 'MH',
+ 'MARYLAND' => 'MD',
+ 'MASSACHUSETTS' => 'MA',
+ 'MICHIGAN' => 'MI',
+ 'MINNESOTA' => 'MN',
+ 'MISSISSIPPI' => 'MS',
+ 'MISSOURI' => 'MO',
+ 'MONTANA' => 'MT',
+ 'NEBRASKA' => 'NE',
+ 'NEVADA' => 'NV',
+ 'NEW HAMPSHIRE' => 'NH',
+ 'NEW JERSEY' => 'NJ',
+ 'NEW MEXICO' => 'NM',
+ 'NEW YORK' => 'NY',
+ 'NORTH CAROLINA' => 'NC',
+ 'NORTH DAKOTA' => 'ND',
+ 'NORTHERN MARIANA ISLANDS' => 'MP',
+ 'OHIO' => 'OH',
+ 'OKLAHOMA' => 'OK',
+ 'OREGON' => 'OR',
+ 'PALAU' => 'PW',
+ 'PENNSYLVANIA' => 'PA',
+ 'PUERTO RICO' => 'PR',
+ 'RHODE ISLAND' => 'RI',
+ 'SOUTH CAROLINA' => 'SC',
+ 'SOUTH DAKOTA' => 'SD',
+ 'TENNESSEE' => 'TN',
+ 'TEXAS' => 'TX',
+ 'UTAH' => 'UT',
+ 'VERMONT' => 'VT',
+ 'VIRGIN ISLANDS' => 'VI',
+ 'VIRGINIA' => 'VA',
+ 'WASHINGTON' => 'WA',
+ 'WEST VIRGINIA' => 'WV',
+ 'WISCONSIN' => 'WI',
+ 'WYOMING' => 'WY',
+ 'ARMED FORCES AFRICA' => 'AE',
+ 'ARMED FORCES AMERICAS' => 'AA',
+ 'ARMED FORCES CANADA' => 'AE',
+ 'ARMED FORCES EUROPE' => 'AE',
+ 'ARMED FORCES MIDDLE EAST' => 'AE',
+ 'ARMED FORCES PACIFIC' => 'AP',
+) }
+
diff --git a/etc/sql-reserved-words.txt b/etc/sql-reserved-words.txt
new file mode 100644
index 000000000..553eda282
--- /dev/null
+++ b/etc/sql-reserved-words.txt
@@ -0,0 +1,222 @@
+The data below is wrong/incomplete, see:
+PG8.3 - http://www.postgresql.org/docs/8.3/static/sql-keywords-appendix.html
+MySQL5.6 - http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html
+-------------------------------------------------------------------------------
+
+
+From http://epoch.cs.berkeley.edu:8000/sequoia/dba/montage/FAQ/SQL.html
+ by Jean Anderson (jta@postgres.berkeley.edu)
+
+What are the SQL reserved words?
+
+I grep'd the following list out of the sql docs available via anonymous ftp to speckle.ncsl.nist.gov:/isowg3.
+SQL3 words are not set in stone, but you'd do well to avoid them.
+
+ From sql1992.txt:
+
+ AFTER, ALIAS, ASYNC, BEFORE, BOOLEAN, BREADTH,
+ COMPLETION, CALL, CYCLE, DATA, DEPTH, DICTIONARY, EACH, ELSEIF,
+ EQUALS, GENERAL, IF, IGNORE, LEAVE, LESS, LIMIT, LOOP, MODIFY,
+ NEW, NONE, OBJECT, OFF, OID, OLD, OPERATION, OPERATORS, OTHERS,
+ PARAMETERS, PENDANT, PREORDER, PRIVATE, PROTECTED, RECURSIVE, REF,
+ REFERENCING, REPLACE, RESIGNAL, RETURN, RETURNS, ROLE, ROUTINE,
+ ROW, SAVEPOINT, SEARCH, SENSITIVE, SEQUENCE, SIGNAL, SIMILAR,
+ SQLEXCEPTION, SQLWARNING, STRUCTURE, TEST, THERE, TRIGGER, TYPE,
+ UNDER, VARIABLE, VIRTUAL, VISIBLE, WAIT, WHILE, WITHOUT
+
+ From sql1992.txt (Annex E):
+
+ ABSOLUTE, ACTION, ADD, ALLOCATE, ALTER, ARE, ASSERTION, AT, BETWEEN,
+ BIT, BIT
+
+What are the SQL reserved words?
+
+I grep'd the following list out of the sql docs available via anonymous ftp to speckle.ncsl.nist.gov:/isowg3.
+SQL3 words are not set in stone, but you'd do well to avoid them.
+
+ From sql1992.txt:
+
+ AFTER, ALIAS, ASYNC, BEFORE, BOOLEAN, BREADTH,
+ COMPLETION, CALL, CYCLE, DATA, DEPTH, DICTIONARY, EACH, ELSEIF,
+ EQUALS, GENERAL, IF, IGNORE, LEAVE, LESS, LIMIT, LOOP, MODIFY,
+ NEW, NONE, OBJECT, OFF, OID, OLD, OPERATION, OPERATORS, OTHERS,
+ PARAMETERS, PENDANT, PREORDER, PRIVATE, PROTECTED, RECURSIVE, REF,
+ REFERENCING, REPLACE, RESIGNAL, RETURN, RETURNS, ROLE, ROUTINE,
+ ROW, SAVEPOINT, SEARCH, SENSITIVE, SEQUENCE, SIGNAL, SIMILAR,
+ SQLEXCEPTION, SQLWARNING, STRUCTURE, TEST, THERE, TRIGGER, TYPE,
+ UNDER, VARIABLE, VIRTUAL, VISIBLE, WAIT, WHILE, WITHOUT
+
+ From sql1992.txt (Annex E):
+
+ ABSOLUTE, ACTION, ADD, ALLOCATE, ALTER, ARE, ASSERTION, AT, BETWEEN,
+ BIT, BIT
+
+What are the SQL reserved words?
+
+I grep'd the following list out of the sql docs available via anonymous ftp to speckle.ncsl.nist.gov:/isowg3.
+SQL3 words are not set in stone, but you'd do well to avoid them.
+
+ From sql1992.txt:
+
+ AFTER, ALIAS, ASYNC, BEFORE, BOOLEAN, BREADTH,
+ COMPLETION, CALL, CYCLE, DATA, DEPTH, DICTIONARY, EACH, ELSEIF,
+ EQUALS, GENERAL, IF, IGNORE, LEAVE, LESS, LIMIT, LOOP, MODIFY,
+ NEW, NONE, OBJECT, OFF, OID, OLD, OPERATION, OPERATORS, OTHERS,
+ PARAMETERS, PENDANT, PREORDER, PRIVATE, PROTECTED, RECURSIVE, REF,
+ REFERENCING, REPLACE, RESIGNAL, RETURN, RETURNS, ROLE, ROUTINE,
+ ROW, SAVEPOINT, SEARCH, SENSITIVE, SEQUENCE, SIGNAL, SIMILAR,
+ SQLEXCEPTION, SQLWARNING, STRUCTURE, TEST, THERE, TRIGGER, TYPE,
+ UNDER, VARIABLE, VIRTUAL, VISIBLE, WAIT, WHILE, WITHOUT
+
+ From sql1992.txt (Annex E):
+
+ ABSOLUTE, ACTION, ADD, ALLOCATE, ALTER, ARE, ASSERTION, AT, BETWEEN,
+ BIT, BIT_LENGTH, BOTH, CASCADE, CASCADED, CASE, CAST, CATALOG,
+ CHAR_LENGTH, CHARACTER_LENGTH, COALESCE, COLLATE, COLLATION, COLUMN,
+ CONNECT, CONNECTION, CONSTRAINT, CONSTRAINTS, CONVERT, CORRESPONDING,
+ CROSS, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER,
+ DATE, DAY, DEALLOCATE, DEFERRABLE, DEFERRED, DESCRIBE, DESCRIPTOR,
+ DIAGNOSTICS, DISCONNECT, DOMAIN, DROP, ELSE, END-EXEC, EXCEPT,
+ EXCEPTION, EXECUTE, EXTERNAL, EXTRACT, FALSE, FIRST, FULL, GET,
+ GLOBAL, HOUR, IDENTITY, IMMEDIATE, INITIALLY, INNER, INPUT,
+ INSENSITIVE, INTERSECT, INTERVAL, ISOLATION, JOIN, LAST, LEADING,
+ LEFT, LEVEL, LOCAL, LOWER, MATCH, MINUTE, MONTH, NAMES, NATIONAL,
+ NATURAL, NCHAR, NEXT, NO, NULLIF, OCTET_LENGTH, ONLY, OUTER, OUTPUT,
+ OVERLAPS, PAD, PARTIAL, POSITION, PREPARE, PRESERVE, PRIOR, READ,
+ RELATIVE, RESTRICT, REVOKE, RIGHT, ROWS, SCROLL, SECOND, SESSION,
+ SESSION_USER, SIZE, SPACE, SQLSTATE, SUBSTRING, SYSTEM_USER,
+ TEMPORARY, THEN, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE,
+ TRAILING, TRANSACTION, TRANSLATE, TRANSLATION, TRIM, TRUE, UNKNOWN,
+ UPPER, USAGE, USING, VALUE, VARCHAR, VARYING, WHEN, WRITE, YEAR, ZONE
+
+ From sql3part2.txt (Annex E)
+
+ ACTION, ACTOR, AFTER, ALIAS, ASYNC, ATTRIBUTES, BEFORE, BOOLEAN,
+ BREADTH, COMPLETION, CURRENT_PATH, CYCLE, DATA, DEPTH, DESTROY,
+ DICTIONARY, EACH, ELEMENT, ELSEIF, EQUALS, FACTOR, GENERAL, HOLD,
+ IGNORE, INSTEAD, LESS, LIMIT, LIST, MODIFY, NEW, NEW_TABLE, NO,
+ NONE, OFF, OID, OLD, OLD_TABLE, OPERATION, OPERATOR, OPERATORS,
+ PARAMETERS, PATH, PENDANT, POSTFIX, PREFIX, PREORDER, PRIVATE,
+ PROTECTED, RECURSIVE, REFERENCING, REPLACE, ROLE, ROUTINE, ROW,
+ SAVEPOINT, SEARCH, SENSITIVE, SEQUENCE, SESSION, SIMILAR, SPACE,
+ SQLEXCEPTION, SQLWARNING, START, STATE, STRUCTURE, SYMBOL, TERM,
+ TEST, THERE, TRIGGER, TYPE, UNDER, VARIABLE, VIRTUAL, VISIBLE,
+ WAIT, WITHOUT
+
+ sql3part4.txt (ANNEX E):
+
+ CALL, DO, ELSEIF, EXCEPTION, IF, LEAVE, LOOP, OTHERS, RESIGNAL,
+ RETURN, RETURNS, SIGNAL, TUPLE, WHILE
+
+from http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html
+
+ACCESSIBLE ADD ALL
+ALTER ANALYZE AND
+AS ASC ASENSITIVE
+BEFORE BETWEEN BIGINT
+BINARY BLOB BOTH
+BY CALL CASCADE
+CASE CHANGE CHAR
+CHARACTER CHECK COLLATE
+COLUMN CONDITION CONSTRAINT
+CONTINUE CONVERT CREATE
+CROSS CURRENT_DATE CURRENT_TIME
+CURRENT_TIMESTAMP CURRENT_USER CURSOR
+DATABASE DATABASES DAY_HOUR
+DAY_MICROSECOND DAY_MINUTE DAY_SECOND
+DEC DECIMAL DECLARE
+DEFAULT DELAYED DELETE
+DESC DESCRIBE DETERMINISTIC
+DISTINCT DISTINCTROW DIV
+DOUBLE DROP DUAL
+EACH ELSE ELSEIF
+ENCLOSED ESCAPED EXISTS
+EXIT EXPLAIN FALSE
+FETCH FLOAT FLOAT4
+FLOAT8 FOR FORCE
+FOREIGN FROM FULLTEXT
+GENERAL GRANT GROUP
+HAVING HIGH_PRIORITY HOUR_MICROSECOND
+HOUR_MINUTE HOUR_SECOND IF
+IGNORE IGNORE_SERVER_IDS IN
+INDEX INFILE INNER
+INOUT INSENSITIVE INSERT
+INT INT1 INT2
+INT3 INT4 INT8
+INTEGER INTERVAL INTO
+IS ITERATE JOIN
+KEY KEYS KILL
+LEADING LEAVE LEFT
+LIKE LIMIT LINEAR
+LINES LOAD LOCALTIME
+LOCALTIMESTAMP LOCK LONG
+LONGBLOB LONGTEXT LOOP
+LOW_PRIORITY MASTER_HEARTBEAT_PERIOD MASTER_SSL_VERIFY_SERVER_CERT
+MATCH MAXVALUE MEDIUMBLOB
+MEDIUMINT MEDIUMTEXT MIDDLEINT
+MINUTE_MICROSECOND MINUTE_SECOND MOD
+MODIFIES NATURAL NOT
+NO_WRITE_TO_BINLOG NULL NUMERIC
+ON OPTIMIZE OPTION
+OPTIONALLY OR ORDER
+OUT OUTER OUTFILE
+PRECISION PRIMARY PROCEDURE
+PURGE RANGE READ
+READS READ_WRITE REAL
+REFERENCES REGEXP RELEASE
+RENAME REPEAT REPLACE
+REQUIRE RESIGNAL RESTRICT
+RETURN REVOKE RIGHT
+RLIKE SCHEMA SCHEMAS
+SECOND_MICROSECOND SELECT SENSITIVE
+SEPARATOR SET SHOW
+SIGNAL SLOW SMALLINT
+SPATIAL SPECIFIC SQL
+SQLEXCEPTION SQLSTATE SQLWARNING
+SQL_BIG_RESULT SQL_CALC_FOUND_ROWS SQL_SMALL_RESULT
+SSL STARTING STRAIGHT_JOIN
+TABLE TERMINATED THEN
+TINYBLOB TINYINT TINYTEXT
+TO TRAILING TRIGGER
+TRUE UNDO UNION
+UNIQUE UNLOCK UNSIGNED
+UPDATE USAGE USE
+USING UTC_DATE UTC_TIME
+UTC_TIMESTAMP VALUES VARBINARY
+VARCHAR VARCHARACTER VARYING
+WHEN WHERE WHILE
+WITH WRITE XOR
+YEAR_MONTH ZEROFILL
+
+The following are new reserved words in MySQL 5.5:
+GENERAL IGNORE_SERVER_IDS MASTER_HEARTBEAT_PERIOD
+MAXVALUE RESIGNAL SIGNAL
+SLOW
+
+MySQL permits some keywords to be used as unquoted identifiers because many people previously used them. Examples are those in the following list:
+
+ *
+
+ ACTION
+ *
+
+ BIT
+ *
+
+ DATE
+ *
+
+ ENUM
+ *
+
+ NO
+ *
+
+ TEXT
+ *
+
+ TIME
+ *
+
+ TIMESTAMP
+