# Following code is generated from CLDR data by script. You can do
# emergency fix here, but you fix will be lost unless it is also
# fixed in CLDR. The data generation scripts exists outside GWT and
# will be run manually after each major CLDR updates. Each update
# will be manually checked before check in to make sure undesired
# changes in CLDR will not break existing applications as possible.

# CLDR version 1.7.1 is used in this generation.

eras = ꃅꋊꂿ, ꃅꋊꊂ
eraNames = ꃅꋊꂿ, ꃅꋊꊂ
narrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
months = ꋍꆪ, ꑍꆪ, ꌕꆪ, ꇖꆪ, ꉬꆪ, ꃘꆪ, ꏃꆪ, ꉆꆪ, ꈬꆪ, ꊰꆪ, ꊰꊪꆪ, ꊰꑋꆪ
shortMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
standaloneNarrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
standaloneMonths = ꋍꆪ, ꑍꆪ, ꌕꆪ, ꇖꆪ, ꉬꆪ, ꃘꆪ, ꏃꆪ, ꉆꆪ, ꈬꆪ, ꊰꆪ, ꊰꊪꆪ, ꊰꑋꆪ
standaloneShortMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
weekdays = ꑭꆏꑍ, ꆏꊂꋍ, ꆏꊂꑍ, ꆏꊂꌕ, ꆏꊂꇖ, ꆏꊂꉬ, ꆏꊂꃘ
shortWeekdays = ꆏꑍ, ꆏꋍ, ꆏꑍ, ꆏꌕ, ꆏꇖ, ꆏꉬ, ꆏꃘ
narrowWeekdays = ꆏ, ꋍ, ꑍ, ꌕ, ꇖ, ꉬ, ꃘ
standaloneWeekdays = ꑭꆏꑍ, ꆏꊂꋍ, ꆏꊂꑍ, ꆏꊂꌕ, ꆏꊂꇖ, ꆏꊂꉬ, ꆏꊂꃘ
standaloneShortWeekdays = ꆏꑍ, ꆏꋍ, ꆏꑍ, ꆏꌕ, ꆏꇖ, ꆏꉬ, ꆏꃘ
standaloneNarrowWeekdays = ꆏ, ꋍ, ꑍ, ꌕ, ꇖ, ꉬ, ꃘ
shortQuarters = ꃅꑌ, ꃅꎸ, ꃅꍵ, ꃅꋆ
quarters = ꃅꑌ, ꃅꎸ, ꃅꍵ, ꃅꋆ
ampms = ꎸꄑ, ꁯꋒ
dateFormats = EEEE\\, y MMMM dd, y MMMM d, y MMM d, yyyy-MM-dd
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
firstDayOfTheWeek = 2
weekendRange = 7, 1
