diff --git a/.gitignore b/.gitignore
index 0dbeb4bb..383812c8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -177,9 +177,11 @@ espeak-ng-data/config
espeak-ng-data/dictsource
espeak-ng-data/phsource
espeak-ng-data/*_dict
-espeak-ng-data/mbrola_ph/*_phtrans
espeak-ng-data/intonations
espeak-ng-data/phondata
espeak-ng-data/phondata-manifest
espeak-ng-data/phonindex
espeak-ng-data/phontab
+
+espeak-ng-data/mbrola/
+espeak-ng-data/mbrola_ph/*_phtrans
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5f12008d..8a4547f7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -38,7 +38,7 @@ updated languages:
* af (Afrikaans) -- Christo de Klerk
* de (German) -- Valdis Vitolins
* du (Dutch) -- Leonard de Ruijter
-* en (English) -- Reece Dunn : fixes and Unicode Emoji 5.0 support
+* en (English) -- Reece Dunn. Thanks to Kendell Clark for identifying mispronunciations.
* fa (Farsi/Persian) -- Shadyar Khodayari
* fr (French) -- Valdis Vitolins; Reece Dunn
* gu (Gujarati) -- Vardhan
@@ -50,6 +50,10 @@ updated languages:
* or (Oriya) -- Vardhan
* ur (Urdu) -- Ejaz Shah
+Unicode Emoji 5.0 support (from the Unicode Emoji, and CLDR data files):
+
+* en (English) -- Reece Dunn
+
### 1.49.1 - 2017-01-21
* Vim syntax support for rule files.
diff --git a/dictsource/en_emoji b/dictsource/en_emoji
index 56813906..ecedc314 100644
--- a/dictsource/en_emoji
+++ b/dictsource/en_emoji
@@ -94,9 +94,7 @@ $textmode
☸ wheel of dharma // [2638] text|emoji
☹ frowning face // [2639] text|emoji
☺ smiling face // [263A] text|emoji
-♀ woman $emoji_zwj // [2640] text|emoji Emoji_Gender
♀ female sign // [2640] text|emoji
-♂ man $emoji_zwj // [2642] text|emoji Emoji_Gender
♂ male sign // [2642] text|emoji
♈ aries // [2648]
♉ taurus // [2649]
@@ -120,9 +118,7 @@ $textmode
⚒ hammer and pick // [2692] text|emoji
⚓ anchor // [2693]
⚔ crossed swords // [2694] text|emoji
-⚕ health worker $emoji_zwj // [2695] text|emoji
⚕ medical symbol // [2695] text|emoji
-⚖ judge $emoji_zwj // [2696] text|emoji
⚖ balance scale // [2696] text|emoji
⚗ alembic // [2697] text|emoji
⚙ gear // [2699] text|emoji
@@ -162,7 +158,6 @@ $textmode
✂ scissors // [2702] text|emoji
✅ white heavy check mark // [2705]
-✈ pilot $emoji_zwj // [2708] text|emoji
✈ airplane // [2708] text|emoji
✉ envelope // [2709] text|emoji
✊ raised fist // [270A]
@@ -326,7 +321,6 @@ $textmode
🌻 sunflower // [1F33B]
🌼 blossom // [1F33C]
🌽 ear of corn // [1F33D]
-🌾 farmer $emoji_zwj // [1F33E]
🌾 sheaf of rice // [1F33E]
🌿 herb // [1F33F]
🍀 four leaf clover // [1F340]
@@ -380,7 +374,6 @@ $textmode
🍰 shortcake // [1F370]
🍱 bento box // [1F371]
🍲 pot of food // [1F372]
-🍳 cook $emoji_zwj // [1F373]
🍳 cooking // [1F373]
🍴 fork and knife // [1F374]
🍵 teacup without handle // [1F375]
@@ -413,7 +406,6 @@ $textmode
🎐 wind chime // [1F390]
🎑 moon viewing ceremony // [1F391]
🎒 school backpack // [1F392]
-🎓 student $emoji_zwj // [1F393]
🎓 graduation cap // [1F393]
🎖 military medal // [1F396] text|emoji
🎗 reminder ribbon // [1F397] text|emoji
@@ -426,12 +418,10 @@ $textmode
🎡 ferris wheel // [1F3A1]
🎢 roller coaster // [1F3A2]
🎣 fishing pole // [1F3A3]
-🎤 singer $emoji_zwj // [1F3A4]
🎤 microphone // [1F3A4]
🎥 movie camera // [1F3A5]
🎦 cinema // [1F3A6]
🎧 headphone // [1F3A7]
-🎨 artist $emoji_zwj // [1F3A8]
🎨 artist palette // [1F3A8]
🎩 top hat // [1F3A9]
🎪 circus tent // [1F3AA]
@@ -499,10 +489,8 @@ $textmode
🏨 hotel // [1F3E8]
🏩 love hotel // [1F3E9]
🏪 convenience store // [1F3EA]
-🏫 teacher $emoji_zwj // [1F3EB]
🏫 school // [1F3EB]
🏬 department store // [1F3EC]
-🏭 factory worker $emoji_zwj // [1F3ED]
🏭 factory // [1F3ED]
🏮 red paper lantern // [1F3EE]
🏯 japanese castle // [1F3EF]
@@ -706,9 +694,7 @@ $textmode
💸 money with wings // [1F4B8]
💹 chart increasing with yen // [1F4B9]
💺 seat // [1F4BA]
-💻 technologist $emoji_zwj // [1F4BB]
💻 laptop computer // [1F4BB]
-💼 office worker $emoji_zwj // [1F4BC]
💼 briefcase // [1F4BC]
💽 computer disk // [1F4BD]
💾 floppy disk // [1F4BE]
@@ -815,13 +801,11 @@ $textmode
🔤 input latin letters // [1F524]
🔥 fire // [1F525]
🔦 flashlight // [1F526]
-🔧 mechanic $emoji_zwj // [1F527]
🔧 wrench // [1F527]
🔨 hammer // [1F528]
🔩 nut and bolt // [1F529]
🔪 kitchen knife // [1F52A]
🔫 pistol // [1F52B]
-🔬 scientist $emoji_zwj // [1F52C]
🔬 microscope // [1F52C]
🔭 telescope // [1F52D]
🔮 crystal ball // [1F52E]
@@ -1000,7 +984,6 @@ $textmode
// 1F680..1F6FF : Transport and Map Symbols
-🚀 astronaut $emoji_zwj // [1F680]
🚀 rocket // [1F680]
🚁 helicopter // [1F681]
🚂 locomotive // [1F682]
@@ -1019,7 +1002,6 @@ $textmode
🚏 bus stop // [1F68F]
🚐 minibus // [1F690]
🚑 ambulance // [1F691]
-🚒 firefighter $emoji_zwj // [1F692]
🚒 fire engine // [1F692]
🚓 police car // [1F693]
🚔 oncoming police car // [1F694]
@@ -1234,7 +1216,7 @@ $textmode
🧥 coat // [1F9E5]
🧦 socks // [1F9E6]
-// Country Flags (Regional Indicator Symbols)
+// Country Flags (Regional Indicator Symbols) -- ISO 3166-1 Country Codes
🇦🇨 ascension island // [1F1E6 1F1E8] AC
🇦🇩 andorra // [1F1E6 1F1E9] AD
@@ -1495,6 +1477,8 @@ $textmode
🇿🇲 zambia // [1F1FF 1F1F2] ZM
🇿🇼 zimbabwe // [1F1FF 1F1FC] ZW
+// Subdivision Flags -- ISO 3166-2 Subdivision Codes
+
🏴 england // [1F3F4 E0067 E0062 E0065 E006E E0067 E007F]
🏴 scotland // [1F3F4 E0067 E0062 E0073 E0063 E0074 E007F]
🏴 wales // [1F3F4 E0067 E0062 E0077 E006C E0073 E007F]
@@ -1514,10 +1498,8 @@ $textmode
8️⃣ keycap eight // [0038 FE0F 20E3]
9️⃣ keycap nine // [0039 FE0F 20E3]
-// Other Emoji ZWJ Sequences
+// Emoji ZWJ Sequence: Family
-🏳🌈 rainbow flag // [1F3F3 200D 1F308]
-👁🗨 eye in speech bubble // [1F441 200D 1F5E8]
👩❤💋👨 kiss woman man // [1F469 200D 2764 200D 1F48B 200D 1F468]
👨❤💋👨 kiss man man // [1F468 200D 2764 200D 1F48B 200D 1F468]
👩❤💋👩 kiss woman woman // [1F469 200D 2764 200D 1F48B 200D 1F469]
@@ -1550,6 +1532,141 @@ $textmode
👩👧👦 family woman girl boy // [1F469 200D 1F467 200D 1F466]
👩👧👧 family woman girl girl // [1F469 200D 1F467 200D 1F467]
+// Emoji ZWJ Sequence: Gendered Role, with object
+
+👨⚕ man health worker // [1F468 200D 2695]
+👩⚕ woman health worker // [1F469 200D 2695]
+👨⚖ man judge // [1F468 200D 2696]
+👩⚖ woman judge // [1F469 200D 2696]
+👨✈ man pilot // [1F468 200D 2708]
+👩✈ woman pilot // [1F469 200D 2708]
+👨🌾 man farmer // [1F468 200D 1F33E]
+👩🌾 woman farmer // [1F469 200D 1F33E]
+👨🍳 man cook // [1F468 200D 1F373]
+👩🍳 woman cook // [1F469 200D 1F373]
+👨🎓 man student // [1F468 200D 1F393]
+👩🎓 woman student // [1F469 200D 1F393]
+👨🎤 man singer // [1F468 200D 1F3A4]
+👩🎤 woman singer // [1F469 200D 1F3A4]
+👨🎨 man artist // [1F468 200D 1F3A8]
+👩🎨 woman artist // [1F469 200D 1F3A8]
+👨🏫 man teacher // [1F468 200D 1F3EB]
+👩🏫 woman teacher // [1F469 200D 1F3EB]
+👨🏭 man factory worker // [1F468 200D 1F3ED]
+👩🏭 woman factory worker // [1F469 200D 1F3ED]
+👨💻 man technologist // [1F468 200D 1F4BB]
+👩💻 woman technologist // [1F469 200D 1F4BB]
+👨💼 man office worker // [1F468 200D 1F4BC]
+👩💼 woman office worker // [1F469 200D 1F4BC]
+👨🔧 man mechanic // [1F468 200D 1F527]
+👩🔧 woman mechanic // [1F469 200D 1F527]
+👨🔬 man scientist // [1F468 200D 1F52C]
+👩🔬 woman scientist // [1F469 200D 1F52C]
+👨🚀 man astronaut // [1F468 200D 1F680]
+👩🚀 woman atronaut // [1F469 200D 1F680]
+👨🚒 man firefighter // [1F468 200D 1F692]
+👩🚒 woman firefighter // [1F469 200D 1F692]
+
+// Emoji ZWJ Sequence: Gendered Role
+
+👮♀ woman police officer // [1F46E 200D 2640]
+👮♂ man police officer // [1F46E 200D 2642]
+👱♀ blond-haired woman // [1F471 200D 2640]
+👱♂ blond-haired man // [1F471 200D 2642]
+👳♀ woman wearing turban // [1F473 200D 2640]
+👳♂ man wearing turban // [1F473 200D 2642]
+👷♀ woman construction worker // [1F477 200D 2640]
+👷♂ man construction worker // [1F477 200D 2642]
+💂♀ woman guard // [1F482 200D 2640]
+💂♂ man guard // [1F482 200D 2642]
+🕵️♀ woman detective // [1F575 200D 2640]
+🕵️♂ man detective // [1F575 200D 2642]
+🧙♀ woman mage // [1F9D9 200D 2640]
+🧙♂ man mage // [1F9D9 200D 2642]
+🧚♀ woman fairy // [1F9DA 200D 2640]
+🧚♂ man fairy // [1F9DA 200D 2642]
+🧛♀ woman vampire // [1F9DB 200D 2640]
+🧛♂ man vampire // [1F9DB 200D 2642]
+🧜♀ mermaid // [1F9DC 200D 2640]
+🧜♂ merman // [1F9DC 200D 2642]
+🧝♀ woman elf // [1F9DD 200D 2640]
+🧝♂ man elf // [1F9DD 200D 2642]
+🧞♀ woman genie // [1F9DE 200D 2640]
+🧞♂ man genie // [1F9DE 200D 2642]
+🧟♀ woman zombie // [1F9DF 200D 2640]
+🧟♂ man zombie // [1F9DF 200D 2642]
+
+// Emoji ZWJ Sequence: Gendered Activity
+
+⛹♀ woman bouncing ball // [26F9 200D 2640]
+⛹♂ man bouncing ball // [26F9 200D 2642]
+🏃♀ woman running // [1F3C3 200D 2640]
+🏃♂ man running // [1F3C3 200D 2642]
+🏄♀ woman surfacing // [1F3C4 200D 2640]
+🏄♂ man surfacing // [1F3C4 200D 2642]
+🏊♀ woman swimming // [1F3CA 200D 2640]
+🏊♂ man swimming // [1F3CA 200D 2642]
+🏋️♀ woman lifting weights // [1F3CB 200D 2640]
+🏋️♂ man lifting weights // [1F3CB 200D 2642]
+🏌️♀ woman golfing // [1F3CC 200D 2640]
+🏌️♂ man golfing // [1F3CC 200D 2642]
+👯♀ woman with bunny ears partying // [1F46F 200D 2640]
+👯♂ man with bunny ears partying // [1F46F 200D 2642]
+💆♀ woman getting massage // [1F486 200D 2640]
+💆♂ man getting massage // [1F486 200D 2642]
+💇♀ woman getting haircut // [1F487 200D 2640]
+💇♂ man getting haircut // [1F487 200D 2642]
+🚣♀ woman rowing boat // [1F6A3 200D 2640]
+🚣♂ man rowing boat // [1F6A3 200D 2642]
+🚴♀ woman biking // [1F6B4 200D 2640]
+🚴♂ man biking // [1F6B4 200D 2642]
+🚵♀ woman mountain biking // [1F6B5 200D 2640]
+🚵♂ man mountain biking // [1F6B5 200D 2642]
+🚶♀ woman walking // [1F6B6 200D 2640]
+🚶♂ man walking // [1F6B6 200D 2642]
+🤸♀ woman cartwheeling // [1F938 200D 2640]
+🤸♂ man cartwheeling // [1F938 200D 2642]
+🤹♀ woman juggling // [1F939 200D 2640]
+🤹♂ man juggling // [1F939 200D 2642]
+🤼♀ woman wrestling // [1F93C 200D 2640]
+🤼♂ man wrestling // [1F93C 200D 2642]
+🤽♀ woman playing water polo // [1F93D 200D 2640]
+🤽♂ man playing water polo // [1F93D 200D 2642]
+🤾♀ woman playing handball // [1F93E 200D 2640]
+🤾♂ man playing handball // [1F93E 200D 2642]
+🧖♀ woman in steamy room // [1F9D6 200D 2640]
+🧖♂ man in steamy room // [1F9D6 200D 2642]
+🧗♀ woman climbing // [1F9D7 200D 2640]
+🧗♂ man climbing // [1F9D7 200D 2642]
+🧘♀ woman in lotus position // [1F9D8 200D 2640]
+🧘♂ man in lotus position // [1F9D8 200D 2642]
+
+// Emoji ZWJ Sequence: Gendered Gestures
+
+💁♀ woman tipping hand // [1F481 200D 2640]
+💁♂ man tipping hand // [1F481 200D 2642]
+🙅♀ woman gesturing no // [1F645 200D 2640]
+🙅♂ man gesturing no // [1F645 200D 2642]
+🙆♀ woman gesturing ok // [1F646 200D 2640]
+🙆♂ man gesturing ok // [1F646 200D 2642]
+🙇♀ woman bowing // [1F647 200D 2640]
+🙇♂ man bowing // [1F647 200D 2642]
+🙋♀ woman raising hand // [1F64B 200D 2640]
+🙋♂ man raising hand // [1F64B 200D 2642]
+🙍♀ woman frowning // [1F64D 200D 2640]
+🙍♂ man frowning // [1F64D 200D 2642]
+🙎♀ woman pouting // [1F64E 200D 2640]
+🙎♂ man pouting // [1F64E 200D 2642]
+🤦♀ woman facepalming // [1F926 200D 2640]
+🤦♂ man facepalming // [1F926 200D 2642]
+🤷♀ woman shrugging // [1F937 200D 2640]
+🤷♂ man shrugging // [1F937 200D 2642]
+
+// Emoji ZWJ Sequence: Other
+
+🏳🌈 rainbow flag // [1F3F3 200D 1F308]
+👁🗨 eye in speech bubble // [1F441 200D 1F5E8]
+
// References:
// [UCD] Unicode Character Database 9.0.0 [http://www.unicode.org/Public/9.0.0/ucd/]
// [Emoji] Unicode Emoji 5.0 [http://www.unicode.org/Public/emoji/5.0/]
@@ -1558,3 +1675,4 @@ $textmode
// Sources:
// 1. emoji-test.txt (Emoji)
// 2. common/annotations/en.xml (CLDR)
+// 3. emoji-zwj-sequences.txt (Emoji)
diff --git a/dictsource/en_rules b/dictsource/en_rules
index efa4a74e..a74b8b46 100644
--- a/dictsource/en_rules
+++ b/dictsource/en_rules
@@ -249,7 +249,7 @@
_) ab (ide a#b
_l) ab (i eIb
st) ab (il eIb
- C) ab (ili+ @b
+ h) ab (ilim @b
ab (ject ab
ab (lativ ab
able eIb@L
@@ -4409,7 +4409,6 @@ multip) ly laI
you) ng (er Ng
ng (est Ng
co) nge (st ndZE
- nging (_ NgI2N
cri) nging ndZI2N
hi) nging ndZI2N
u) nging (_ ndZI2N
@@ -5718,7 +5717,7 @@ multip) ly laI
re (pli rE
re (prim rE
_) re (prob rE
- re (pt rE
+ re (ptY rE
_) re (puta rE
re (quis rE
_) re (relP2 r,i:
diff --git a/src/libespeak-ng/compiledict.c b/src/libespeak-ng/compiledict.c
index 01335918..48c72797 100644
--- a/src/libespeak-ng/compiledict.c
+++ b/src/libespeak-ng/compiledict.c
@@ -116,7 +116,6 @@ MNEM_TAB mnem_flags[] = {
{ "$alt5", 19 },
{ "$alt6", 20 },
{ "$alt7", 21 },
- { "$emoji_zwj", 22 }, // alternate emoji pronunciation, when in a ZWJ sequence
{ "$combine", 23 }, // Combine with the next word
diff --git a/src/libespeak-ng/translate.h b/src/libespeak-ng/translate.h
index f27b92ae..89f3f680 100644
--- a/src/libespeak-ng/translate.h
+++ b/src/libespeak-ng/translate.h
@@ -58,7 +58,6 @@ extern "C"
#define FLAG_ALT6_TRANS 0x100000 // language specific
#define FLAG_ALT7_TRANS 0x200000 // language specific
-#define FLAG_EMOJI_ZWJ 0x400000 // alternate emoji pronunciation, when in a ZWJ sequence
#define FLAG_COMBINE 0x800000 // combine with the next word
#define FLAG_ALLOW_DOT 0x01000000 // ignore '.' after word (abbreviation)
#define FLAG_NEEDS_DOT 0x02000000 // only if the word is followed by a dot
diff --git a/src/libespeak-ng/voices.c b/src/libespeak-ng/voices.c
index cc4a6c16..6a9d68b2 100644
--- a/src/libespeak-ng/voices.c
+++ b/src/libespeak-ng/voices.c
@@ -829,9 +829,11 @@ voice_t *LoadVoice(const char *vname, int control)
name2[0] = 0;
sscanf(p, "%s %s %d", name1, name2, &srate);
- if (LoadMbrolaTable(name1, name2, &srate) != ENS_OK)
- fprintf(stderr, "mbrola voice not found\n");
- voice->samplerate = srate;
+ espeak_ng_STATUS status = LoadMbrolaTable(name1, name2, &srate);
+ if (status != ENS_OK)
+ espeak_ng_PrintStatusCodeMessage(status, stderr, NULL);
+ else
+ voice->samplerate = srate;
}
break;
case V_KLATT:
diff --git a/src/ucd-tools/data/espeak-ng/emoji-data.txt b/src/ucd-tools/data/espeak-ng/emoji-data.txt
index a407b02d..3f3eb967 100644
--- a/src/ucd-tools/data/espeak-ng/emoji-data.txt
+++ b/src/ucd-tools/data/espeak-ng/emoji-data.txt
@@ -16,8 +16,8 @@
# The `Emoji_Gender` property is used on emoji codepoints to signify the gender
# of the emoji with the form:
#
-# Emoji 200D Emoji_Gender
-# Emoji Emoji_Modifier 200D Emoji_Gender
+# Emoji_Gendered_Base 200D Emoji_Gender
+# Emoji_Gendered_Base Emoji_Modifier 200D Emoji_Gender
#
# This file uses the same format as the PropList.txt file.
#
@@ -54,6 +54,53 @@
# ================================================
+26F9 ; Emoji_Gendered_Base # (⛹) person bouncing ball
+1F3C3 ; Emoji_Gendered_Base # (🏃) person running
+1F3C4 ; Emoji_Gendered_Base # (🏄) person surfacing
+1F3CA ; Emoji_Gendered_Base # (🏊) person swimming
+1F3CB ; Emoji_Gendered_Base # (🏋️) person lifting weights
+1F3CC ; Emoji_Gendered_Base # (🏌️) person golfing
+1F46E ; Emoji_Gendered_Base # (👮) police officer
+1F46F ; Emoji_Gendered_Base # (👯) person with bunny ears partying
+1F471 ; Emoji_Gendered_Base # (👱) blond haired person
+1F473 ; Emoji_Gendered_Base # (👳) person wearing turban
+1F477 ; Emoji_Gendered_Base # (👷) construction worker
+1F481 ; Emoji_Gendered_Base # (💁) person tipping hand
+1F482 ; Emoji_Gendered_Base # (💂) guard
+1F486 ; Emoji_Gendered_Base # (💆) person getting massage
+1F487 ; Emoji_Gendered_Base # (💇) person getting haircut
+1F575 ; Emoji_Gendered_Base # (🕵️) detective
+1F645 ; Emoji_Gendered_Base # (🙅) person gesturing NO
+1F646 ; Emoji_Gendered_Base # (🙆) person gesturing OK
+1F647 ; Emoji_Gendered_Base # (🙇) person bowing
+1F64B ; Emoji_Gendered_Base # (🙋) person raising hand
+1F64D ; Emoji_Gendered_Base # (🙍) person frowning
+1F64E ; Emoji_Gendered_Base # (🙎) person pouting
+1F6A3 ; Emoji_Gendered_Base # (🚣) person rowing boat
+1F6B4 ; Emoji_Gendered_Base # (🚴) person biking
+1F6B5 ; Emoji_Gendered_Base # (🚵) person mountain biking
+1F6B6 ; Emoji_Gendered_Base # (🚶) person walking
+1F926 ; Emoji_Gendered_Base # (🤦) person facepalming
+1F937 ; Emoji_Gendered_Base # (🤷) person shrugging
+1F938 ; Emoji_Gendered_Base # (🤸) person cartwheeling
+1F939 ; Emoji_Gendered_Base # (🤹) person juggling
+1F93C ; Emoji_Gendered_Base # (🤼) person wrestling
+1F93D ; Emoji_Gendered_Base # (🤽) person playing water polo
+1F93E ; Emoji_Gendered_Base # (🤾) person playing handball
+1F9D6 ; Emoji_Gendered_Base # (🧖) person in steamy room
+1F9D7 ; Emoji_Gendered_Base # (🧘) person in lotus position
+1F9D9 ; Emoji_Gendered_Base # (🧙) mage
+1F9DA ; Emoji_Gendered_Base # (🧚) fairy
+1F9DB ; Emoji_Gendered_Base # (🧛) vampire
+1F9DC ; Emoji_Gendered_Base # (🧜) merperson
+1F9DD ; Emoji_Gendered_Base # (🧝) elf
+1F9DE ; Emoji_Gendered_Base # (🧞) genie
+1F9DF ; Emoji_Gendered_Base # (🧟) zombie
+
+# Total code points: 42
+
+# ================================================
+
2640 ; Emoji_Gender # (♀) woman
2642 ; Emoji_Gender # (♂) man
diff --git a/src/windows/installer/Product.wxs b/src/windows/installer/Product.wxs
index e222c805..31de34da 100644
--- a/src/windows/installer/Product.wxs
+++ b/src/windows/installer/Product.wxs
@@ -883,6 +883,11 @@
+
+
+
+
+
@@ -890,24 +895,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -915,6 +908,17 @@
+
+
+
+
+
+
+
+
+
+
+