# PAK_2_node.properties 
# /*********************************************************************************************
# * Copyright (c) 2007 IBM Corporation and others.
# * All rights reserved. This program and the accompanying materials
# * are made available under the terms of the Eclipse Public License v1.0
# * which accompanies this distribution, and is available at
# * http://www.eclipse.org/legal/epl-v10.html
# *
# * Contributors:
# *     IBM Corporation - initial API and implementation
# ***********************************************************************************************/

# /**********************************************************************************************
# * Key Format: 
# * 
# * 	 For level 1 data, the key is the ISO3166-2 code. An ISO3166-2 code is composed as follows: 
# * a two letter country code followed by up to three alphanumeric characters for the level 1 administration.
# *
# * 	 For level 2 data, the key is the ISO3166-2 code followed by six digits. The leftmost two digits indicate
# * the level 1 container of a level 2 administration (i.e. California is a level 1 container for Orange County
# * which is a level 2 administration).  The two digits were taken from a lexicographic sorting of all the
# * level 1 administrations within a country. Similarly, the four leftmost digits indicate a level 2 administration.
# * Again, these four digits are an index into the lexicographic sorting of all level 2 administrations within 
# * a level 1 administration. 
# ************************************************************************************************/

# This is the name of the class that will interpret the rest of the file's contents
RECORD_CLASSNAME = org.eclipse.stem.internal.data.geography.specifications.CountryNodePropertyFileSpecification

# The ISO-3166-1 alpha3 code for the country
ISOKEY = PAK

# The administration level of the node data
ADMIN_LEVEL = 2

# This is the date range for which the area values in this file are valid 
# See http://purl.org/dc/terms/1.1/valid
VALID = start=1900-01-01;

# This is the source of the data
SOURCE = http://www.iso.org/iso/home.htm
# SOURCE = http://www.iso.org/iso/home.htm
# SOURCE = http://www.iso.org/iso/home.htm

# The file that contains the latitude/longitude data for the node 
SPATIAL_URI = platform:/plugin/org.eclipse.stem.data.geography/resources/data/geo/country/PAK/PAK_2_MAP.xml

