# Do not edit - generated from Unicode CLDR data
#   main/ee.xml - r4123 2009-05-05 19:06:42 -0400 (Tue, 05 May 2009)
#
# The key is an ISO4217 currency code, and the value is of the form:
#   display name|symbol|decimal digits|not-used-flag
# If a symbol is not supplied, the currency code will be used
# If # of decimal digits is omitted, 2 is used
# If a currency is not generally used, not-used-flag=1
# Trailing empty fields can be omitted

ADP = ADP||0|1
AED = AED
AFA = AFA|||1
AFN = AFN|Af|0
ALL = ALL||0
AMD = AMD||0
ANG = ANG|NAf.
AOA = AOA|Kz
AOK = AOK|||1
AON = AON|||1
AOR = AOR|||1
ARA = ARA|₳||1
ARL = ARL|$L||1
ARM = ARM|m$n||1
ARP = ARP|||1
ARS = ARS|AR$
ATS = ATS|||1
AUD = AUD|AU$
AWG = AWG|Afl.
AZM = AZM|||1
AZN = AZN|man.
BAD = BAD|||1
BAM = BAM|KM
BBD = BBD|Bds$
BDT = BDT|Tk
BEC = BEC
BEF = BEF|BF||1
BEL = BEL
BGL = BGL|||1
BGN = BGN
BHD = BHD|BD|3
BIF = BIF|FBu|0
BMD = BMD|BD$
BND = BND|BN$
BOB = BOB|Bs
BOP = BOP|$b.||1
BOV = BOV
BRB = BRB|||1
BRC = BRC|||1
BRE = BRE|||1
BRL = BRL|R$
BRN = BRN|||1
BRR = BRR|||1
BSD = BSD|BS$
BTN = BTN|Nu.
BUK = BUK|||1
BWP = BWP
BYB = BYB|||1
BYR = BYR||0
BZD = BZD|BZ$
CAD = CAD|CA$
CDF = CDF
CHE = CHE
CHF = CHF|Fr.
CHW = CHW
CLE = CLE|Eº||1
CLF = CLF||0
CLP = CLP|CL$|0
CNY = CNY|CN¥
COP = COP|CO$|0
COU = COU
CRC = CRC|₡|0
CSD = CSD|||1
CSK = CSK|||1
CUC = CUC|CUC$
CUP = CUP|CU$
CVE = CVE|CV$
CYP = CYP|CY£||1
CZK = CZK|Kč
DDM = DDM|||1
DEM = DEM|DM||1
DJF = DJF|Fdj|0
DKK = DKK|Dkr
DOP = DOP|RD$
DZD = DZD|DA
ECS = ECS|||1
ECV = ECV
EEK = EEK|Ekr
EGP = EGP|EG£
EQE = EQE|||1
ERN = ERN|Nfk
ESA = ESA
ESB = ESB
ESP = ESP|Pts|0|1
ETB = ETB|Br
EUR = EUR|€
FIM = FIM|mk||1
FJD = FJD|FJ$
FKP = FKP|FK£
FRF = FRF|₣||1
GBP = GBP|£
GEK = GEK|||1
GEL = GEL
GHC = Siɖi|₵||1
GHS = GHS|GH₵
GIP = GIP|GI£
GMD = GMD
GNF = GNF|FG|0
GNS = GNS|||1
GQE = GQE|||1
GRD = GRD|₯||1
GTQ = GTQ
GWE = GWE|||1
GWP = GWP
GYD = GYD|GY$|0
HKD = HKD|HK$
HNL = HNL
HRD = HRD|||1
HRK = HRK|kn
HTG = HTG
HUF = HUF|Ft|0
IDR = IDR|Rp|0
IEP = IEP|IR£||1
ILP = ILP|I£||1
ILS = ILS|₪
INR = INR|Rs
IQD = IQD||0
IRR = IRR||0
ISK = ISK|Ikr|0
ITL = ITL|IT₤|0|1
JMD = JMD|J$
JOD = JOD|JD|3
JPY = JPY|JP¥|0
KES = KES|Ksh
KGS = KGS
KHR = KHR
KMF = KMF|CF|0
KPW = KPW||0
KRW = KRW|₩|0
KWD = KWD|KD|3
KYD = KYD|KY$
KZT = KZT
LAK = LAK|₭|0
LBP = LBP|LB£|0
LKR = LKR|SLRs
LRD = LRD|L$
LSL = LSL
LSM = LSM|||1
LTL = LTL|Lt
LTT = LTT|||1
LUC = LUC
LUF = LUF||0|1
LUL = LUL
LVL = LVL|Ls
LVR = LVR|||1
LYD = LYD|LD|3
MAD = MAD
MAF = MAF|||1
MDL = MDL
MGA = MGA||0
MGF = MGF||0|1
MKD = MKD
MLF = MLF|||1
MMK = MMK||0
MNT = MNT|₮|0
MOP = MOP|MOP$
MRO = MRO|UM|0
MTL = MTL|Lm||1
MTP = MTP|MT£||1
MUR = MUR|MURs|0
MVR = MVR
MWK = MWK
MXN = MXN
MXP = MXP|MX$||1
MXV = MXV
MYR = MYR|RM
MZE = MZE|||1
MZM = MZM|Mt||1
MZN = MZN|MTn
NAD = NAD|N$
NGN = NGN|₦
NIC = NIC|||1
NIO = NIO|C$
NLG = NLG|fl||1
NOK = NOK|Nkr
NPR = NPR|NPRs
NZD = NZD|NZ$
OMR = OMR||3
PAB = PAB|B/.
PEI = PEI|I/.||1
PEN = PEN|S/.
PES = PES|||1
PGK = PGK
PHP = PHP|₱
PKR = PKR|PKRs|0
PLN = PLN|zł
PLZ = PLZ|||1
PTE = PTE|Esc||1
PYG = PYG|₲|0
QAR = QAR|QR
RHD = RHD|RH$||1
ROL = ROL|||1
RON = RON
RSD = RSD|din.|0
RUB = RUB
RUR = RUR|||1
RWF = RWF||0
SAR = SAR|SR
SBD = SBD|SI$
SCR = SCR|SRe
SDD = SDD|LSd||1
SDG = SDG
SDP = SDP|||1
SEK = SEK|Skr
SGD = SGD|S$
SHP = SHP|SH£
SIT = SIT|||1
SKK = SKK|Sk||1
SLL = SLL|Le|0
SOS = SOS|Ssh|0
SRD = SRD|SR$
SRG = SRG|Sf||1
STD = STD|Db|0
SUR = SUR|||1
SVC = SVC|SV₡||1
SYP = SYP|SY£|0
SZL = SZL
THB = THB|฿
TJR = TJR|||1
TJS = TJS
TMM = TMM||0|1
TND = TND|DT|3
TOP = TOP|T$
TPE = TPE|||1
TRL = TRL||0|1
TRY = TRY|TL
TTD = TTD|TT$
TWD = TWD|NT$
TZS = TZS|TSh|0
UAH = UAH|₴
UAK = UAK|||1
UGS = UGS|||1
UGX = UGX|USh|0
USD = USD|US$
USN = USN
USS = USS
UYI = UYI
UYP = UYP|||1
UYU = UYU|$U
UZS = UZS||0
VEB = VEB|||1
VEF = VEF|Bs.F.
VND = VND|₫|0
VUV = VUV|VT|0
WST = WST|WS$
XAF = XAF|FCFA|0
XAG = XAG
XAU = XAU
XBA = XBA
XBB = XBB
XBC = XBC
XBD = XBD
XCD = XCD|EC$
XDR = XDR
XEU = XEU
XFO = XFO
XFU = XFU
XOF = Sefa|CFA|0
XPD = XPD
XPF = XPF|CFPF|0
XPT = XPT
XRE = XRE
XTS = XTS
XXX = XXX
YDD = YDD|||1
YER = YER|YR|0
YUD = YUD|||1
YUM = YUM|||1
YUN = YUN|||1
ZAL = ZAL
ZAR = ZAR|R
ZMK = ZMK|ZK|0
ZRN = ZRN|NZ||1
ZRZ = ZRZ|||1
ZWD = ZWD|Z$|0|1
