@chat21/chat21-web-widget 5.0.46-rc.2 → 5.0.46-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -0
- package/coverage/widget/base.css +224 -0
- package/coverage/widget/block-navigation.js +87 -0
- package/coverage/widget/favicon.png +0 -0
- package/coverage/widget/index.html +881 -0
- package/coverage/widget/lcov.info +10516 -0
- package/coverage/widget/polyfills.ts.html +277 -0
- package/coverage/widget/prettify.css +1 -0
- package/coverage/widget/prettify.js +2 -0
- package/coverage/widget/sort-arrow-sprite.png +0 -0
- package/coverage/widget/sorter.js +196 -0
- package/coverage/widget/src/app/app.component.ts.html +6328 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation/conversation.component.ts.html +3871 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-content/conversation-content.component.ts.html +925 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-content/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.ts.html +1816 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-footer/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-header/conversation-header.component.ts.html +811 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-header/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-internal-frame/conversation-internal-frame.component.ts.html +397 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-internal-frame/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.ts.html +991 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-preview/index.html +116 -0
- package/coverage/widget/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.ts.html +586 -0
- package/coverage/widget/src/app/component/eyeeye-catcher-card/index.html +116 -0
- package/coverage/widget/src/app/component/form/form-builder/form-builder.component.ts.html +664 -0
- package/coverage/widget/src/app/component/form/form-builder/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-checkbox/form-checkbox.component.ts.html +208 -0
- package/coverage/widget/src/app/component/form/inputs/form-checkbox/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-label/form-label.component.ts.html +157 -0
- package/coverage/widget/src/app/component/form/inputs/form-label/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-radio-button/form-radio-button.component.ts.html +130 -0
- package/coverage/widget/src/app/component/form/inputs/form-radio-button/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-select/form-select.component.ts.html +130 -0
- package/coverage/widget/src/app/component/form/inputs/form-select/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-text/form-text.component.ts.html +301 -0
- package/coverage/widget/src/app/component/form/inputs/form-text/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-textarea/form-textarea.component.ts.html +358 -0
- package/coverage/widget/src/app/component/form/inputs/form-textarea/index.html +116 -0
- package/coverage/widget/src/app/component/form/prechat-form/index.html +116 -0
- package/coverage/widget/src/app/component/form/prechat-form/prechat-form.component.ts.html +565 -0
- package/coverage/widget/src/app/component/home/home.component.ts.html +559 -0
- package/coverage/widget/src/app/component/home/index.html +116 -0
- package/coverage/widget/src/app/component/home-conversations/home-conversations.component.ts.html +985 -0
- package/coverage/widget/src/app/component/home-conversations/index.html +116 -0
- package/coverage/widget/src/app/component/last-message/index.html +116 -0
- package/coverage/widget/src/app/component/last-message/last-message.component.ts.html +484 -0
- package/coverage/widget/src/app/component/launcher-button/index.html +116 -0
- package/coverage/widget/src/app/component/launcher-button/launcher-button.component.ts.html +307 -0
- package/coverage/widget/src/app/component/list-all-conversations/index.html +116 -0
- package/coverage/widget/src/app/component/list-all-conversations/list-all-conversations.component.ts.html +676 -0
- package/coverage/widget/src/app/component/list-conversations/index.html +116 -0
- package/coverage/widget/src/app/component/list-conversations/list-conversations.component.ts.html +475 -0
- package/coverage/widget/src/app/component/menu-options/index.html +116 -0
- package/coverage/widget/src/app/component/menu-options/menu-options.component.ts.html +226 -0
- package/coverage/widget/src/app/component/message/avatar/avatar.component.ts.html +271 -0
- package/coverage/widget/src/app/component/message/avatar/index.html +116 -0
- package/coverage/widget/src/app/component/message/bubble-message/bubble-message.component.ts.html +655 -0
- package/coverage/widget/src/app/component/message/bubble-message/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/action-button/action-button.component.ts.html +274 -0
- package/coverage/widget/src/app/component/message/buttons/action-button/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/link-button/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/link-button/link-button.component.ts.html +232 -0
- package/coverage/widget/src/app/component/message/buttons/text-button/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/text-button/text-button.component.ts.html +235 -0
- package/coverage/widget/src/app/component/message/frame/frame.component.ts.html +199 -0
- package/coverage/widget/src/app/component/message/frame/index.html +116 -0
- package/coverage/widget/src/app/component/message/html/html.component.ts.html +184 -0
- package/coverage/widget/src/app/component/message/html/index.html +116 -0
- package/coverage/widget/src/app/component/message/image/image.component.ts.html +394 -0
- package/coverage/widget/src/app/component/message/image/index.html +116 -0
- package/coverage/widget/src/app/component/message/info-message/index.html +116 -0
- package/coverage/widget/src/app/component/message/info-message/info-message.component.ts.html +211 -0
- package/coverage/widget/src/app/component/message/like-unlike/index.html +116 -0
- package/coverage/widget/src/app/component/message/like-unlike/like-unlike.component.ts.html +151 -0
- package/coverage/widget/src/app/component/message/return-receipt/index.html +116 -0
- package/coverage/widget/src/app/component/message/return-receipt/return-receipt.component.ts.html +157 -0
- package/coverage/widget/src/app/component/message/text/index.html +116 -0
- package/coverage/widget/src/app/component/message/text/text.component.ts.html +190 -0
- package/coverage/widget/src/app/component/message-attachment/index.html +116 -0
- package/coverage/widget/src/app/component/message-attachment/message-attachment.component.ts.html +343 -0
- package/coverage/widget/src/app/component/selection-department/index.html +116 -0
- package/coverage/widget/src/app/component/selection-department/selection-department.component.ts.html +676 -0
- package/coverage/widget/src/app/component/send-button/index.html +116 -0
- package/coverage/widget/src/app/component/send-button/send-button.component.ts.html +154 -0
- package/coverage/widget/src/app/component/star-rating-widget/index.html +116 -0
- package/coverage/widget/src/app/component/star-rating-widget/star-rating-widget.component.ts.html +451 -0
- package/coverage/widget/src/app/directives/html-entities-encode.pipe.ts.html +136 -0
- package/coverage/widget/src/app/directives/index.html +146 -0
- package/coverage/widget/src/app/directives/marked.pipe.ts.html +166 -0
- package/coverage/widget/src/app/directives/safe-html.pipe.ts.html +136 -0
- package/coverage/widget/src/app/index.html +116 -0
- package/coverage/widget/src/app/providers/app-config.service.ts.html +247 -0
- package/coverage/widget/src/app/providers/global-settings.service.ts.html +5698 -0
- package/coverage/widget/src/app/providers/index.html +206 -0
- package/coverage/widget/src/app/providers/settings-saver.service.ts.html +253 -0
- package/coverage/widget/src/app/providers/star-rating-widget.service.ts.html +385 -0
- package/coverage/widget/src/app/providers/storage.service.ts.html +745 -0
- package/coverage/widget/src/app/providers/translator.service.ts.html +1498 -0
- package/coverage/widget/src/app/providers/waiting.service.ts.html +178 -0
- package/coverage/widget/src/app/utils/constants.ts.html +304 -0
- package/coverage/widget/src/app/utils/globals.ts.html +1939 -0
- package/coverage/widget/src/app/utils/index.html +146 -0
- package/coverage/widget/src/app/utils/utils.ts.html +1240 -0
- package/coverage/widget/src/chat21-core/models/conversation.ts.html +160 -0
- package/coverage/widget/src/chat21-core/models/index.html +146 -0
- package/coverage/widget/src/chat21-core/models/upload.ts.html +118 -0
- package/coverage/widget/src/chat21-core/models/user.ts.html +133 -0
- package/coverage/widget/src/chat21-core/providers/abstract/app-storage.service.ts.html +142 -0
- package/coverage/widget/src/chat21-core/providers/abstract/archivedconversations-handler.service.ts.html +184 -0
- package/coverage/widget/src/chat21-core/providers/abstract/conversation-handler-builder.service.ts.html +121 -0
- package/coverage/widget/src/chat21-core/providers/abstract/conversation-handler.service.ts.html +235 -0
- package/coverage/widget/src/chat21-core/providers/abstract/conversations-handler.service.ts.html +208 -0
- package/coverage/widget/src/chat21-core/providers/abstract/groups-handler.service.ts.html +160 -0
- package/coverage/widget/src/chat21-core/providers/abstract/image-repo.service.ts.html +169 -0
- package/coverage/widget/src/chat21-core/providers/abstract/index.html +296 -0
- package/coverage/widget/src/chat21-core/providers/abstract/logger.service.ts.html +136 -0
- package/coverage/widget/src/chat21-core/providers/abstract/messagingAuth.service.ts.html +238 -0
- package/coverage/widget/src/chat21-core/providers/abstract/notifications.service.ts.html +172 -0
- package/coverage/widget/src/chat21-core/providers/abstract/presence.service.ts.html +190 -0
- package/coverage/widget/src/chat21-core/providers/abstract/typing.service.ts.html +187 -0
- package/coverage/widget/src/chat21-core/providers/abstract/upload.service.ts.html +178 -0
- package/coverage/widget/src/chat21-core/providers/chat-manager.ts.html +895 -0
- package/coverage/widget/src/chat21-core/providers/custom-translate.service.ts.html +223 -0
- package/coverage/widget/src/chat21-core/providers/index.html +131 -0
- package/coverage/widget/src/chat21-core/providers/logger/customLogger.ts.html +265 -0
- package/coverage/widget/src/chat21-core/providers/logger/index.html +131 -0
- package/coverage/widget/src/chat21-core/providers/logger/loggerInstance.ts.html +142 -0
- package/coverage/widget/src/chat21-core/providers/tiledesk/index.html +131 -0
- package/coverage/widget/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts.html +655 -0
- package/coverage/widget/src/chat21-core/providers/tiledesk/tiledesk-requests.service.ts.html +241 -0
- package/coverage/widget/src/chat21-core/utils/constants.ts.html +409 -0
- package/coverage/widget/src/chat21-core/utils/index.html +176 -0
- package/coverage/widget/src/chat21-core/utils/triggerHandler.ts.html +1069 -0
- package/coverage/widget/src/chat21-core/utils/user-typing/index.html +116 -0
- package/coverage/widget/src/chat21-core/utils/user-typing/user-typing.component.ts.html +184 -0
- package/coverage/widget/src/chat21-core/utils/utils-message.ts.html +637 -0
- package/coverage/widget/src/chat21-core/utils/utils-user.ts.html +229 -0
- package/coverage/widget/src/chat21-core/utils/utils.ts.html +2221 -0
- package/coverage/widget/src/environments/environment.ts.html +205 -0
- package/coverage/widget/src/environments/index.html +116 -0
- package/coverage/widget/src/index.html +131 -0
- package/coverage/widget/src/models/index.html +116 -0
- package/coverage/widget/src/models/project.ts.html +319 -0
- package/coverage/widget/src/polyfills.ts.html +277 -0
- package/coverage/widget/src/test.ts.html +142 -0
- package/dist/environments/real_data/widget-config-docker.json +0 -1
- package/dist/environments/real_data/widget-config-firebase.json +2 -2
- package/dist/environments/real_data/widget-config-native-mqtt.json +0 -1
- package/dist/launch.js +1 -1
- package/dist/main.js +1 -1
- package/dist/vendor.js +1 -1
- package/package.json +1 -1
- package/src/app/providers/global-settings.service.ts +14 -0
- package/src/app/utils/globals.ts +3 -0
- package/src/environments/real_data/widget-config-docker.json +0 -1
- package/src/environments/real_data/widget-config-firebase.json +2 -2
- package/src/environments/real_data/widget-config-native-mqtt.json +0 -1
- package/src/launch.js +1 -1
- package/e2e/protractor.conf.js +0 -32
|
@@ -0,0 +1,1498 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/app/providers/translator.service.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/app/providers</a> translator.service.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">12.5% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>17/136</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">14.81% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>4/27</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">4.76% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>1/21</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">12.78% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>17/133</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line low'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
+
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
+
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
+
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
+
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
+
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
+
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
+
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
+
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
+
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
+
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
+
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
+
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
+
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
+
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
+
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
+
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
+
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
+
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
+
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
+
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
+
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
+
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
+
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
+
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
+
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
+
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
+
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
+
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
+
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
+
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
+
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
+
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
+
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
+
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
+
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
+
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
+
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
+
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
+
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
+
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
+
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
+
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
+
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
+
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
+
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
+
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
+
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
+
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
+
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
+
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
+
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
+
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
+
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
+
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
+
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
+
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
+
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
+
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
+
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
+
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
+
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
+
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
+
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
+
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
+
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
+
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
+
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
+
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
+
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
+
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
+
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
+
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
+
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
+
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
+
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
+
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
+
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
+
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
+
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
+
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
+
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
+
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
+
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
+
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
+
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
+
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
+
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
+
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
+
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
+
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
+
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
+
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
+
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
+
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
+
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
+
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
+
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
+
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
+
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
+
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
+
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
+
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
+
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
+
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
+
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
|
+
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
+
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
+
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
+
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
+
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
+
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
+
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
+
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
+
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
+
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
+
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
+
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
+
<a name='L369'></a><a href='#L369'>369</a>
|
|
435
|
+
<a name='L370'></a><a href='#L370'>370</a>
|
|
436
|
+
<a name='L371'></a><a href='#L371'>371</a>
|
|
437
|
+
<a name='L372'></a><a href='#L372'>372</a>
|
|
438
|
+
<a name='L373'></a><a href='#L373'>373</a>
|
|
439
|
+
<a name='L374'></a><a href='#L374'>374</a>
|
|
440
|
+
<a name='L375'></a><a href='#L375'>375</a>
|
|
441
|
+
<a name='L376'></a><a href='#L376'>376</a>
|
|
442
|
+
<a name='L377'></a><a href='#L377'>377</a>
|
|
443
|
+
<a name='L378'></a><a href='#L378'>378</a>
|
|
444
|
+
<a name='L379'></a><a href='#L379'>379</a>
|
|
445
|
+
<a name='L380'></a><a href='#L380'>380</a>
|
|
446
|
+
<a name='L381'></a><a href='#L381'>381</a>
|
|
447
|
+
<a name='L382'></a><a href='#L382'>382</a>
|
|
448
|
+
<a name='L383'></a><a href='#L383'>383</a>
|
|
449
|
+
<a name='L384'></a><a href='#L384'>384</a>
|
|
450
|
+
<a name='L385'></a><a href='#L385'>385</a>
|
|
451
|
+
<a name='L386'></a><a href='#L386'>386</a>
|
|
452
|
+
<a name='L387'></a><a href='#L387'>387</a>
|
|
453
|
+
<a name='L388'></a><a href='#L388'>388</a>
|
|
454
|
+
<a name='L389'></a><a href='#L389'>389</a>
|
|
455
|
+
<a name='L390'></a><a href='#L390'>390</a>
|
|
456
|
+
<a name='L391'></a><a href='#L391'>391</a>
|
|
457
|
+
<a name='L392'></a><a href='#L392'>392</a>
|
|
458
|
+
<a name='L393'></a><a href='#L393'>393</a>
|
|
459
|
+
<a name='L394'></a><a href='#L394'>394</a>
|
|
460
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
461
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
462
|
+
<a name='L397'></a><a href='#L397'>397</a>
|
|
463
|
+
<a name='L398'></a><a href='#L398'>398</a>
|
|
464
|
+
<a name='L399'></a><a href='#L399'>399</a>
|
|
465
|
+
<a name='L400'></a><a href='#L400'>400</a>
|
|
466
|
+
<a name='L401'></a><a href='#L401'>401</a>
|
|
467
|
+
<a name='L402'></a><a href='#L402'>402</a>
|
|
468
|
+
<a name='L403'></a><a href='#L403'>403</a>
|
|
469
|
+
<a name='L404'></a><a href='#L404'>404</a>
|
|
470
|
+
<a name='L405'></a><a href='#L405'>405</a>
|
|
471
|
+
<a name='L406'></a><a href='#L406'>406</a>
|
|
472
|
+
<a name='L407'></a><a href='#L407'>407</a>
|
|
473
|
+
<a name='L408'></a><a href='#L408'>408</a>
|
|
474
|
+
<a name='L409'></a><a href='#L409'>409</a>
|
|
475
|
+
<a name='L410'></a><a href='#L410'>410</a>
|
|
476
|
+
<a name='L411'></a><a href='#L411'>411</a>
|
|
477
|
+
<a name='L412'></a><a href='#L412'>412</a>
|
|
478
|
+
<a name='L413'></a><a href='#L413'>413</a>
|
|
479
|
+
<a name='L414'></a><a href='#L414'>414</a>
|
|
480
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
481
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
482
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
483
|
+
<a name='L418'></a><a href='#L418'>418</a>
|
|
484
|
+
<a name='L419'></a><a href='#L419'>419</a>
|
|
485
|
+
<a name='L420'></a><a href='#L420'>420</a>
|
|
486
|
+
<a name='L421'></a><a href='#L421'>421</a>
|
|
487
|
+
<a name='L422'></a><a href='#L422'>422</a>
|
|
488
|
+
<a name='L423'></a><a href='#L423'>423</a>
|
|
489
|
+
<a name='L424'></a><a href='#L424'>424</a>
|
|
490
|
+
<a name='L425'></a><a href='#L425'>425</a>
|
|
491
|
+
<a name='L426'></a><a href='#L426'>426</a>
|
|
492
|
+
<a name='L427'></a><a href='#L427'>427</a>
|
|
493
|
+
<a name='L428'></a><a href='#L428'>428</a>
|
|
494
|
+
<a name='L429'></a><a href='#L429'>429</a>
|
|
495
|
+
<a name='L430'></a><a href='#L430'>430</a>
|
|
496
|
+
<a name='L431'></a><a href='#L431'>431</a>
|
|
497
|
+
<a name='L432'></a><a href='#L432'>432</a>
|
|
498
|
+
<a name='L433'></a><a href='#L433'>433</a>
|
|
499
|
+
<a name='L434'></a><a href='#L434'>434</a>
|
|
500
|
+
<a name='L435'></a><a href='#L435'>435</a>
|
|
501
|
+
<a name='L436'></a><a href='#L436'>436</a>
|
|
502
|
+
<a name='L437'></a><a href='#L437'>437</a>
|
|
503
|
+
<a name='L438'></a><a href='#L438'>438</a>
|
|
504
|
+
<a name='L439'></a><a href='#L439'>439</a>
|
|
505
|
+
<a name='L440'></a><a href='#L440'>440</a>
|
|
506
|
+
<a name='L441'></a><a href='#L441'>441</a>
|
|
507
|
+
<a name='L442'></a><a href='#L442'>442</a>
|
|
508
|
+
<a name='L443'></a><a href='#L443'>443</a>
|
|
509
|
+
<a name='L444'></a><a href='#L444'>444</a>
|
|
510
|
+
<a name='L445'></a><a href='#L445'>445</a>
|
|
511
|
+
<a name='L446'></a><a href='#L446'>446</a>
|
|
512
|
+
<a name='L447'></a><a href='#L447'>447</a>
|
|
513
|
+
<a name='L448'></a><a href='#L448'>448</a>
|
|
514
|
+
<a name='L449'></a><a href='#L449'>449</a>
|
|
515
|
+
<a name='L450'></a><a href='#L450'>450</a>
|
|
516
|
+
<a name='L451'></a><a href='#L451'>451</a>
|
|
517
|
+
<a name='L452'></a><a href='#L452'>452</a>
|
|
518
|
+
<a name='L453'></a><a href='#L453'>453</a>
|
|
519
|
+
<a name='L454'></a><a href='#L454'>454</a>
|
|
520
|
+
<a name='L455'></a><a href='#L455'>455</a>
|
|
521
|
+
<a name='L456'></a><a href='#L456'>456</a>
|
|
522
|
+
<a name='L457'></a><a href='#L457'>457</a>
|
|
523
|
+
<a name='L458'></a><a href='#L458'>458</a>
|
|
524
|
+
<a name='L459'></a><a href='#L459'>459</a>
|
|
525
|
+
<a name='L460'></a><a href='#L460'>460</a>
|
|
526
|
+
<a name='L461'></a><a href='#L461'>461</a>
|
|
527
|
+
<a name='L462'></a><a href='#L462'>462</a>
|
|
528
|
+
<a name='L463'></a><a href='#L463'>463</a>
|
|
529
|
+
<a name='L464'></a><a href='#L464'>464</a>
|
|
530
|
+
<a name='L465'></a><a href='#L465'>465</a>
|
|
531
|
+
<a name='L466'></a><a href='#L466'>466</a>
|
|
532
|
+
<a name='L467'></a><a href='#L467'>467</a>
|
|
533
|
+
<a name='L468'></a><a href='#L468'>468</a>
|
|
534
|
+
<a name='L469'></a><a href='#L469'>469</a>
|
|
535
|
+
<a name='L470'></a><a href='#L470'>470</a>
|
|
536
|
+
<a name='L471'></a><a href='#L471'>471</a>
|
|
537
|
+
<a name='L472'></a><a href='#L472'>472</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
538
|
+
<span class="cline-any cline-neutral"> </span>
|
|
539
|
+
<span class="cline-any cline-neutral"> </span>
|
|
540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
541
|
+
<span class="cline-any cline-neutral"> </span>
|
|
542
|
+
<span class="cline-any cline-neutral"> </span>
|
|
543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
544
|
+
<span class="cline-any cline-neutral"> </span>
|
|
545
|
+
<span class="cline-any cline-neutral"> </span>
|
|
546
|
+
<span class="cline-any cline-neutral"> </span>
|
|
547
|
+
<span class="cline-any cline-neutral"> </span>
|
|
548
|
+
<span class="cline-any cline-neutral"> </span>
|
|
549
|
+
<span class="cline-any cline-neutral"> </span>
|
|
550
|
+
<span class="cline-any cline-neutral"> </span>
|
|
551
|
+
<span class="cline-any cline-neutral"> </span>
|
|
552
|
+
<span class="cline-any cline-neutral"> </span>
|
|
553
|
+
<span class="cline-any cline-neutral"> </span>
|
|
554
|
+
<span class="cline-any cline-yes">1x</span>
|
|
555
|
+
<span class="cline-any cline-neutral"> </span>
|
|
556
|
+
<span class="cline-any cline-yes">4x</span>
|
|
557
|
+
<span class="cline-any cline-neutral"> </span>
|
|
558
|
+
<span class="cline-any cline-yes">4x</span>
|
|
559
|
+
<span class="cline-any cline-neutral"> </span>
|
|
560
|
+
<span class="cline-any cline-neutral"> </span>
|
|
561
|
+
<span class="cline-any cline-neutral"> </span>
|
|
562
|
+
<span class="cline-any cline-neutral"> </span>
|
|
563
|
+
<span class="cline-any cline-neutral"> </span>
|
|
564
|
+
<span class="cline-any cline-neutral"> </span>
|
|
565
|
+
<span class="cline-any cline-neutral"> </span>
|
|
566
|
+
<span class="cline-any cline-yes">4x</span>
|
|
567
|
+
<span class="cline-any cline-yes">4x</span>
|
|
568
|
+
<span class="cline-any cline-yes">4x</span>
|
|
569
|
+
<span class="cline-any cline-yes">4x</span>
|
|
570
|
+
<span class="cline-any cline-neutral"> </span>
|
|
571
|
+
<span class="cline-any cline-neutral"> </span>
|
|
572
|
+
<span class="cline-any cline-yes">4x</span>
|
|
573
|
+
<span class="cline-any cline-yes">4x</span>
|
|
574
|
+
<span class="cline-any cline-no"> </span>
|
|
575
|
+
<span class="cline-any cline-neutral"> </span>
|
|
576
|
+
<span class="cline-any cline-neutral"> </span>
|
|
577
|
+
<span class="cline-any cline-yes">4x</span>
|
|
578
|
+
<span class="cline-any cline-no"> </span>
|
|
579
|
+
<span class="cline-any cline-neutral"> </span>
|
|
580
|
+
<span class="cline-any cline-neutral"> </span>
|
|
581
|
+
<span class="cline-any cline-neutral"> </span>
|
|
582
|
+
<span class="cline-any cline-neutral"> </span>
|
|
583
|
+
<span class="cline-any cline-neutral"> </span>
|
|
584
|
+
<span class="cline-any cline-neutral"> </span>
|
|
585
|
+
<span class="cline-any cline-neutral"> </span>
|
|
586
|
+
<span class="cline-any cline-neutral"> </span>
|
|
587
|
+
<span class="cline-any cline-neutral"> </span>
|
|
588
|
+
<span class="cline-any cline-neutral"> </span>
|
|
589
|
+
<span class="cline-any cline-neutral"> </span>
|
|
590
|
+
<span class="cline-any cline-neutral"> </span>
|
|
591
|
+
<span class="cline-any cline-neutral"> </span>
|
|
592
|
+
<span class="cline-any cline-neutral"> </span>
|
|
593
|
+
<span class="cline-any cline-yes">1x</span>
|
|
594
|
+
<span class="cline-any cline-no"> </span>
|
|
595
|
+
<span class="cline-any cline-neutral"> </span>
|
|
596
|
+
<span class="cline-any cline-neutral"> </span>
|
|
597
|
+
<span class="cline-any cline-neutral"> </span>
|
|
598
|
+
<span class="cline-any cline-neutral"> </span>
|
|
599
|
+
<span class="cline-any cline-yes">1x</span>
|
|
600
|
+
<span class="cline-any cline-neutral"> </span>
|
|
601
|
+
<span class="cline-any cline-no"> </span>
|
|
602
|
+
<span class="cline-any cline-no"> </span>
|
|
603
|
+
<span class="cline-any cline-no"> </span>
|
|
604
|
+
<span class="cline-any cline-no"> </span>
|
|
605
|
+
<span class="cline-any cline-no"> </span>
|
|
606
|
+
<span class="cline-any cline-no"> </span>
|
|
607
|
+
<span class="cline-any cline-no"> </span>
|
|
608
|
+
<span class="cline-any cline-no"> </span>
|
|
609
|
+
<span class="cline-any cline-no"> </span>
|
|
610
|
+
<span class="cline-any cline-no"> </span>
|
|
611
|
+
<span class="cline-any cline-no"> </span>
|
|
612
|
+
<span class="cline-any cline-neutral"> </span>
|
|
613
|
+
<span class="cline-any cline-neutral"> </span>
|
|
614
|
+
<span class="cline-any cline-neutral"> </span>
|
|
615
|
+
<span class="cline-any cline-neutral"> </span>
|
|
616
|
+
<span class="cline-any cline-no"> </span>
|
|
617
|
+
<span class="cline-any cline-neutral"> </span>
|
|
618
|
+
<span class="cline-any cline-neutral"> </span>
|
|
619
|
+
<span class="cline-any cline-neutral"> </span>
|
|
620
|
+
<span class="cline-any cline-neutral"> </span>
|
|
621
|
+
<span class="cline-any cline-neutral"> </span>
|
|
622
|
+
<span class="cline-any cline-neutral"> </span>
|
|
623
|
+
<span class="cline-any cline-neutral"> </span>
|
|
624
|
+
<span class="cline-any cline-yes">1x</span>
|
|
625
|
+
<span class="cline-any cline-no"> </span>
|
|
626
|
+
<span class="cline-any cline-neutral"> </span>
|
|
627
|
+
<span class="cline-any cline-no"> </span>
|
|
628
|
+
<span class="cline-any cline-no"> </span>
|
|
629
|
+
<span class="cline-any cline-no"> </span>
|
|
630
|
+
<span class="cline-any cline-neutral"> </span>
|
|
631
|
+
<span class="cline-any cline-neutral"> </span>
|
|
632
|
+
<span class="cline-any cline-neutral"> </span>
|
|
633
|
+
<span class="cline-any cline-no"> </span>
|
|
634
|
+
<span class="cline-any cline-no"> </span>
|
|
635
|
+
<span class="cline-any cline-neutral"> </span>
|
|
636
|
+
<span class="cline-any cline-no"> </span>
|
|
637
|
+
<span class="cline-any cline-neutral"> </span>
|
|
638
|
+
<span class="cline-any cline-neutral"> </span>
|
|
639
|
+
<span class="cline-any cline-neutral"> </span>
|
|
640
|
+
<span class="cline-any cline-neutral"> </span>
|
|
641
|
+
<span class="cline-any cline-yes">1x</span>
|
|
642
|
+
<span class="cline-any cline-no"> </span>
|
|
643
|
+
<span class="cline-any cline-no"> </span>
|
|
644
|
+
<span class="cline-any cline-neutral"> </span>
|
|
645
|
+
<span class="cline-any cline-neutral"> </span>
|
|
646
|
+
<span class="cline-any cline-no"> </span>
|
|
647
|
+
<span class="cline-any cline-no"> </span>
|
|
648
|
+
<span class="cline-any cline-no"> </span>
|
|
649
|
+
<span class="cline-any cline-no"> </span>
|
|
650
|
+
<span class="cline-any cline-neutral"> </span>
|
|
651
|
+
<span class="cline-any cline-no"> </span>
|
|
652
|
+
<span class="cline-any cline-no"> </span>
|
|
653
|
+
<span class="cline-any cline-no"> </span>
|
|
654
|
+
<span class="cline-any cline-no"> </span>
|
|
655
|
+
<span class="cline-any cline-neutral"> </span>
|
|
656
|
+
<span class="cline-any cline-no"> </span>
|
|
657
|
+
<span class="cline-any cline-neutral"> </span>
|
|
658
|
+
<span class="cline-any cline-neutral"> </span>
|
|
659
|
+
<span class="cline-any cline-neutral"> </span>
|
|
660
|
+
<span class="cline-any cline-neutral"> </span>
|
|
661
|
+
<span class="cline-any cline-neutral"> </span>
|
|
662
|
+
<span class="cline-any cline-neutral"> </span>
|
|
663
|
+
<span class="cline-any cline-neutral"> </span>
|
|
664
|
+
<span class="cline-any cline-neutral"> </span>
|
|
665
|
+
<span class="cline-any cline-neutral"> </span>
|
|
666
|
+
<span class="cline-any cline-no"> </span>
|
|
667
|
+
<span class="cline-any cline-no"> </span>
|
|
668
|
+
<span class="cline-any cline-no"> </span>
|
|
669
|
+
<span class="cline-any cline-neutral"> </span>
|
|
670
|
+
<span class="cline-any cline-neutral"> </span>
|
|
671
|
+
<span class="cline-any cline-neutral"> </span>
|
|
672
|
+
<span class="cline-any cline-neutral"> </span>
|
|
673
|
+
<span class="cline-any cline-neutral"> </span>
|
|
674
|
+
<span class="cline-any cline-neutral"> </span>
|
|
675
|
+
<span class="cline-any cline-neutral"> </span>
|
|
676
|
+
<span class="cline-any cline-neutral"> </span>
|
|
677
|
+
<span class="cline-any cline-neutral"> </span>
|
|
678
|
+
<span class="cline-any cline-neutral"> </span>
|
|
679
|
+
<span class="cline-any cline-neutral"> </span>
|
|
680
|
+
<span class="cline-any cline-neutral"> </span>
|
|
681
|
+
<span class="cline-any cline-neutral"> </span>
|
|
682
|
+
<span class="cline-any cline-neutral"> </span>
|
|
683
|
+
<span class="cline-any cline-neutral"> </span>
|
|
684
|
+
<span class="cline-any cline-neutral"> </span>
|
|
685
|
+
<span class="cline-any cline-neutral"> </span>
|
|
686
|
+
<span class="cline-any cline-neutral"> </span>
|
|
687
|
+
<span class="cline-any cline-neutral"> </span>
|
|
688
|
+
<span class="cline-any cline-neutral"> </span>
|
|
689
|
+
<span class="cline-any cline-neutral"> </span>
|
|
690
|
+
<span class="cline-any cline-no"> </span>
|
|
691
|
+
<span class="cline-any cline-no"> </span>
|
|
692
|
+
<span class="cline-any cline-no"> </span>
|
|
693
|
+
<span class="cline-any cline-neutral"> </span>
|
|
694
|
+
<span class="cline-any cline-neutral"> </span>
|
|
695
|
+
<span class="cline-any cline-no"> </span>
|
|
696
|
+
<span class="cline-any cline-no"> </span>
|
|
697
|
+
<span class="cline-any cline-neutral"> </span>
|
|
698
|
+
<span class="cline-any cline-no"> </span>
|
|
699
|
+
<span class="cline-any cline-neutral"> </span>
|
|
700
|
+
<span class="cline-any cline-neutral"> </span>
|
|
701
|
+
<span class="cline-any cline-no"> </span>
|
|
702
|
+
<span class="cline-any cline-neutral"> </span>
|
|
703
|
+
<span class="cline-any cline-neutral"> </span>
|
|
704
|
+
<span class="cline-any cline-neutral"> </span>
|
|
705
|
+
<span class="cline-any cline-neutral"> </span>
|
|
706
|
+
<span class="cline-any cline-neutral"> </span>
|
|
707
|
+
<span class="cline-any cline-no"> </span>
|
|
708
|
+
<span class="cline-any cline-no"> </span>
|
|
709
|
+
<span class="cline-any cline-no"> </span>
|
|
710
|
+
<span class="cline-any cline-no"> </span>
|
|
711
|
+
<span class="cline-any cline-no"> </span>
|
|
712
|
+
<span class="cline-any cline-no"> </span>
|
|
713
|
+
<span class="cline-any cline-neutral"> </span>
|
|
714
|
+
<span class="cline-any cline-no"> </span>
|
|
715
|
+
<span class="cline-any cline-neutral"> </span>
|
|
716
|
+
<span class="cline-any cline-no"> </span>
|
|
717
|
+
<span class="cline-any cline-neutral"> </span>
|
|
718
|
+
<span class="cline-any cline-neutral"> </span>
|
|
719
|
+
<span class="cline-any cline-neutral"> </span>
|
|
720
|
+
<span class="cline-any cline-no"> </span>
|
|
721
|
+
<span class="cline-any cline-no"> </span>
|
|
722
|
+
<span class="cline-any cline-neutral"> </span>
|
|
723
|
+
<span class="cline-any cline-neutral"> </span>
|
|
724
|
+
<span class="cline-any cline-no"> </span>
|
|
725
|
+
<span class="cline-any cline-neutral"> </span>
|
|
726
|
+
<span class="cline-any cline-no"> </span>
|
|
727
|
+
<span class="cline-any cline-neutral"> </span>
|
|
728
|
+
<span class="cline-any cline-neutral"> </span>
|
|
729
|
+
<span class="cline-any cline-neutral"> </span>
|
|
730
|
+
<span class="cline-any cline-neutral"> </span>
|
|
731
|
+
<span class="cline-any cline-neutral"> </span>
|
|
732
|
+
<span class="cline-any cline-neutral"> </span>
|
|
733
|
+
<span class="cline-any cline-neutral"> </span>
|
|
734
|
+
<span class="cline-any cline-yes">1x</span>
|
|
735
|
+
<span class="cline-any cline-no"> </span>
|
|
736
|
+
<span class="cline-any cline-no"> </span>
|
|
737
|
+
<span class="cline-any cline-no"> </span>
|
|
738
|
+
<span class="cline-any cline-neutral"> </span>
|
|
739
|
+
<span class="cline-any cline-neutral"> </span>
|
|
740
|
+
<span class="cline-any cline-neutral"> </span>
|
|
741
|
+
<span class="cline-any cline-neutral"> </span>
|
|
742
|
+
<span class="cline-any cline-neutral"> </span>
|
|
743
|
+
<span class="cline-any cline-neutral"> </span>
|
|
744
|
+
<span class="cline-any cline-neutral"> </span>
|
|
745
|
+
<span class="cline-any cline-neutral"> </span>
|
|
746
|
+
<span class="cline-any cline-neutral"> </span>
|
|
747
|
+
<span class="cline-any cline-yes">1x</span>
|
|
748
|
+
<span class="cline-any cline-neutral"> </span>
|
|
749
|
+
<span class="cline-any cline-neutral"> </span>
|
|
750
|
+
<span class="cline-any cline-neutral"> </span>
|
|
751
|
+
<span class="cline-any cline-neutral"> </span>
|
|
752
|
+
<span class="cline-any cline-no"> </span>
|
|
753
|
+
<span class="cline-any cline-neutral"> </span>
|
|
754
|
+
<span class="cline-any cline-neutral"> </span>
|
|
755
|
+
<span class="cline-any cline-neutral"> </span>
|
|
756
|
+
<span class="cline-any cline-neutral"> </span>
|
|
757
|
+
<span class="cline-any cline-neutral"> </span>
|
|
758
|
+
<span class="cline-any cline-neutral"> </span>
|
|
759
|
+
<span class="cline-any cline-neutral"> </span>
|
|
760
|
+
<span class="cline-any cline-neutral"> </span>
|
|
761
|
+
<span class="cline-any cline-neutral"> </span>
|
|
762
|
+
<span class="cline-any cline-neutral"> </span>
|
|
763
|
+
<span class="cline-any cline-neutral"> </span>
|
|
764
|
+
<span class="cline-any cline-neutral"> </span>
|
|
765
|
+
<span class="cline-any cline-neutral"> </span>
|
|
766
|
+
<span class="cline-any cline-neutral"> </span>
|
|
767
|
+
<span class="cline-any cline-neutral"> </span>
|
|
768
|
+
<span class="cline-any cline-neutral"> </span>
|
|
769
|
+
<span class="cline-any cline-neutral"> </span>
|
|
770
|
+
<span class="cline-any cline-neutral"> </span>
|
|
771
|
+
<span class="cline-any cline-neutral"> </span>
|
|
772
|
+
<span class="cline-any cline-neutral"> </span>
|
|
773
|
+
<span class="cline-any cline-neutral"> </span>
|
|
774
|
+
<span class="cline-any cline-neutral"> </span>
|
|
775
|
+
<span class="cline-any cline-neutral"> </span>
|
|
776
|
+
<span class="cline-any cline-neutral"> </span>
|
|
777
|
+
<span class="cline-any cline-neutral"> </span>
|
|
778
|
+
<span class="cline-any cline-neutral"> </span>
|
|
779
|
+
<span class="cline-any cline-neutral"> </span>
|
|
780
|
+
<span class="cline-any cline-neutral"> </span>
|
|
781
|
+
<span class="cline-any cline-neutral"> </span>
|
|
782
|
+
<span class="cline-any cline-neutral"> </span>
|
|
783
|
+
<span class="cline-any cline-neutral"> </span>
|
|
784
|
+
<span class="cline-any cline-neutral"> </span>
|
|
785
|
+
<span class="cline-any cline-neutral"> </span>
|
|
786
|
+
<span class="cline-any cline-neutral"> </span>
|
|
787
|
+
<span class="cline-any cline-neutral"> </span>
|
|
788
|
+
<span class="cline-any cline-neutral"> </span>
|
|
789
|
+
<span class="cline-any cline-neutral"> </span>
|
|
790
|
+
<span class="cline-any cline-neutral"> </span>
|
|
791
|
+
<span class="cline-any cline-neutral"> </span>
|
|
792
|
+
<span class="cline-any cline-neutral"> </span>
|
|
793
|
+
<span class="cline-any cline-neutral"> </span>
|
|
794
|
+
<span class="cline-any cline-neutral"> </span>
|
|
795
|
+
<span class="cline-any cline-neutral"> </span>
|
|
796
|
+
<span class="cline-any cline-neutral"> </span>
|
|
797
|
+
<span class="cline-any cline-neutral"> </span>
|
|
798
|
+
<span class="cline-any cline-neutral"> </span>
|
|
799
|
+
<span class="cline-any cline-neutral"> </span>
|
|
800
|
+
<span class="cline-any cline-neutral"> </span>
|
|
801
|
+
<span class="cline-any cline-neutral"> </span>
|
|
802
|
+
<span class="cline-any cline-neutral"> </span>
|
|
803
|
+
<span class="cline-any cline-neutral"> </span>
|
|
804
|
+
<span class="cline-any cline-neutral"> </span>
|
|
805
|
+
<span class="cline-any cline-neutral"> </span>
|
|
806
|
+
<span class="cline-any cline-neutral"> </span>
|
|
807
|
+
<span class="cline-any cline-no"> </span>
|
|
808
|
+
<span class="cline-any cline-neutral"> </span>
|
|
809
|
+
<span class="cline-any cline-no"> </span>
|
|
810
|
+
<span class="cline-any cline-no"> </span>
|
|
811
|
+
<span class="cline-any cline-no"> </span>
|
|
812
|
+
<span class="cline-any cline-no"> </span>
|
|
813
|
+
<span class="cline-any cline-no"> </span>
|
|
814
|
+
<span class="cline-any cline-no"> </span>
|
|
815
|
+
<span class="cline-any cline-no"> </span>
|
|
816
|
+
<span class="cline-any cline-no"> </span>
|
|
817
|
+
<span class="cline-any cline-no"> </span>
|
|
818
|
+
<span class="cline-any cline-no"> </span>
|
|
819
|
+
<span class="cline-any cline-no"> </span>
|
|
820
|
+
<span class="cline-any cline-no"> </span>
|
|
821
|
+
<span class="cline-any cline-no"> </span>
|
|
822
|
+
<span class="cline-any cline-no"> </span>
|
|
823
|
+
<span class="cline-any cline-no"> </span>
|
|
824
|
+
<span class="cline-any cline-no"> </span>
|
|
825
|
+
<span class="cline-any cline-no"> </span>
|
|
826
|
+
<span class="cline-any cline-no"> </span>
|
|
827
|
+
<span class="cline-any cline-no"> </span>
|
|
828
|
+
<span class="cline-any cline-no"> </span>
|
|
829
|
+
<span class="cline-any cline-no"> </span>
|
|
830
|
+
<span class="cline-any cline-no"> </span>
|
|
831
|
+
<span class="cline-any cline-no"> </span>
|
|
832
|
+
<span class="cline-any cline-no"> </span>
|
|
833
|
+
<span class="cline-any cline-no"> </span>
|
|
834
|
+
<span class="cline-any cline-no"> </span>
|
|
835
|
+
<span class="cline-any cline-no"> </span>
|
|
836
|
+
<span class="cline-any cline-no"> </span>
|
|
837
|
+
<span class="cline-any cline-no"> </span>
|
|
838
|
+
<span class="cline-any cline-no"> </span>
|
|
839
|
+
<span class="cline-any cline-no"> </span>
|
|
840
|
+
<span class="cline-any cline-no"> </span>
|
|
841
|
+
<span class="cline-any cline-no"> </span>
|
|
842
|
+
<span class="cline-any cline-no"> </span>
|
|
843
|
+
<span class="cline-any cline-no"> </span>
|
|
844
|
+
<span class="cline-any cline-no"> </span>
|
|
845
|
+
<span class="cline-any cline-no"> </span>
|
|
846
|
+
<span class="cline-any cline-no"> </span>
|
|
847
|
+
<span class="cline-any cline-no"> </span>
|
|
848
|
+
<span class="cline-any cline-no"> </span>
|
|
849
|
+
<span class="cline-any cline-no"> </span>
|
|
850
|
+
<span class="cline-any cline-no"> </span>
|
|
851
|
+
<span class="cline-any cline-no"> </span>
|
|
852
|
+
<span class="cline-any cline-no"> </span>
|
|
853
|
+
<span class="cline-any cline-no"> </span>
|
|
854
|
+
<span class="cline-any cline-no"> </span>
|
|
855
|
+
<span class="cline-any cline-no"> </span>
|
|
856
|
+
<span class="cline-any cline-no"> </span>
|
|
857
|
+
<span class="cline-any cline-no"> </span>
|
|
858
|
+
<span class="cline-any cline-no"> </span>
|
|
859
|
+
<span class="cline-any cline-no"> </span>
|
|
860
|
+
<span class="cline-any cline-neutral"> </span>
|
|
861
|
+
<span class="cline-any cline-no"> </span>
|
|
862
|
+
<span class="cline-any cline-no"> </span>
|
|
863
|
+
<span class="cline-any cline-neutral"> </span>
|
|
864
|
+
<span class="cline-any cline-no"> </span>
|
|
865
|
+
<span class="cline-any cline-no"> </span>
|
|
866
|
+
<span class="cline-any cline-neutral"> </span>
|
|
867
|
+
<span class="cline-any cline-neutral"> </span>
|
|
868
|
+
<span class="cline-any cline-neutral"> </span>
|
|
869
|
+
<span class="cline-any cline-no"> </span>
|
|
870
|
+
<span class="cline-any cline-neutral"> </span>
|
|
871
|
+
<span class="cline-any cline-neutral"> </span>
|
|
872
|
+
<span class="cline-any cline-neutral"> </span>
|
|
873
|
+
<span class="cline-any cline-neutral"> </span>
|
|
874
|
+
<span class="cline-any cline-neutral"> </span>
|
|
875
|
+
<span class="cline-any cline-neutral"> </span>
|
|
876
|
+
<span class="cline-any cline-neutral"> </span>
|
|
877
|
+
<span class="cline-any cline-neutral"> </span>
|
|
878
|
+
<span class="cline-any cline-neutral"> </span>
|
|
879
|
+
<span class="cline-any cline-neutral"> </span>
|
|
880
|
+
<span class="cline-any cline-neutral"> </span>
|
|
881
|
+
<span class="cline-any cline-neutral"> </span>
|
|
882
|
+
<span class="cline-any cline-neutral"> </span>
|
|
883
|
+
<span class="cline-any cline-neutral"> </span>
|
|
884
|
+
<span class="cline-any cline-neutral"> </span>
|
|
885
|
+
<span class="cline-any cline-neutral"> </span>
|
|
886
|
+
<span class="cline-any cline-neutral"> </span>
|
|
887
|
+
<span class="cline-any cline-neutral"> </span>
|
|
888
|
+
<span class="cline-any cline-neutral"> </span>
|
|
889
|
+
<span class="cline-any cline-neutral"> </span>
|
|
890
|
+
<span class="cline-any cline-neutral"> </span>
|
|
891
|
+
<span class="cline-any cline-neutral"> </span>
|
|
892
|
+
<span class="cline-any cline-neutral"> </span>
|
|
893
|
+
<span class="cline-any cline-neutral"> </span>
|
|
894
|
+
<span class="cline-any cline-neutral"> </span>
|
|
895
|
+
<span class="cline-any cline-neutral"> </span>
|
|
896
|
+
<span class="cline-any cline-neutral"> </span>
|
|
897
|
+
<span class="cline-any cline-neutral"> </span>
|
|
898
|
+
<span class="cline-any cline-neutral"> </span>
|
|
899
|
+
<span class="cline-any cline-neutral"> </span>
|
|
900
|
+
<span class="cline-any cline-neutral"> </span>
|
|
901
|
+
<span class="cline-any cline-neutral"> </span>
|
|
902
|
+
<span class="cline-any cline-neutral"> </span>
|
|
903
|
+
<span class="cline-any cline-neutral"> </span>
|
|
904
|
+
<span class="cline-any cline-neutral"> </span>
|
|
905
|
+
<span class="cline-any cline-neutral"> </span>
|
|
906
|
+
<span class="cline-any cline-neutral"> </span>
|
|
907
|
+
<span class="cline-any cline-neutral"> </span>
|
|
908
|
+
<span class="cline-any cline-neutral"> </span>
|
|
909
|
+
<span class="cline-any cline-neutral"> </span>
|
|
910
|
+
<span class="cline-any cline-neutral"> </span>
|
|
911
|
+
<span class="cline-any cline-neutral"> </span>
|
|
912
|
+
<span class="cline-any cline-neutral"> </span>
|
|
913
|
+
<span class="cline-any cline-neutral"> </span>
|
|
914
|
+
<span class="cline-any cline-neutral"> </span>
|
|
915
|
+
<span class="cline-any cline-neutral"> </span>
|
|
916
|
+
<span class="cline-any cline-neutral"> </span>
|
|
917
|
+
<span class="cline-any cline-neutral"> </span>
|
|
918
|
+
<span class="cline-any cline-neutral"> </span>
|
|
919
|
+
<span class="cline-any cline-neutral"> </span>
|
|
920
|
+
<span class="cline-any cline-neutral"> </span>
|
|
921
|
+
<span class="cline-any cline-neutral"> </span>
|
|
922
|
+
<span class="cline-any cline-neutral"> </span>
|
|
923
|
+
<span class="cline-any cline-neutral"> </span>
|
|
924
|
+
<span class="cline-any cline-neutral"> </span>
|
|
925
|
+
<span class="cline-any cline-neutral"> </span>
|
|
926
|
+
<span class="cline-any cline-neutral"> </span>
|
|
927
|
+
<span class="cline-any cline-neutral"> </span>
|
|
928
|
+
<span class="cline-any cline-neutral"> </span>
|
|
929
|
+
<span class="cline-any cline-neutral"> </span>
|
|
930
|
+
<span class="cline-any cline-neutral"> </span>
|
|
931
|
+
<span class="cline-any cline-neutral"> </span>
|
|
932
|
+
<span class="cline-any cline-neutral"> </span>
|
|
933
|
+
<span class="cline-any cline-neutral"> </span>
|
|
934
|
+
<span class="cline-any cline-neutral"> </span>
|
|
935
|
+
<span class="cline-any cline-neutral"> </span>
|
|
936
|
+
<span class="cline-any cline-neutral"> </span>
|
|
937
|
+
<span class="cline-any cline-neutral"> </span>
|
|
938
|
+
<span class="cline-any cline-neutral"> </span>
|
|
939
|
+
<span class="cline-any cline-neutral"> </span>
|
|
940
|
+
<span class="cline-any cline-neutral"> </span>
|
|
941
|
+
<span class="cline-any cline-neutral"> </span>
|
|
942
|
+
<span class="cline-any cline-neutral"> </span>
|
|
943
|
+
<span class="cline-any cline-neutral"> </span>
|
|
944
|
+
<span class="cline-any cline-neutral"> </span>
|
|
945
|
+
<span class="cline-any cline-neutral"> </span>
|
|
946
|
+
<span class="cline-any cline-neutral"> </span>
|
|
947
|
+
<span class="cline-any cline-neutral"> </span>
|
|
948
|
+
<span class="cline-any cline-neutral"> </span>
|
|
949
|
+
<span class="cline-any cline-neutral"> </span>
|
|
950
|
+
<span class="cline-any cline-neutral"> </span>
|
|
951
|
+
<span class="cline-any cline-neutral"> </span>
|
|
952
|
+
<span class="cline-any cline-neutral"> </span>
|
|
953
|
+
<span class="cline-any cline-neutral"> </span>
|
|
954
|
+
<span class="cline-any cline-neutral"> </span>
|
|
955
|
+
<span class="cline-any cline-neutral"> </span>
|
|
956
|
+
<span class="cline-any cline-neutral"> </span>
|
|
957
|
+
<span class="cline-any cline-neutral"> </span>
|
|
958
|
+
<span class="cline-any cline-neutral"> </span>
|
|
959
|
+
<span class="cline-any cline-neutral"> </span>
|
|
960
|
+
<span class="cline-any cline-neutral"> </span>
|
|
961
|
+
<span class="cline-any cline-neutral"> </span>
|
|
962
|
+
<span class="cline-any cline-neutral"> </span>
|
|
963
|
+
<span class="cline-any cline-neutral"> </span>
|
|
964
|
+
<span class="cline-any cline-neutral"> </span>
|
|
965
|
+
<span class="cline-any cline-neutral"> </span>
|
|
966
|
+
<span class="cline-any cline-neutral"> </span>
|
|
967
|
+
<span class="cline-any cline-neutral"> </span>
|
|
968
|
+
<span class="cline-any cline-neutral"> </span>
|
|
969
|
+
<span class="cline-any cline-neutral"> </span>
|
|
970
|
+
<span class="cline-any cline-neutral"> </span>
|
|
971
|
+
<span class="cline-any cline-neutral"> </span>
|
|
972
|
+
<span class="cline-any cline-neutral"> </span>
|
|
973
|
+
<span class="cline-any cline-neutral"> </span>
|
|
974
|
+
<span class="cline-any cline-neutral"> </span>
|
|
975
|
+
<span class="cline-any cline-neutral"> </span>
|
|
976
|
+
<span class="cline-any cline-neutral"> </span>
|
|
977
|
+
<span class="cline-any cline-neutral"> </span>
|
|
978
|
+
<span class="cline-any cline-neutral"> </span>
|
|
979
|
+
<span class="cline-any cline-neutral"> </span>
|
|
980
|
+
<span class="cline-any cline-neutral"> </span>
|
|
981
|
+
<span class="cline-any cline-neutral"> </span>
|
|
982
|
+
<span class="cline-any cline-neutral"> </span>
|
|
983
|
+
<span class="cline-any cline-neutral"> </span>
|
|
984
|
+
<span class="cline-any cline-neutral"> </span>
|
|
985
|
+
<span class="cline-any cline-neutral"> </span>
|
|
986
|
+
<span class="cline-any cline-neutral"> </span>
|
|
987
|
+
<span class="cline-any cline-neutral"> </span>
|
|
988
|
+
<span class="cline-any cline-neutral"> </span>
|
|
989
|
+
<span class="cline-any cline-neutral"> </span>
|
|
990
|
+
<span class="cline-any cline-neutral"> </span>
|
|
991
|
+
<span class="cline-any cline-neutral"> </span>
|
|
992
|
+
<span class="cline-any cline-neutral"> </span>
|
|
993
|
+
<span class="cline-any cline-neutral"> </span>
|
|
994
|
+
<span class="cline-any cline-neutral"> </span>
|
|
995
|
+
<span class="cline-any cline-neutral"> </span>
|
|
996
|
+
<span class="cline-any cline-neutral"> </span>
|
|
997
|
+
<span class="cline-any cline-neutral"> </span>
|
|
998
|
+
<span class="cline-any cline-neutral"> </span>
|
|
999
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1000
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1001
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1002
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1003
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1004
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1005
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1006
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1007
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1008
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { HttpClient } from '@angular/common/http';
|
|
1009
|
+
import { Injectable } from '@angular/core';
|
|
1010
|
+
// import * as translations from '../utils/translations';
|
|
1011
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
1012
|
+
import { environment } from '../../environments/environment';
|
|
1013
|
+
|
|
1014
|
+
import { throwError as observableThrowError, Observable } from 'rxjs';
|
|
1015
|
+
import { catchError, tap } from 'rxjs/operators';
|
|
1016
|
+
// import 'rxjs/add/observable/throw';
|
|
1017
|
+
// import 'rxjs/add/operator/catch';
|
|
1018
|
+
import { Globals } from '../utils/globals';
|
|
1019
|
+
|
|
1020
|
+
import { AppConfigService } from './app-config.service';
|
|
1021
|
+
import { LoggerService } from '../../chat21-core/providers/abstract/logger.service';
|
|
1022
|
+
import { LoggerInstance } from '../../chat21-core/providers/logger/loggerInstance';
|
|
1023
|
+
|
|
1024
|
+
@Injectable()
|
|
1025
|
+
export class TranslatorService {
|
|
1026
|
+
|
|
1027
|
+
private defaultLanguage = 'en'; // default language
|
|
1028
|
+
private language: string; // user language
|
|
1029
|
+
private logger: LoggerService = LoggerInstance.getInstance()
|
|
1030
|
+
// private translations: Object;
|
|
1031
|
+
|
|
1032
|
+
translated_string: any;
|
|
1033
|
+
baseLocation: string;
|
|
1034
|
+
remoteTranslationsUrl: string;
|
|
1035
|
+
|
|
1036
|
+
constructor(
|
|
1037
|
+
private _translate: TranslateService,
|
|
1038
|
+
public http: HttpClient,
|
|
1039
|
+
public g: Globals,
|
|
1040
|
+
public appConfigService: AppConfigService
|
|
1041
|
+
) {
|
|
1042
|
+
|
|
1043
|
+
let windowContext: Window = window;
|
|
1044
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (window.frameElement && window.frameElement.getAttribute('tiledesk_context') === 'parent') {
|
|
1045
|
+
<span class="cstat-no" title="statement not covered" > windowContext = window.parent;</span>
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (windowContext['tiledesk']) {
|
|
1049
|
+
<span class="cstat-no" title="statement not covered" > this.baseLocation = windowContext['tiledesk'].getBaseLocation();</span>
|
|
1050
|
+
// console.log(`»»»» initI18n baseLocation`, this.baseLocation);
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
// this.initializeTransaltorService()
|
|
1054
|
+
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
/**
|
|
1058
|
+
*
|
|
1059
|
+
* Return the browser language
|
|
1060
|
+
* used by humanWaitingTime in list-conversation
|
|
1061
|
+
*
|
|
1062
|
+
* @returns
|
|
1063
|
+
*/
|
|
1064
|
+
<span class="fstat-no" title="function not covered" > public g</span>etLanguage() {
|
|
1065
|
+
<span class="cstat-no" title="statement not covered" > return this.language;</span>
|
|
1066
|
+
// return this._translate.getBrowserLang();
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
/** @unused method not used */
|
|
1070
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > initializeTransaltorService(</span></span>) {
|
|
1071
|
+
|
|
1072
|
+
<span class="cstat-no" title="statement not covered" > this._translate.setDefaultLang('it');</span>
|
|
1073
|
+
const browserLang = <span class="cstat-no" title="statement not covered" >this._translate.getBrowserLang();</span>
|
|
1074
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[TRANSLATOR-SERV] initializeTransaltorService--> DEVICE LANG ', browserLang);</span>
|
|
1075
|
+
<span class="cstat-no" title="statement not covered" > if (browserLang) {</span>
|
|
1076
|
+
<span class="cstat-no" title="statement not covered" > if (browserLang === 'it') {</span>
|
|
1077
|
+
<span class="cstat-no" title="statement not covered" > this._translate.use('it');</span>
|
|
1078
|
+
<span class="cstat-no" title="statement not covered" > this.http.get(this.baseLocation + `/assets/i18n/${browserLang}.json`).subscribe(<span class="fstat-no" title="function not covered" >data=</span>> {</span>
|
|
1079
|
+
<span class="cstat-no" title="statement not covered" > console.log('ress lang', JSON.parse(data['_body']))</span>
|
|
1080
|
+
<span class="cstat-no" title="statement not covered" > this._translate.setTranslation('it', JSON.parse(data['_body']));</span>
|
|
1081
|
+
<span class="cstat-no" title="statement not covered" > this._translate.get('LABEL_PREVIEW').subscribe(<span class="fstat-no" title="function not covered" >res </span>=> {</span>
|
|
1082
|
+
<span class="cstat-no" title="statement not covered" > console.log('default translate --> ', res)</span>
|
|
1083
|
+
});
|
|
1084
|
+
})
|
|
1085
|
+
// this._translate.setTranslation('it', './assets/i18n/en.json')
|
|
1086
|
+
} else {
|
|
1087
|
+
<span class="cstat-no" title="statement not covered" > this._translate.use('en');</span>
|
|
1088
|
+
// this.http.get(this.baseLocation + `/assets/i18n/${browserLang}.json`).subscribe(data=> console.log('ress lang', data))
|
|
1089
|
+
}
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
|
|
1095
|
+
<span class="fstat-no" title="function not covered" > getTranslationFileUrl(</span>browserLang) {
|
|
1096
|
+
<span class="cstat-no" title="statement not covered" > this.remoteTranslationsUrl = environment.remoteTranslationsUrl;</span>
|
|
1097
|
+
// console.log(`»»»» initI18n remoteTranslationsUrl`, this.remoteTranslationsUrl);
|
|
1098
|
+
const remoteTranslationsUrl = <span class="cstat-no" title="statement not covered" >this.appConfigService.getConfig().remoteTranslationsUrl;</span>
|
|
1099
|
+
<span class="cstat-no" title="statement not covered" > if (remoteTranslationsUrl) {</span>
|
|
1100
|
+
<span class="cstat-no" title="statement not covered" > this.remoteTranslationsUrl = remoteTranslationsUrl;</span>
|
|
1101
|
+
}
|
|
1102
|
+
// console.log(`»»»» initI18n remoteTranslationsUrl2`, this.appConfigService.getConfig());
|
|
1103
|
+
// console.log(`»»»» getTranslationFileUrl `, this.remoteTranslationsUrl);
|
|
1104
|
+
<span class="cstat-no" title="statement not covered" > if (environment.loadRemoteTranslations) {</span>
|
|
1105
|
+
<span class="cstat-no" title="statement not covered" > return this.remoteTranslationsUrl + this.g.projectid + '/labels/' + browserLang.toUpperCase();</span>
|
|
1106
|
+
} else {
|
|
1107
|
+
<span class="cstat-no" title="statement not covered" > return this.baseLocation + `/assets/i18n/${browserLang}.json`;</span>
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
// https://github.com/ngx-translate/core/issues/282
|
|
1112
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > initI18n(</span></span>): Promise<any> {
|
|
1113
|
+
<span class="cstat-no" title="statement not covered" > this._translate.addLangs(['en', 'it']);</span>
|
|
1114
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[TRANSLATOR-SERV]»»»» initI18n getLangs ', this._translate.getLangs());</span>
|
|
1115
|
+
|
|
1116
|
+
// Set the default language for translation strings.
|
|
1117
|
+
const defaultLanguage = <span class="cstat-no" title="statement not covered" >'en';</span>
|
|
1118
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug('[TRANSLATOR-SERV] »»»» initI18n setDefaultLang ');</span>
|
|
1119
|
+
<span class="cstat-no" title="statement not covered" > this._translate.setDefaultLang(defaultLanguage);</span>
|
|
1120
|
+
<span class="cstat-no" title="statement not covered" > this.language = defaultLanguage;</span>
|
|
1121
|
+
// Detect user language.
|
|
1122
|
+
let browserLang = <span class="cstat-no" title="statement not covered" >this._translate.getBrowserLang();</span>
|
|
1123
|
+
<span class="cstat-no" title="statement not covered" > if (this.g.lang && this.g.lang !== '') {</span>
|
|
1124
|
+
<span class="cstat-no" title="statement not covered" > browserLang = this.g.lang;</span>
|
|
1125
|
+
<span class="cstat-no" title="statement not covered" > this.language = this.g.lang</span>
|
|
1126
|
+
} else {
|
|
1127
|
+
<span class="cstat-no" title="statement not covered" > this.g.lang = browserLang;</span>
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
|
|
1131
|
+
|
|
1132
|
+
// const languageUrl = this.getTranslationFileUrl(browserLang);
|
|
1133
|
+
// console.log(`»»»» browserLang `, browserLang, this.g.lang, this.getTranslationFileUrl(browserLang));
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
// Try to load the I18N JSON file for the detected language
|
|
1137
|
+
<span class="cstat-no" title="statement not covered" > return new Promise(<span class="fstat-no" title="function not covered" >(r</span>esolve, reject) => {</span>
|
|
1138
|
+
const that = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
1139
|
+
<span class="cstat-no" title="statement not covered" > this.http.get(this.getTranslationFileUrl(browserLang))</span>
|
|
1140
|
+
|
|
1141
|
+
// .catch((error: any) => {
|
|
1142
|
+
// // I18N File failed to load, fall back to default language
|
|
1143
|
+
// // console.log(`»»»» initI18n !!! Problem with '${browserLang}' language initialization from URL `, error.url, ` - ERROR: `, error);
|
|
1144
|
+
// this._translate.use(defaultLanguage);
|
|
1145
|
+
// this.http.get(this.getTranslationFileUrl(defaultLanguage)).subscribe((data) => {
|
|
1146
|
+
// this.translateWithBrowserLang(data['_body'], defaultLanguage);
|
|
1147
|
+
// }, (er) => {
|
|
1148
|
+
// // failed to load default language from remote - fall back to local default language
|
|
1149
|
+
// this.logger.error('[TRANSLATOR-SERV] »»»» initI18n Get default language - ERROR ', er);
|
|
1150
|
+
// this.logger.error('[TRANSLATOR-SERV] »»»» initI18n - »»» loadRemoteTranslations IN ERROR ?', environment.loadRemoteTranslations);
|
|
1151
|
+
// }, () => {
|
|
1152
|
+
// resolve(true);
|
|
1153
|
+
// // console.log('»»»» initI18n Get default language * COMPLETE *');
|
|
1154
|
+
// });
|
|
1155
|
+
// return Observable.throw(error);
|
|
1156
|
+
// })
|
|
1157
|
+
.pipe(
|
|
1158
|
+
catchError(<span class="fstat-no" title="function not covered" >(e</span>rror: any)=>{
|
|
1159
|
+
// I18N File failed to load, fall back to default language
|
|
1160
|
+
// console.log(`»»»» initI18n !!! Problem with '${browserLang}' language initialization from URL `, this.getTranslationFileUrl(browserLang), ` - ERROR: `, error);
|
|
1161
|
+
<span class="cstat-no" title="statement not covered" > this._translate.use(defaultLanguage);</span>
|
|
1162
|
+
<span class="cstat-no" title="statement not covered" > this.http.get(this.getTranslationFileUrl(defaultLanguage)).subscribe(<span class="fstat-no" title="function not covered" >(d</span>ata) => {</span>
|
|
1163
|
+
<span class="cstat-no" title="statement not covered" > this.translateWithBrowserLang(data['data'], defaultLanguage);</span>
|
|
1164
|
+
}, <span class="fstat-no" title="function not covered" >(e</span>r) => {
|
|
1165
|
+
// failed to load default language from remote - fall back to local default language
|
|
1166
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error('[TRANSLATOR-SERV] »»»» initI18n Get default language - ERROR ', er);</span>
|
|
1167
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error('[TRANSLATOR-SERV] »»»» initI18n - »»» loadRemoteTranslations IN ERROR ?', environment.loadRemoteTranslations);</span>
|
|
1168
|
+
}, <span class="fstat-no" title="function not covered" >() => {</span>
|
|
1169
|
+
<span class="cstat-no" title="statement not covered" > resolve(true);</span>
|
|
1170
|
+
// console.log('»»»» initI18n Get default language * COMPLETE *');
|
|
1171
|
+
});
|
|
1172
|
+
<span class="cstat-no" title="statement not covered" > return observableThrowError(error);</span>
|
|
1173
|
+
})
|
|
1174
|
+
)
|
|
1175
|
+
.subscribe(<span class="fstat-no" title="function not covered" >(d</span>ata: any) => {
|
|
1176
|
+
// I18N File loaded successfully, we can proceed
|
|
1177
|
+
// console.log(`»»»» Successfully initialized '${browserLang}' language.'`, data.data);
|
|
1178
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug(`[TRANSLATOR-SERV] »»»» initI18n Successfully initialized '${browserLang}' language from URL'`, this.getTranslationFileUrl(browserLang));</span>
|
|
1179
|
+
<span class="cstat-no" title="statement not covered" > if (!data.data || data.data === undefined || data.data === '') {</span>
|
|
1180
|
+
<span class="cstat-no" title="statement not covered" > browserLang = defaultLanguage;</span>
|
|
1181
|
+
<span class="cstat-no" title="statement not covered" > this.language = defaultLanguage;</span>
|
|
1182
|
+
<span class="cstat-no" title="statement not covered" > this.g.lang = defaultLanguage;</span>
|
|
1183
|
+
<span class="cstat-no" title="statement not covered" > this._translate.use(defaultLanguage);</span>
|
|
1184
|
+
// console.log('»»»» translateWithBrowserLang ', this.getTranslationFileUrl(defaultLanguage));
|
|
1185
|
+
<span class="cstat-no" title="statement not covered" > this.http.get(this.getTranslationFileUrl(defaultLanguage)).subscribe(<span class="fstat-no" title="function not covered" >(d</span>efaultdata) => {</span>
|
|
1186
|
+
// console.log(`»»»» Successfully initialized '${browserLang}' language.'`, defaultdata);
|
|
1187
|
+
<span class="cstat-no" title="statement not covered" > this.translateWithBrowserLang(defaultdata['data'], browserLang);</span>
|
|
1188
|
+
});
|
|
1189
|
+
} else {
|
|
1190
|
+
// console.log(`»»»» translateWithBrowserLang '${browserLang}' language.'`);
|
|
1191
|
+
<span class="cstat-no" title="statement not covered" > this.language = data.lang.toLowerCase();;</span>
|
|
1192
|
+
<span class="cstat-no" title="statement not covered" > this.translateWithBrowserLang(data.data, this.language);</span>
|
|
1193
|
+
}
|
|
1194
|
+
}, <span class="fstat-no" title="function not covered" >(e</span>rror) => {
|
|
1195
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error(`[TRANSLATOR-SERV] »»»» initI18n Get '${browserLang}' language - ERROR `, error);</span>
|
|
1196
|
+
}, <span class="fstat-no" title="function not covered" >() => {</span>
|
|
1197
|
+
<span class="cstat-no" title="statement not covered" > resolve(true);</span>
|
|
1198
|
+
// console.log(`»»»» initI18n Get '${browserLang}' language - COMPLETE`);
|
|
1199
|
+
});
|
|
1200
|
+
|
|
1201
|
+
});
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
<span class="fstat-no" title="function not covered" > private t</span>ranslateWithBrowserLang(data: any, lang: string) {
|
|
1206
|
+
<span class="cstat-no" title="statement not covered" > this._translate.use(lang);</span>
|
|
1207
|
+
<span class="cstat-no" title="statement not covered" > this.logger.debug(`[TRANSLATOR-SERV] »»»» initI18n - »»» loadRemoteTranslations ?`, environment.loadRemoteTranslations);</span>
|
|
1208
|
+
<span class="cstat-no" title="statement not covered" > this._translate.setTranslation(lang, data, true);</span>
|
|
1209
|
+
// if (environment.loadRemoteTranslations) {
|
|
1210
|
+
// // console.log(`»»»» initI18n - »»» remote translation `, data);
|
|
1211
|
+
// this._translate.setTranslation(lang, data, true);
|
|
1212
|
+
// } else {
|
|
1213
|
+
// this._translate.setTranslation(lang, data, true);
|
|
1214
|
+
// }
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
/** */
|
|
1218
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > public t</span></span>ranslate(globals) {
|
|
1219
|
+
// set language
|
|
1220
|
+
|
|
1221
|
+
// this.setLanguage(globals.windowContext, globals.lang);
|
|
1222
|
+
|
|
1223
|
+
const labels: string[] = <span class="cstat-no" title="statement not covered" >[</span>
|
|
1224
|
+
'LABEL_TU',
|
|
1225
|
+
'LABEL_PLACEHOLDER',
|
|
1226
|
+
'LABEL_START_NW_CONV',
|
|
1227
|
+
'LABEL_FIRST_MSG',
|
|
1228
|
+
'LABEL_FIRST_MSG_NO_AGENTS',
|
|
1229
|
+
'LABEL_SELECT_TOPIC',
|
|
1230
|
+
'LABEL_COMPLETE_FORM',
|
|
1231
|
+
'LABEL_FIELD_NAME',
|
|
1232
|
+
'LABEL_ERROR_FIELD_NAME',
|
|
1233
|
+
'LABEL_FIELD_EMAIL',
|
|
1234
|
+
'LABEL_ERROR_FIELD_EMAIL',
|
|
1235
|
+
'LABEL_ERROR_FIELD_REQUIRED',
|
|
1236
|
+
'LABEL_WRITING',
|
|
1237
|
+
'LABEL_SEND_NEW_MESSAGE',
|
|
1238
|
+
'AGENT_NOT_AVAILABLE',
|
|
1239
|
+
'AGENT_AVAILABLE',
|
|
1240
|
+
'GUEST_LABEL',
|
|
1241
|
+
'ALL_AGENTS_OFFLINE_LABEL',
|
|
1242
|
+
'CALLOUT_TITLE_PLACEHOLDER',
|
|
1243
|
+
'CALLOUT_MSG_PLACEHOLDER',
|
|
1244
|
+
'ALERT_LEAVE_CHAT',
|
|
1245
|
+
'YES',
|
|
1246
|
+
'NO',
|
|
1247
|
+
'BUTTON_CLOSE_TO_ICON',
|
|
1248
|
+
'BUTTON_EDIT_PROFILE',
|
|
1249
|
+
'DOWNLOAD_TRANSCRIPT',
|
|
1250
|
+
'RATE_CHAT',
|
|
1251
|
+
'WELLCOME_TITLE',
|
|
1252
|
+
'WELLCOME_MSG',
|
|
1253
|
+
'OPTIONS',
|
|
1254
|
+
'SOUND_ON',
|
|
1255
|
+
'SOUND_OFF',
|
|
1256
|
+
'LOGOUT',
|
|
1257
|
+
'CUSTOMER_SATISFACTION',
|
|
1258
|
+
'YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE',
|
|
1259
|
+
'YOUR_RATING',
|
|
1260
|
+
'WRITE_YOUR_OPINION',
|
|
1261
|
+
'SUBMIT',
|
|
1262
|
+
'THANK_YOU_FOR_YOUR_EVALUATION',
|
|
1263
|
+
'YOUR_RATING_HAS_BEEN_RECEIVED',
|
|
1264
|
+
'CLOSE',
|
|
1265
|
+
'PREV_CONVERSATIONS',
|
|
1266
|
+
'YOU',
|
|
1267
|
+
'SHOW_ALL_CONV',
|
|
1268
|
+
'START_A_CONVERSATION',
|
|
1269
|
+
'NO_CONVERSATION',
|
|
1270
|
+
'SEE_PREVIOUS',
|
|
1271
|
+
'WAITING_TIME_FOUND',
|
|
1272
|
+
'WAITING_TIME_NOT_FOUND',
|
|
1273
|
+
'CLOSED',
|
|
1274
|
+
'LABEL_PREVIEW'
|
|
1275
|
+
];
|
|
1276
|
+
|
|
1277
|
+
|
|
1278
|
+
<span class="cstat-no" title="statement not covered" > this._translate.get(labels).subscribe(<span class="fstat-no" title="function not covered" >res </span>=> {</span>
|
|
1279
|
+
// console.log('»»»» initI18n »»»»»» »»»»»» GET TRANSLATED LABELS RES ', res);
|
|
1280
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_TU = res['LABEL_TU']</span>
|
|
1281
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_PLACEHOLDER = res['LABEL_PLACEHOLDER']</span>
|
|
1282
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_START_NW_CONV = res['LABEL_START_NW_CONV'];</span>
|
|
1283
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_FIRST_MSG = res['LABEL_FIRST_MSG'];</span>
|
|
1284
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_FIRST_MSG_NO_AGENTS = res['LABEL_FIRST_MSG_NO_AGENTS'];</span>
|
|
1285
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_SELECT_TOPIC = res['LABEL_SELECT_TOPIC'];</span>
|
|
1286
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_COMPLETE_FORM = res['LABEL_COMPLETE_FORM'];</span>
|
|
1287
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_FIELD_NAME = res['LABEL_FIELD_NAME'];</span>
|
|
1288
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_ERROR_FIELD_NAME = res['LABEL_ERROR_FIELD_NAME'];</span>
|
|
1289
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_FIELD_EMAIL = res['LABEL_FIELD_EMAIL'];</span>
|
|
1290
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_ERROR_FIELD_EMAIL = res['LABEL_ERROR_FIELD_EMAIL'];</span>
|
|
1291
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_WRITING = res['LABEL_WRITING'];</span>
|
|
1292
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_SEND_NEW_MESSAGE = res['LABEL_SEND_NEW_MESSAGE'];</span>
|
|
1293
|
+
<span class="cstat-no" title="statement not covered" > globals.AGENT_NOT_AVAILABLE = res['AGENT_NOT_AVAILABLE']; </span>// is used ??
|
|
1294
|
+
<span class="cstat-no" title="statement not covered" > globals.AGENT_AVAILABLE = res['AGENT_AVAILABLE'];</span>
|
|
1295
|
+
<span class="cstat-no" title="statement not covered" > globals.GUEST_LABEL = res['GUEST_LABEL'];</span>
|
|
1296
|
+
<span class="cstat-no" title="statement not covered" > globals.ALL_AGENTS_OFFLINE_LABEL = res['ALL_AGENTS_OFFLINE_LABEL'];</span>
|
|
1297
|
+
<span class="cstat-no" title="statement not covered" > globals.CALLOUT_TITLE_PLACEHOLDER = res['CALLOUT_TITLE_PLACEHOLDER'];</span>
|
|
1298
|
+
<span class="cstat-no" title="statement not covered" > globals.CALLOUT_MSG_PLACEHOLDER = res['CALLOUT_MSG_PLACEHOLDER'];</span>
|
|
1299
|
+
<span class="cstat-no" title="statement not covered" > globals.ALERT_LEAVE_CHAT = res['ALERT_LEAVE_CHAT']; </span> // is used ??
|
|
1300
|
+
<span class="cstat-no" title="statement not covered" > globals.YES = res['YES']; </span>// is used ??
|
|
1301
|
+
<span class="cstat-no" title="statement not covered" > globals.NO = res['NO']; </span>// is used ??
|
|
1302
|
+
<span class="cstat-no" title="statement not covered" > globals.BUTTON_CLOSE_TO_ICON = res['BUTTON_CLOSE_TO_ICON'];</span>
|
|
1303
|
+
<span class="cstat-no" title="statement not covered" > globals.BUTTON_EDIT_PROFILE = res['BUTTON_EDIT_PROFILE']; </span>// is used ??
|
|
1304
|
+
<span class="cstat-no" title="statement not covered" > globals.DOWNLOAD_TRANSCRIPT = res['DOWNLOAD_TRANSCRIPT'];</span>
|
|
1305
|
+
<span class="cstat-no" title="statement not covered" > globals.RATE_CHAT = res['RATE_CHAT']; </span>// is used ??
|
|
1306
|
+
<span class="cstat-no" title="statement not covered" > globals.WELLCOME_TITLE = res['WELLCOME_TITLE'];</span>
|
|
1307
|
+
<span class="cstat-no" title="statement not covered" > globals.WELLCOME_MSG = res['WELLCOME_MSG'];</span>
|
|
1308
|
+
<span class="cstat-no" title="statement not covered" > globals.OPTIONS = res['OPTIONS'];</span>
|
|
1309
|
+
<span class="cstat-no" title="statement not covered" > globals.SOUND_ON = res['SOUND_ON'];</span>
|
|
1310
|
+
<span class="cstat-no" title="statement not covered" > globals.SOUND_OFF = res['SOUND_OFF'];</span>
|
|
1311
|
+
<span class="cstat-no" title="statement not covered" > globals.LOGOUT = res['LOGOUT'];</span>
|
|
1312
|
+
<span class="cstat-no" title="statement not covered" > globals.CUSTOMER_SATISFACTION = res['CUSTOMER_SATISFACTION'];</span>
|
|
1313
|
+
<span class="cstat-no" title="statement not covered" > globals.YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE = res['YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE'];</span>
|
|
1314
|
+
<span class="cstat-no" title="statement not covered" > globals.YOUR_RATING = res['YOUR_RATING']; </span>// is used ??
|
|
1315
|
+
<span class="cstat-no" title="statement not covered" > globals.WRITE_YOUR_OPINION = res['WRITE_YOUR_OPINION'];</span>
|
|
1316
|
+
<span class="cstat-no" title="statement not covered" > globals.SUBMIT = res['SUBMIT']; </span>// se nn si carica la traduzione nn viene visualizzato il testo e si riname bloccati
|
|
1317
|
+
<span class="cstat-no" title="statement not covered" > globals.THANK_YOU_FOR_YOUR_EVALUATION = res['THANK_YOU_FOR_YOUR_EVALUATION'];</span>
|
|
1318
|
+
<span class="cstat-no" title="statement not covered" > globals.YOUR_RATING_HAS_BEEN_RECEIVED = res['YOUR_RATING_HAS_BEEN_RECEIVED'];</span>
|
|
1319
|
+
<span class="cstat-no" title="statement not covered" > globals.CLOSE = res['CLOSE']; </span>// se nn si carica la traduzione nn viene visualizzato il testo e si riname bloccati
|
|
1320
|
+
<span class="cstat-no" title="statement not covered" > globals.PREV_CONVERSATIONS = res['PREV_CONVERSATIONS'];</span>
|
|
1321
|
+
<span class="cstat-no" title="statement not covered" > globals.YOU = res['YOU'];</span>
|
|
1322
|
+
<span class="cstat-no" title="statement not covered" > globals.SHOW_ALL_CONV = res['SHOW_ALL_CONV'];</span>
|
|
1323
|
+
<span class="cstat-no" title="statement not covered" > globals.START_A_CONVERSATION = res['START_A_CONVERSATION']; </span>// is used ??
|
|
1324
|
+
<span class="cstat-no" title="statement not covered" > globals.NO_CONVERSATION = res['NO_CONVERSATION'];</span>
|
|
1325
|
+
<span class="cstat-no" title="statement not covered" > globals.SEE_PREVIOUS = res['SEE_PREVIOUS']; </span>// is used ??
|
|
1326
|
+
<span class="cstat-no" title="statement not covered" > globals.WAITING_TIME_FOUND = res['WAITING_TIME_FOUND'];</span>
|
|
1327
|
+
<span class="cstat-no" title="statement not covered" > globals.WAITING_TIME_NOT_FOUND = res['WAITING_TIME_NOT_FOUND'];</span>
|
|
1328
|
+
<span class="cstat-no" title="statement not covered" > globals.CLOSED = res['CLOSED'];</span>
|
|
1329
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_PREVIEW = res['LABEL_PREVIEW']</span>
|
|
1330
|
+
<span class="cstat-no" title="statement not covered" > globals.LABEL_ERROR_FIELD_REQUIRED= res['LABEL_ERROR_FIELD_REQUIRED']</span>
|
|
1331
|
+
|
|
1332
|
+
<span class="cstat-no" title="statement not covered" > if (!globals.welcomeTitle) {</span>
|
|
1333
|
+
<span class="cstat-no" title="statement not covered" > globals.welcomeTitle = globals.WELLCOME_TITLE; </span> /** Set the widget welcome message. Value type : string */
|
|
1334
|
+
}
|
|
1335
|
+
<span class="cstat-no" title="statement not covered" > if (!globals.welcomeMsg) {</span>
|
|
1336
|
+
<span class="cstat-no" title="statement not covered" > globals.welcomeMsg = globals.WELLCOME_MSG; </span> /** Set the widget welcome message. Value type : string */
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
}, <span class="fstat-no" title="function not covered" >(e</span>rror) => {
|
|
1340
|
+
<span class="cstat-no" title="statement not covered" > this.logger.error('[TRANSLATOR-SERV]»»»»»» »»»»»» GET TRANSLATED LABELS - ERROR ', error);</span>
|
|
1341
|
+
}, <span class="fstat-no" title="function not covered" >() => {</span>
|
|
1342
|
+
// console.log('»»»»»» »»»»»» GET TRANSLATED LABELS * COMPLETE *');
|
|
1343
|
+
});
|
|
1344
|
+
|
|
1345
|
+
|
|
1346
|
+
|
|
1347
|
+
// globals.setParameter('lang', this.language);
|
|
1348
|
+
|
|
1349
|
+
// translate
|
|
1350
|
+
|
|
1351
|
+
// console.log('»»»»» globals', globals)
|
|
1352
|
+
// globals.LABEL_PLACEHOLDER = this.translateForKey('LABEL_PLACEHOLDER') // done
|
|
1353
|
+
// globals.LABEL_START_NW_CONV = this.translateForKey('LABEL_START_NW_CONV'); // done
|
|
1354
|
+
// globals.LABEL_FIRST_MSG = this.translateForKey('LABEL_FIRST_MSG'); // done
|
|
1355
|
+
// globals.LABEL_FIRST_MSG_NO_AGENTS = this.translateForKey('LABEL_FIRST_MSG_NO_AGENTS'); // done
|
|
1356
|
+
// globals.LABEL_SELECT_TOPIC = this.translateForKey('LABEL_SELECT_TOPIC'); // done
|
|
1357
|
+
// globals.LABEL_COMPLETE_FORM = this.translateForKey('LABEL_COMPLETE_FORM'); // done
|
|
1358
|
+
// globals.LABEL_FIELD_NAME = this.translateForKey('LABEL_FIELD_NAME'); // done
|
|
1359
|
+
// globals.LABEL_ERROR_FIELD_NAME = this.translateForKey('LABEL_ERROR_FIELD_NAME'); // done
|
|
1360
|
+
// globals.LABEL_FIELD_EMAIL = this.translateForKey('LABEL_FIELD_EMAIL'); // done
|
|
1361
|
+
// globals.LABEL_ERROR_FIELD_EMAIL = this.translateForKey('LABEL_ERROR_FIELD_EMAIL'); // done
|
|
1362
|
+
// globals.LABEL_WRITING = this.translateForKey('LABEL_WRITING'); // done
|
|
1363
|
+
// globals.AGENT_NOT_AVAILABLE = this.translateForKey('AGENT_NOT_AVAILABLE'); // done
|
|
1364
|
+
// globals.AGENT_AVAILABLE = this.translateForKey('AGENT_AVAILABLE'); // done
|
|
1365
|
+
// globals.GUEST_LABEL = this.translateForKey('GUEST_LABEL'); // done
|
|
1366
|
+
// globals.ALL_AGENTS_OFFLINE_LABEL = this.translateForKey('ALL_AGENTS_OFFLINE_LABEL'); // done
|
|
1367
|
+
// globals.CALLOUT_TITLE_PLACEHOLDER = this.translateForKey('CALLOUT_TITLE_PLACEHOLDER'); // done
|
|
1368
|
+
// globals.CALLOUT_MSG_PLACEHOLDER = this.translateForKey('CALLOUT_MSG_PLACEHOLDER'); // done
|
|
1369
|
+
// globals.ALERT_LEAVE_CHAT = this.translateForKey('ALERT_LEAVE_CHAT'); // done
|
|
1370
|
+
// globals.YES = this.translateForKey('YES'); // done
|
|
1371
|
+
// globals.NO = this.translateForKey('NO'); // done
|
|
1372
|
+
// globals.BUTTON_CLOSE_TO_ICON = this.translateForKey('BUTTON_CLOSE_TO_ICON'); // done
|
|
1373
|
+
// globals.BUTTON_EDIT_PROFILE = this.translateForKey('BUTTON_EDIT_PROFILE'); // done
|
|
1374
|
+
// globals.DOWNLOAD_TRANSCRIPT = this.translateForKey('DOWNLOAD_TRANSCRIPT'); // done
|
|
1375
|
+
// globals.RATE_CHAT = this.translateForKey('RATE_CHAT'); // done
|
|
1376
|
+
// globals.WELLCOME_TITLE = this.translateForKey('WELLCOME_TITLE'); // done
|
|
1377
|
+
// globals.WELLCOME_MSG = this.translateForKey('WELLCOME_MSG'); // done
|
|
1378
|
+
// globals.OPTIONS = this.translateForKey('OPTIONS'); // done
|
|
1379
|
+
// globals.SOUND_ON = this.translateForKey('SOUND_ON'); // done
|
|
1380
|
+
// globals.SOUND_OFF = this.translateForKey('SOUND_OFF'); // done
|
|
1381
|
+
// globals.LOGOUT = this.translateForKey('LOGOUT'); // done
|
|
1382
|
+
// globals.CUSTOMER_SATISFACTION = this.translateForKey('CUSTOMER_SATISFACTION'); // done
|
|
1383
|
+
// globals.YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE = this.translateForKey('YOUR_OPINION_ON_OUR_CUSTOMER_SERVICE'); // done
|
|
1384
|
+
// globals.DOWNLOAD_TRANSCRIPT = this.translateForKey('DOWNLOAD_TRANSCRIPT'); // done
|
|
1385
|
+
// globals.YOUR_RATING = this.translateForKey('YOUR_RATING'); // done
|
|
1386
|
+
// globals.WRITE_YOUR_OPINION = this.translateForKey('WRITE_YOUR_OPINION'); // done
|
|
1387
|
+
// globals.SUBMIT = this.translateForKey('SUBMIT'); // done
|
|
1388
|
+
// globals.THANK_YOU_FOR_YOUR_EVALUATION = this.translateForKey('THANK_YOU_FOR_YOUR_EVALUATION'); // done
|
|
1389
|
+
// globals.YOUR_RATING_HAS_BEEN_RECEIVED = this.translateForKey('YOUR_RATING_HAS_BEEN_RECEIVED'); // done
|
|
1390
|
+
// globals.CLOSE = this.translateForKey('CLOSE'); // done
|
|
1391
|
+
// globals.PREV_CONVERSATIONS = this.translateForKey('PREV_CONVERSATIONS'); // done
|
|
1392
|
+
// globals.YOU = this.translateForKey('YOU'); // done
|
|
1393
|
+
// globals.SHOW_ALL_CONV = this.translateForKey('SHOW_ALL_CONV'); // done
|
|
1394
|
+
// globals.START_A_CONVERSATION = this.translateForKey('START_A_CONVERSATION'); // done
|
|
1395
|
+
// globals.NO_CONVERSATION = this.translateForKey('NO_CONVERSATION'); // done
|
|
1396
|
+
// globals.SEE_PREVIOUS = this.translateForKey('SEE_PREVIOUS'); // done
|
|
1397
|
+
// globals.WAITING_TIME_FOUND = this.translateForKey('WAITING_TIME_FOUND'); // done
|
|
1398
|
+
// globals.WAITING_TIME_NOT_FOUND = this.translateForKey('WAITING_TIME_NOT_FOUND'); // done
|
|
1399
|
+
// globals.CLOSED = this.translateForKey('CLOSED');
|
|
1400
|
+
|
|
1401
|
+
// if (!globals.wellcomeTitle) {
|
|
1402
|
+
// globals.wellcomeTitle = globals.WELLCOME_TITLE; /** Set the widget welcome message. Value type : string */
|
|
1403
|
+
// }
|
|
1404
|
+
// if (!globals.wellcomeMsg) {
|
|
1405
|
+
// globals.wellcomeMsg = globals.WELLCOME_MSG; /** Set the widget welcome message. Value type : string */
|
|
1406
|
+
// }
|
|
1407
|
+
|
|
1408
|
+
|
|
1409
|
+
}
|
|
1410
|
+
|
|
1411
|
+
|
|
1412
|
+
/**
|
|
1413
|
+
* Return the browser language if it is detected, an epty string otherwise
|
|
1414
|
+
* @returns the browser language
|
|
1415
|
+
*/
|
|
1416
|
+
// public getBrowserLanguage(windowContext) {
|
|
1417
|
+
// // console.log('windowContext', windowContext);
|
|
1418
|
+
// const browserLanguage = windowContext.navigator.language;
|
|
1419
|
+
// return !browserLanguage ? undefined : browserLanguage;
|
|
1420
|
+
// }
|
|
1421
|
+
|
|
1422
|
+
/**
|
|
1423
|
+
* Set the language in which to translate.
|
|
1424
|
+
* If it is provided a not valid language it will use the default language (en)
|
|
1425
|
+
* @param language the language
|
|
1426
|
+
*/
|
|
1427
|
+
// public setLanguage(windowContext, language) {
|
|
1428
|
+
// // console.log('windowContext-language', windowContext, language);
|
|
1429
|
+
// // set the user languge if it is valid.
|
|
1430
|
+
// // if the user language is not valid, try to get the browser language.
|
|
1431
|
+
// // if the browser language is not valid, it use the default language (en)
|
|
1432
|
+
// if (!language) {
|
|
1433
|
+
// // user language not valid
|
|
1434
|
+
// if (this.getBrowserLanguage(windowContext) !== undefined) {
|
|
1435
|
+
// // browser language valid
|
|
1436
|
+
// this.language = this.getBrowserLanguage(windowContext);
|
|
1437
|
+
// } else {
|
|
1438
|
+
// // browser language not valid
|
|
1439
|
+
// this.language = this.defaultLanguage;
|
|
1440
|
+
// }
|
|
1441
|
+
// } else {
|
|
1442
|
+
// // user language valid
|
|
1443
|
+
// this.language = language;
|
|
1444
|
+
// }
|
|
1445
|
+
// this.language = this.language.substring(0, 2);
|
|
1446
|
+
// // retrieve the translation
|
|
1447
|
+
// // console.log('LINGUA IMPOSTATA: ', this.language);
|
|
1448
|
+
// this.getLanguageObject(this.language);
|
|
1449
|
+
// }
|
|
1450
|
+
|
|
1451
|
+
// retrieve the language object
|
|
1452
|
+
// private getLanguageObject(language) {
|
|
1453
|
+
// if (language === 'en') {
|
|
1454
|
+
// this.translations = translations.en;
|
|
1455
|
+
// } else if (language === 'it') {
|
|
1456
|
+
// this.translations = translations.it;
|
|
1457
|
+
// } else {
|
|
1458
|
+
// // use the default language in any other case
|
|
1459
|
+
// this.translations = translations.en;
|
|
1460
|
+
// }
|
|
1461
|
+
// }
|
|
1462
|
+
|
|
1463
|
+
/**
|
|
1464
|
+
* Translate a keyword to the language set with the method setLanguage(language)
|
|
1465
|
+
* @param keyword the keyword to translate
|
|
1466
|
+
* @returns the keyword translations
|
|
1467
|
+
*/
|
|
1468
|
+
// public translateForKey(keyword: string): string {
|
|
1469
|
+
// // console.log('this.translations -> keyword: ', this.translations[keyword]);
|
|
1470
|
+
// return !this.translations[keyword] ? '' : this.translations[keyword];
|
|
1471
|
+
// }
|
|
1472
|
+
|
|
1473
|
+
|
|
1474
|
+
|
|
1475
|
+
// public getDefaultLanguage() {
|
|
1476
|
+
// return this.defaultLanguage;
|
|
1477
|
+
// }
|
|
1478
|
+
}
|
|
1479
|
+
</pre></td></tr></table></pre>
|
|
1480
|
+
|
|
1481
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
1482
|
+
</div><!-- /wrapper -->
|
|
1483
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
1484
|
+
Code coverage generated by
|
|
1485
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1486
|
+
at Tue Nov 29 2022 09:13:07 GMT+0100 (Ora standard dell’Europa centrale)
|
|
1487
|
+
</div>
|
|
1488
|
+
<script src="../../../prettify.js"></script>
|
|
1489
|
+
<script>
|
|
1490
|
+
window.onload = function () {
|
|
1491
|
+
prettyPrint();
|
|
1492
|
+
};
|
|
1493
|
+
</script>
|
|
1494
|
+
<script src="../../../sorter.js"></script>
|
|
1495
|
+
<script src="../../../block-navigation.js"></script>
|
|
1496
|
+
</body>
|
|
1497
|
+
</html>
|
|
1498
|
+
|