# Generated key details :  Level 1 ( PK-JK = JAMMU AND KASHMIR [AZAD KASHMIR] ). Level 2 ( 050008 = LADAKH (LEH) ). 
PK-JK-G050008 = LADAKH (LEH)
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010006 = KHUZDAR ). 
PK-BA-G010006 = KHUZDAR
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010008 = LASBELA ). 
PK-BA-G010008 = LASBELA
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090005 = KARACHI ). 
PK-SD-G090005 = KARACHI
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010002 = GWADAR ). 
PK-BA-G010002 = GWADAR
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090013 = THATTA ). 
PK-SD-G090013 = THATTA
# Generated key details :  Level 1 ( PK-JK = JAMMU AND KASHMIR [AZAD KASHMIR] ). Level 2 ( 050003 = GILGIT ). 
PK-JK-G050003 = GILGIT
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060003 = CHITRAL ). 
PK-NW-G060003 = CHITRAL
# Generated key details :  Level 1 ( PK-JK = JAMMU AND KASHMIR [AZAD KASHMIR] ). Level 2 ( 050005 = KARGIL ). 
PK-JK-G050005 = KARGIL
# Generated key details :  Level 1 ( PK-JK = JAMMU AND KASHMIR [AZAD KASHMIR] ). Level 2 ( 050004 = GILGIT (TRIBAL TERRITORY) ). 
PK-JK-G050004 = GILGIT (TRIBAL TERRITORY)
# Generated key details :  Level 1 ( PK-JK = JAMMU AND KASHMIR [AZAD KASHMIR] ). Level 2 ( 050006 = KUPWARA (GILGIT WAZARAT) ). 
PK-JK-G050006 = KUPWARA (GILGIT WAZARAT)
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060012 = SWAT ). 
PK-NW-G060012 = SWAT
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060005 = DIR ). 
PK-NW-G060005 = DIR
# Generated key details :  Level 1 ( PK-TA = F.A.T.A. [FEDERALLY ADMINISTERED TRIBAL AREAS] ). Level 2 ( 020001 = BAJAUR ). 
PK-TA-G020001 = BAJAUR
# Generated key details :  Level 1 ( PK-JK = JAMMU AND KASHMIR [AZAD KASHMIR] ). Level 2 ( 050001 = BARAMULA (KASHMIR NORTH) ). 
PK-JK-G050001 = BARAMULA (KASHMIR NORTH)
# Generated key details :  Level 1 ( PK-TA = F.A.T.A. [FEDERALLY ADMINISTERED TRIBAL AREAS] ). Level 2 ( 020004 = MOHMAND ). 
PK-TA-G020004 = MOHMAND
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060008 = MALAKAND P.A. ). 
PK-NW-G060008 = MALAKAND P.A.
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060010 = MARDAN ). 
PK-NW-G060010 = MARDAN
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060011 = PESHAWAR ). 
PK-NW-G060011 = PESHAWAR
# Generated key details :  Level 1 ( PK-TA = F.A.T.A. [FEDERALLY ADMINISTERED TRIBAL AREAS] ). Level 2 ( 020002 = KHYBER ). 
PK-TA-G020002 = KHYBER
# Generated key details :  Level 1 ( PK-JK = JAMMU AND KASHMIR [AZAD KASHMIR] ). Level 2 ( 050010 = PUNCH ). 
PK-JK-G050010 = PUNCH
# Generated key details :  Level 1 ( PK-TA = F.A.T.A. [FEDERALLY ADMINISTERED TRIBAL AREAS] ). Level 2 ( 020003 = KURRAM ). 
PK-TA-G020003 = KURRAM
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080001 = ATTOK ). 
PK-PB-G080001 = ATTOK
# Generated key details :  Level 1 ( PK-TA = F.A.T.A. [FEDERALLY ADMINISTERED TRIBAL AREAS] ). Level 2 ( 020006 = ORAKZAI ). 
PK-TA-G020006 = ORAKZAI
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060006 = KOHAT ). 
PK-NW-G060006 = KOHAT
# Generated key details :  Level 1 ( PK-TA = F.A.T.A. [FEDERALLY ADMINISTERED TRIBAL AREAS] ). Level 2 ( 020005 = N. WAZIRISTAN ). 
PK-TA-G020005 = N. WAZIRISTAN
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080012 = MAINWALI ). 
PK-PB-G080012 = MAINWALI
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060002 = BANNU ). 
PK-NW-G060002 = BANNU
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080018 = SARGODHA ). 
PK-PB-G080018 = SARGODHA
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060004 = DERA ISMAIL KHAN ). 
PK-NW-G060004 = DERA ISMAIL KHAN
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080007 = GUJRANWALA ). 
PK-PB-G080007 = GUJRANWALA
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080008 = JHANG ). 
PK-PB-G080008 = JHANG
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080005 = FAISALABAD ). 
PK-PB-G080005 = FAISALABAD
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080014 = MUZAFFARGARH ). 
PK-PB-G080014 = MUZAFFARGARH
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010009 = LORALAI ). 
PK-BA-G010009 = LORALAI
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080004 = DERA GHAZI KHAN ). 
PK-PB-G080004 = DERA GHAZI KHAN
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010012 = PISHIN ). 
PK-BA-G010012 = PISHIN
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080017 = SAHIWAL ). 
PK-PB-G080017 = SAHIWAL
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080013 = MULTAN ). 
PK-PB-G080013 = MULTAN
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010014 = SIBI ). 
PK-BA-G010014 = SIBI
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010013 = QUETTA ). 
PK-BA-G010013 = QUETTA
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080021 = VEHARI ). 
PK-PB-G080021 = VEHARI
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080002 = BAHAWALNAGAR ). 
PK-PB-G080002 = BAHAWALNAGAR
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010004 = KALAT ). 
PK-BA-G010004 = KALAT
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010003 = KACHHI ). 
PK-BA-G010003 = KACHHI
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010007 = KOHLU ). 
PK-BA-G010007 = KOHLU
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080003 = BAHAWALPUR ). 
PK-PB-G080003 = BAHAWALPUR
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010001 = CHAGAI ). 
PK-BA-G010001 = CHAGAI
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010005 = KHARAN ). 
PK-BA-G010005 = KHARAN
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080015 = RAHIM YAR KHAN ). 
PK-PB-G080015 = RAHIM YAR KHAN
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010010 = NASIRABAD ). 
PK-BA-G010010 = NASIRABAD
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090004 = JAKOBABAD ). 
PK-SD-G090004 = JAKOBABAD
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090011 = SUKKUR ). 
PK-SD-G090011 = SUKKUR
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090010 = SHIKARPUR ). 
PK-SD-G090010 = SHIKARPUR
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090007 = LARKANA ). 
PK-SD-G090007 = LARKANA
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090006 = KHAIRPUR ). 
PK-SD-G090006 = KHAIRPUR
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090002 = DADU ). 
PK-SD-G090002 = DADU
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010011 = PANJGUR ). 
PK-BA-G010011 = PANJGUR
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090008 = NAWAB SHAH ). 
PK-SD-G090008 = NAWAB SHAH
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010015 = TURBAT ). 
PK-BA-G010015 = TURBAT
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090009 = SANGHAR ). 
PK-SD-G090009 = SANGHAR
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090003 = HYDERABAD ). 
PK-SD-G090003 = HYDERABAD
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090012 = THARPARKAR ). 
PK-SD-G090012 = THARPARKAR
# Generated key details :  Level 1 ( PK-SD = SIND [SIND (EN)] ). Level 2 ( 090001 = BADIN ). 
PK-SD-G090001 = BADIN
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060007 = KOHISTAN ). 
PK-NW-G060007 = KOHISTAN
# Generated key details :  Level 1 ( PK-JK = JAMMU AND KASHMIR [AZAD KASHMIR] ). Level 2 ( 050002 = CHILAS ). 
PK-JK-G050002 = CHILAS
# Generated key details :  Level 1 ( PK-JK = JAMMU AND KASHMIR [AZAD KASHMIR] ). Level 2 ( 050007 = KUPWARA (MUZAFFARABAD) ). 
PK-JK-G050007 = KUPWARA (MUZAFFARABAD)
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060009 = MANSEHRA ). 
PK-NW-G060009 = MANSEHRA
# Generated key details :  Level 1 ( PK-NW = N.W.F.P. [NORTH WEST FRONTIER] ). Level 2 ( 060001 = ABBOTTABAD ). 
PK-NW-G060001 = ABBOTTABAD
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080016 = RAWALPINDI ). 
PK-PB-G080016 = RAWALPINDI
# Generated key details :  Level 1 ( PK-FC = F.C.T. ). Level 2 ( 030001 = ISLAMABAD ). 
PK-FC-G030001 = ISLAMABAD
# Generated key details :  Level 1 ( PK-JK = JAMMU AND KASHMIR [AZAD KASHMIR] ). Level 2 ( 050009 = MIRPUR ). 
PK-JK-G050009 = MIRPUR
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080009 = JHELUM ). 
PK-PB-G080009 = JHELUM
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080006 = GUJARAT ). 
PK-PB-G080006 = GUJARAT
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080020 = SIALKOT ). 
PK-PB-G080020 = SIALKOT
# Generated key details :  Level 1 ( PK-TA = F.A.T.A. [FEDERALLY ADMINISTERED TRIBAL AREAS] ). Level 2 ( 020007 = S. WAZIRISTAN ). 
PK-TA-G020007 = S. WAZIRISTAN
# Generated key details :  Level 1 ( PK-BA = BALUCHISTAN [BALUCHISTAN (EN)] ). Level 2 ( 010016 = ZHOB ). 
PK-BA-G010016 = ZHOB
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080019 = SHEIKHUPURA ). 
PK-PB-G080019 = SHEIKHUPURA
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080011 = LAHORE ). 
PK-PB-G080011 = LAHORE
# Generated key details :  Level 1 ( PK-PB = PUNJAB ). Level 2 ( 080010 = KASUR ). 
PK-PB-G080010 = KASUR
