@strapi/database 4.10.1 → 4.10.2-alpha.0
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/jest.config.js +1 -0
- package/lib/schema/diff.js +4 -1
- package/package.json +2 -2
- package/coverage/clover.xml +0 -2669
- package/coverage/coverage-final.json +0 -56
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -356
- package/coverage/lcov-report/lib/entity-manager/entity-repository.js.html +0 -532
- package/coverage/lcov-report/lib/entity-manager/index.html +0 -176
- package/coverage/lcov-report/lib/entity-manager/index.js.html +0 -3832
- package/coverage/lcov-report/lib/entity-manager/morph-relations.js.html +0 -274
- package/coverage/lcov-report/lib/entity-manager/regular-relations.js.html +0 -1246
- package/coverage/lcov-report/lib/entity-manager/relations-orderer.js.html +0 -760
- package/coverage/lcov-report/lib/errors/database.js.html +0 -121
- package/coverage/lcov-report/lib/errors/index.html +0 -206
- package/coverage/lcov-report/lib/errors/index.js.html +0 -136
- package/coverage/lcov-report/lib/errors/invalid-date.js.html +0 -127
- package/coverage/lcov-report/lib/errors/invalid-datetime.js.html +0 -127
- package/coverage/lcov-report/lib/errors/invalid-relation.js.html +0 -127
- package/coverage/lcov-report/lib/errors/invalid-time.js.html +0 -127
- package/coverage/lcov-report/lib/errors/not-null.js.html +0 -130
- package/coverage/lcov-report/lib/fields/biginteger.js.html +0 -136
- package/coverage/lcov-report/lib/fields/boolean.js.html +0 -202
- package/coverage/lcov-report/lib/fields/date.js.html +0 -133
- package/coverage/lcov-report/lib/fields/datetime.js.html +0 -142
- package/coverage/lcov-report/lib/fields/field.js.html +0 -136
- package/coverage/lcov-report/lib/fields/index.html +0 -266
- package/coverage/lcov-report/lib/fields/index.js.html +0 -232
- package/coverage/lcov-report/lib/fields/json.js.html +0 -133
- package/coverage/lcov-report/lib/fields/number.js.html +0 -154
- package/coverage/lcov-report/lib/fields/shared/index.html +0 -116
- package/coverage/lcov-report/lib/fields/shared/parsers.js.html +0 -292
- package/coverage/lcov-report/lib/fields/string.js.html +0 -136
- package/coverage/lcov-report/lib/fields/time.js.html +0 -136
- package/coverage/lcov-report/lib/fields/timestamp.js.html +0 -142
- package/coverage/lcov-report/lib/index.html +0 -131
- package/coverage/lcov-report/lib/index.js.html +0 -457
- package/coverage/lcov-report/lib/lifecycles/index.html +0 -116
- package/coverage/lcov-report/lib/lifecycles/index.js.html +0 -355
- package/coverage/lcov-report/lib/lifecycles/subscribers/index.html +0 -131
- package/coverage/lcov-report/lib/lifecycles/subscribers/models-lifecycles.js.html +0 -142
- package/coverage/lcov-report/lib/lifecycles/subscribers/timestamps.js.html +0 -280
- package/coverage/lcov-report/lib/metadata/index.html +0 -131
- package/coverage/lcov-report/lib/metadata/index.js.html +0 -817
- package/coverage/lcov-report/lib/metadata/relations.js.html +0 -1783
- package/coverage/lcov-report/lib/query/helpers/index.html +0 -191
- package/coverage/lcov-report/lib/query/helpers/index.js.html +0 -118
- package/coverage/lcov-report/lib/query/helpers/join.js.html +0 -373
- package/coverage/lcov-report/lib/query/helpers/order-by.js.html +0 -295
- package/coverage/lcov-report/lib/query/helpers/populate/apply.js.html +0 -2077
- package/coverage/lcov-report/lib/query/helpers/populate/index.html +0 -146
- package/coverage/lcov-report/lib/query/helpers/populate/index.js.html +0 -112
- package/coverage/lcov-report/lib/query/helpers/populate/process.js.html +0 -391
- package/coverage/lcov-report/lib/query/helpers/search.js.html +0 -337
- package/coverage/lcov-report/lib/query/helpers/streams/index.html +0 -131
- package/coverage/lcov-report/lib/query/helpers/streams/index.js.html +0 -100
- package/coverage/lcov-report/lib/query/helpers/streams/readable.js.html +0 -607
- package/coverage/lcov-report/lib/query/helpers/transform.js.html +0 -337
- package/coverage/lcov-report/lib/query/helpers/where.js.html +0 -1255
- package/coverage/lcov-report/lib/query/index.html +0 -131
- package/coverage/lcov-report/lib/query/index.js.html +0 -106
- package/coverage/lcov-report/lib/query/query-builder.js.html +0 -1627
- package/coverage/lcov-report/lib/schema/builder.js.html +0 -1243
- package/coverage/lcov-report/lib/schema/diff.js.html +0 -1207
- package/coverage/lcov-report/lib/schema/index.html +0 -176
- package/coverage/lcov-report/lib/schema/index.js.html +0 -367
- package/coverage/lcov-report/lib/schema/schema.js.html +0 -688
- package/coverage/lcov-report/lib/schema/storage.js.html +0 -313
- package/coverage/lcov-report/lib/transaction-context.js.html +0 -136
- package/coverage/lcov-report/lib/types/index.html +0 -116
- package/coverage/lcov-report/lib/types/index.js.html +0 -187
- package/coverage/lcov-report/lib/utils/content-types.js.html +0 -205
- package/coverage/lcov-report/lib/utils/index.html +0 -131
- package/coverage/lcov-report/lib/utils/knex.js.html +0 -151
- package/coverage/lcov-report/lib/validations/index.html +0 -116
- package/coverage/lcov-report/lib/validations/index.js.html +0 -145
- package/coverage/lcov-report/lib/validations/relations/bidirectional.js.html +0 -352
- package/coverage/lcov-report/lib/validations/relations/index.html +0 -131
- package/coverage/lcov-report/lib/validations/relations/index.js.html +0 -127
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov.info +0 -5179
|
@@ -1,3832 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for lib/entity-manager/index.js</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">lib/entity-manager</a> index.js</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">4.56% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>19/416</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">0% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/326</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">2.04% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>1/49</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">4.65% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>19/408</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>
|
|
538
|
-
<a name='L473'></a><a href='#L473'>473</a>
|
|
539
|
-
<a name='L474'></a><a href='#L474'>474</a>
|
|
540
|
-
<a name='L475'></a><a href='#L475'>475</a>
|
|
541
|
-
<a name='L476'></a><a href='#L476'>476</a>
|
|
542
|
-
<a name='L477'></a><a href='#L477'>477</a>
|
|
543
|
-
<a name='L478'></a><a href='#L478'>478</a>
|
|
544
|
-
<a name='L479'></a><a href='#L479'>479</a>
|
|
545
|
-
<a name='L480'></a><a href='#L480'>480</a>
|
|
546
|
-
<a name='L481'></a><a href='#L481'>481</a>
|
|
547
|
-
<a name='L482'></a><a href='#L482'>482</a>
|
|
548
|
-
<a name='L483'></a><a href='#L483'>483</a>
|
|
549
|
-
<a name='L484'></a><a href='#L484'>484</a>
|
|
550
|
-
<a name='L485'></a><a href='#L485'>485</a>
|
|
551
|
-
<a name='L486'></a><a href='#L486'>486</a>
|
|
552
|
-
<a name='L487'></a><a href='#L487'>487</a>
|
|
553
|
-
<a name='L488'></a><a href='#L488'>488</a>
|
|
554
|
-
<a name='L489'></a><a href='#L489'>489</a>
|
|
555
|
-
<a name='L490'></a><a href='#L490'>490</a>
|
|
556
|
-
<a name='L491'></a><a href='#L491'>491</a>
|
|
557
|
-
<a name='L492'></a><a href='#L492'>492</a>
|
|
558
|
-
<a name='L493'></a><a href='#L493'>493</a>
|
|
559
|
-
<a name='L494'></a><a href='#L494'>494</a>
|
|
560
|
-
<a name='L495'></a><a href='#L495'>495</a>
|
|
561
|
-
<a name='L496'></a><a href='#L496'>496</a>
|
|
562
|
-
<a name='L497'></a><a href='#L497'>497</a>
|
|
563
|
-
<a name='L498'></a><a href='#L498'>498</a>
|
|
564
|
-
<a name='L499'></a><a href='#L499'>499</a>
|
|
565
|
-
<a name='L500'></a><a href='#L500'>500</a>
|
|
566
|
-
<a name='L501'></a><a href='#L501'>501</a>
|
|
567
|
-
<a name='L502'></a><a href='#L502'>502</a>
|
|
568
|
-
<a name='L503'></a><a href='#L503'>503</a>
|
|
569
|
-
<a name='L504'></a><a href='#L504'>504</a>
|
|
570
|
-
<a name='L505'></a><a href='#L505'>505</a>
|
|
571
|
-
<a name='L506'></a><a href='#L506'>506</a>
|
|
572
|
-
<a name='L507'></a><a href='#L507'>507</a>
|
|
573
|
-
<a name='L508'></a><a href='#L508'>508</a>
|
|
574
|
-
<a name='L509'></a><a href='#L509'>509</a>
|
|
575
|
-
<a name='L510'></a><a href='#L510'>510</a>
|
|
576
|
-
<a name='L511'></a><a href='#L511'>511</a>
|
|
577
|
-
<a name='L512'></a><a href='#L512'>512</a>
|
|
578
|
-
<a name='L513'></a><a href='#L513'>513</a>
|
|
579
|
-
<a name='L514'></a><a href='#L514'>514</a>
|
|
580
|
-
<a name='L515'></a><a href='#L515'>515</a>
|
|
581
|
-
<a name='L516'></a><a href='#L516'>516</a>
|
|
582
|
-
<a name='L517'></a><a href='#L517'>517</a>
|
|
583
|
-
<a name='L518'></a><a href='#L518'>518</a>
|
|
584
|
-
<a name='L519'></a><a href='#L519'>519</a>
|
|
585
|
-
<a name='L520'></a><a href='#L520'>520</a>
|
|
586
|
-
<a name='L521'></a><a href='#L521'>521</a>
|
|
587
|
-
<a name='L522'></a><a href='#L522'>522</a>
|
|
588
|
-
<a name='L523'></a><a href='#L523'>523</a>
|
|
589
|
-
<a name='L524'></a><a href='#L524'>524</a>
|
|
590
|
-
<a name='L525'></a><a href='#L525'>525</a>
|
|
591
|
-
<a name='L526'></a><a href='#L526'>526</a>
|
|
592
|
-
<a name='L527'></a><a href='#L527'>527</a>
|
|
593
|
-
<a name='L528'></a><a href='#L528'>528</a>
|
|
594
|
-
<a name='L529'></a><a href='#L529'>529</a>
|
|
595
|
-
<a name='L530'></a><a href='#L530'>530</a>
|
|
596
|
-
<a name='L531'></a><a href='#L531'>531</a>
|
|
597
|
-
<a name='L532'></a><a href='#L532'>532</a>
|
|
598
|
-
<a name='L533'></a><a href='#L533'>533</a>
|
|
599
|
-
<a name='L534'></a><a href='#L534'>534</a>
|
|
600
|
-
<a name='L535'></a><a href='#L535'>535</a>
|
|
601
|
-
<a name='L536'></a><a href='#L536'>536</a>
|
|
602
|
-
<a name='L537'></a><a href='#L537'>537</a>
|
|
603
|
-
<a name='L538'></a><a href='#L538'>538</a>
|
|
604
|
-
<a name='L539'></a><a href='#L539'>539</a>
|
|
605
|
-
<a name='L540'></a><a href='#L540'>540</a>
|
|
606
|
-
<a name='L541'></a><a href='#L541'>541</a>
|
|
607
|
-
<a name='L542'></a><a href='#L542'>542</a>
|
|
608
|
-
<a name='L543'></a><a href='#L543'>543</a>
|
|
609
|
-
<a name='L544'></a><a href='#L544'>544</a>
|
|
610
|
-
<a name='L545'></a><a href='#L545'>545</a>
|
|
611
|
-
<a name='L546'></a><a href='#L546'>546</a>
|
|
612
|
-
<a name='L547'></a><a href='#L547'>547</a>
|
|
613
|
-
<a name='L548'></a><a href='#L548'>548</a>
|
|
614
|
-
<a name='L549'></a><a href='#L549'>549</a>
|
|
615
|
-
<a name='L550'></a><a href='#L550'>550</a>
|
|
616
|
-
<a name='L551'></a><a href='#L551'>551</a>
|
|
617
|
-
<a name='L552'></a><a href='#L552'>552</a>
|
|
618
|
-
<a name='L553'></a><a href='#L553'>553</a>
|
|
619
|
-
<a name='L554'></a><a href='#L554'>554</a>
|
|
620
|
-
<a name='L555'></a><a href='#L555'>555</a>
|
|
621
|
-
<a name='L556'></a><a href='#L556'>556</a>
|
|
622
|
-
<a name='L557'></a><a href='#L557'>557</a>
|
|
623
|
-
<a name='L558'></a><a href='#L558'>558</a>
|
|
624
|
-
<a name='L559'></a><a href='#L559'>559</a>
|
|
625
|
-
<a name='L560'></a><a href='#L560'>560</a>
|
|
626
|
-
<a name='L561'></a><a href='#L561'>561</a>
|
|
627
|
-
<a name='L562'></a><a href='#L562'>562</a>
|
|
628
|
-
<a name='L563'></a><a href='#L563'>563</a>
|
|
629
|
-
<a name='L564'></a><a href='#L564'>564</a>
|
|
630
|
-
<a name='L565'></a><a href='#L565'>565</a>
|
|
631
|
-
<a name='L566'></a><a href='#L566'>566</a>
|
|
632
|
-
<a name='L567'></a><a href='#L567'>567</a>
|
|
633
|
-
<a name='L568'></a><a href='#L568'>568</a>
|
|
634
|
-
<a name='L569'></a><a href='#L569'>569</a>
|
|
635
|
-
<a name='L570'></a><a href='#L570'>570</a>
|
|
636
|
-
<a name='L571'></a><a href='#L571'>571</a>
|
|
637
|
-
<a name='L572'></a><a href='#L572'>572</a>
|
|
638
|
-
<a name='L573'></a><a href='#L573'>573</a>
|
|
639
|
-
<a name='L574'></a><a href='#L574'>574</a>
|
|
640
|
-
<a name='L575'></a><a href='#L575'>575</a>
|
|
641
|
-
<a name='L576'></a><a href='#L576'>576</a>
|
|
642
|
-
<a name='L577'></a><a href='#L577'>577</a>
|
|
643
|
-
<a name='L578'></a><a href='#L578'>578</a>
|
|
644
|
-
<a name='L579'></a><a href='#L579'>579</a>
|
|
645
|
-
<a name='L580'></a><a href='#L580'>580</a>
|
|
646
|
-
<a name='L581'></a><a href='#L581'>581</a>
|
|
647
|
-
<a name='L582'></a><a href='#L582'>582</a>
|
|
648
|
-
<a name='L583'></a><a href='#L583'>583</a>
|
|
649
|
-
<a name='L584'></a><a href='#L584'>584</a>
|
|
650
|
-
<a name='L585'></a><a href='#L585'>585</a>
|
|
651
|
-
<a name='L586'></a><a href='#L586'>586</a>
|
|
652
|
-
<a name='L587'></a><a href='#L587'>587</a>
|
|
653
|
-
<a name='L588'></a><a href='#L588'>588</a>
|
|
654
|
-
<a name='L589'></a><a href='#L589'>589</a>
|
|
655
|
-
<a name='L590'></a><a href='#L590'>590</a>
|
|
656
|
-
<a name='L591'></a><a href='#L591'>591</a>
|
|
657
|
-
<a name='L592'></a><a href='#L592'>592</a>
|
|
658
|
-
<a name='L593'></a><a href='#L593'>593</a>
|
|
659
|
-
<a name='L594'></a><a href='#L594'>594</a>
|
|
660
|
-
<a name='L595'></a><a href='#L595'>595</a>
|
|
661
|
-
<a name='L596'></a><a href='#L596'>596</a>
|
|
662
|
-
<a name='L597'></a><a href='#L597'>597</a>
|
|
663
|
-
<a name='L598'></a><a href='#L598'>598</a>
|
|
664
|
-
<a name='L599'></a><a href='#L599'>599</a>
|
|
665
|
-
<a name='L600'></a><a href='#L600'>600</a>
|
|
666
|
-
<a name='L601'></a><a href='#L601'>601</a>
|
|
667
|
-
<a name='L602'></a><a href='#L602'>602</a>
|
|
668
|
-
<a name='L603'></a><a href='#L603'>603</a>
|
|
669
|
-
<a name='L604'></a><a href='#L604'>604</a>
|
|
670
|
-
<a name='L605'></a><a href='#L605'>605</a>
|
|
671
|
-
<a name='L606'></a><a href='#L606'>606</a>
|
|
672
|
-
<a name='L607'></a><a href='#L607'>607</a>
|
|
673
|
-
<a name='L608'></a><a href='#L608'>608</a>
|
|
674
|
-
<a name='L609'></a><a href='#L609'>609</a>
|
|
675
|
-
<a name='L610'></a><a href='#L610'>610</a>
|
|
676
|
-
<a name='L611'></a><a href='#L611'>611</a>
|
|
677
|
-
<a name='L612'></a><a href='#L612'>612</a>
|
|
678
|
-
<a name='L613'></a><a href='#L613'>613</a>
|
|
679
|
-
<a name='L614'></a><a href='#L614'>614</a>
|
|
680
|
-
<a name='L615'></a><a href='#L615'>615</a>
|
|
681
|
-
<a name='L616'></a><a href='#L616'>616</a>
|
|
682
|
-
<a name='L617'></a><a href='#L617'>617</a>
|
|
683
|
-
<a name='L618'></a><a href='#L618'>618</a>
|
|
684
|
-
<a name='L619'></a><a href='#L619'>619</a>
|
|
685
|
-
<a name='L620'></a><a href='#L620'>620</a>
|
|
686
|
-
<a name='L621'></a><a href='#L621'>621</a>
|
|
687
|
-
<a name='L622'></a><a href='#L622'>622</a>
|
|
688
|
-
<a name='L623'></a><a href='#L623'>623</a>
|
|
689
|
-
<a name='L624'></a><a href='#L624'>624</a>
|
|
690
|
-
<a name='L625'></a><a href='#L625'>625</a>
|
|
691
|
-
<a name='L626'></a><a href='#L626'>626</a>
|
|
692
|
-
<a name='L627'></a><a href='#L627'>627</a>
|
|
693
|
-
<a name='L628'></a><a href='#L628'>628</a>
|
|
694
|
-
<a name='L629'></a><a href='#L629'>629</a>
|
|
695
|
-
<a name='L630'></a><a href='#L630'>630</a>
|
|
696
|
-
<a name='L631'></a><a href='#L631'>631</a>
|
|
697
|
-
<a name='L632'></a><a href='#L632'>632</a>
|
|
698
|
-
<a name='L633'></a><a href='#L633'>633</a>
|
|
699
|
-
<a name='L634'></a><a href='#L634'>634</a>
|
|
700
|
-
<a name='L635'></a><a href='#L635'>635</a>
|
|
701
|
-
<a name='L636'></a><a href='#L636'>636</a>
|
|
702
|
-
<a name='L637'></a><a href='#L637'>637</a>
|
|
703
|
-
<a name='L638'></a><a href='#L638'>638</a>
|
|
704
|
-
<a name='L639'></a><a href='#L639'>639</a>
|
|
705
|
-
<a name='L640'></a><a href='#L640'>640</a>
|
|
706
|
-
<a name='L641'></a><a href='#L641'>641</a>
|
|
707
|
-
<a name='L642'></a><a href='#L642'>642</a>
|
|
708
|
-
<a name='L643'></a><a href='#L643'>643</a>
|
|
709
|
-
<a name='L644'></a><a href='#L644'>644</a>
|
|
710
|
-
<a name='L645'></a><a href='#L645'>645</a>
|
|
711
|
-
<a name='L646'></a><a href='#L646'>646</a>
|
|
712
|
-
<a name='L647'></a><a href='#L647'>647</a>
|
|
713
|
-
<a name='L648'></a><a href='#L648'>648</a>
|
|
714
|
-
<a name='L649'></a><a href='#L649'>649</a>
|
|
715
|
-
<a name='L650'></a><a href='#L650'>650</a>
|
|
716
|
-
<a name='L651'></a><a href='#L651'>651</a>
|
|
717
|
-
<a name='L652'></a><a href='#L652'>652</a>
|
|
718
|
-
<a name='L653'></a><a href='#L653'>653</a>
|
|
719
|
-
<a name='L654'></a><a href='#L654'>654</a>
|
|
720
|
-
<a name='L655'></a><a href='#L655'>655</a>
|
|
721
|
-
<a name='L656'></a><a href='#L656'>656</a>
|
|
722
|
-
<a name='L657'></a><a href='#L657'>657</a>
|
|
723
|
-
<a name='L658'></a><a href='#L658'>658</a>
|
|
724
|
-
<a name='L659'></a><a href='#L659'>659</a>
|
|
725
|
-
<a name='L660'></a><a href='#L660'>660</a>
|
|
726
|
-
<a name='L661'></a><a href='#L661'>661</a>
|
|
727
|
-
<a name='L662'></a><a href='#L662'>662</a>
|
|
728
|
-
<a name='L663'></a><a href='#L663'>663</a>
|
|
729
|
-
<a name='L664'></a><a href='#L664'>664</a>
|
|
730
|
-
<a name='L665'></a><a href='#L665'>665</a>
|
|
731
|
-
<a name='L666'></a><a href='#L666'>666</a>
|
|
732
|
-
<a name='L667'></a><a href='#L667'>667</a>
|
|
733
|
-
<a name='L668'></a><a href='#L668'>668</a>
|
|
734
|
-
<a name='L669'></a><a href='#L669'>669</a>
|
|
735
|
-
<a name='L670'></a><a href='#L670'>670</a>
|
|
736
|
-
<a name='L671'></a><a href='#L671'>671</a>
|
|
737
|
-
<a name='L672'></a><a href='#L672'>672</a>
|
|
738
|
-
<a name='L673'></a><a href='#L673'>673</a>
|
|
739
|
-
<a name='L674'></a><a href='#L674'>674</a>
|
|
740
|
-
<a name='L675'></a><a href='#L675'>675</a>
|
|
741
|
-
<a name='L676'></a><a href='#L676'>676</a>
|
|
742
|
-
<a name='L677'></a><a href='#L677'>677</a>
|
|
743
|
-
<a name='L678'></a><a href='#L678'>678</a>
|
|
744
|
-
<a name='L679'></a><a href='#L679'>679</a>
|
|
745
|
-
<a name='L680'></a><a href='#L680'>680</a>
|
|
746
|
-
<a name='L681'></a><a href='#L681'>681</a>
|
|
747
|
-
<a name='L682'></a><a href='#L682'>682</a>
|
|
748
|
-
<a name='L683'></a><a href='#L683'>683</a>
|
|
749
|
-
<a name='L684'></a><a href='#L684'>684</a>
|
|
750
|
-
<a name='L685'></a><a href='#L685'>685</a>
|
|
751
|
-
<a name='L686'></a><a href='#L686'>686</a>
|
|
752
|
-
<a name='L687'></a><a href='#L687'>687</a>
|
|
753
|
-
<a name='L688'></a><a href='#L688'>688</a>
|
|
754
|
-
<a name='L689'></a><a href='#L689'>689</a>
|
|
755
|
-
<a name='L690'></a><a href='#L690'>690</a>
|
|
756
|
-
<a name='L691'></a><a href='#L691'>691</a>
|
|
757
|
-
<a name='L692'></a><a href='#L692'>692</a>
|
|
758
|
-
<a name='L693'></a><a href='#L693'>693</a>
|
|
759
|
-
<a name='L694'></a><a href='#L694'>694</a>
|
|
760
|
-
<a name='L695'></a><a href='#L695'>695</a>
|
|
761
|
-
<a name='L696'></a><a href='#L696'>696</a>
|
|
762
|
-
<a name='L697'></a><a href='#L697'>697</a>
|
|
763
|
-
<a name='L698'></a><a href='#L698'>698</a>
|
|
764
|
-
<a name='L699'></a><a href='#L699'>699</a>
|
|
765
|
-
<a name='L700'></a><a href='#L700'>700</a>
|
|
766
|
-
<a name='L701'></a><a href='#L701'>701</a>
|
|
767
|
-
<a name='L702'></a><a href='#L702'>702</a>
|
|
768
|
-
<a name='L703'></a><a href='#L703'>703</a>
|
|
769
|
-
<a name='L704'></a><a href='#L704'>704</a>
|
|
770
|
-
<a name='L705'></a><a href='#L705'>705</a>
|
|
771
|
-
<a name='L706'></a><a href='#L706'>706</a>
|
|
772
|
-
<a name='L707'></a><a href='#L707'>707</a>
|
|
773
|
-
<a name='L708'></a><a href='#L708'>708</a>
|
|
774
|
-
<a name='L709'></a><a href='#L709'>709</a>
|
|
775
|
-
<a name='L710'></a><a href='#L710'>710</a>
|
|
776
|
-
<a name='L711'></a><a href='#L711'>711</a>
|
|
777
|
-
<a name='L712'></a><a href='#L712'>712</a>
|
|
778
|
-
<a name='L713'></a><a href='#L713'>713</a>
|
|
779
|
-
<a name='L714'></a><a href='#L714'>714</a>
|
|
780
|
-
<a name='L715'></a><a href='#L715'>715</a>
|
|
781
|
-
<a name='L716'></a><a href='#L716'>716</a>
|
|
782
|
-
<a name='L717'></a><a href='#L717'>717</a>
|
|
783
|
-
<a name='L718'></a><a href='#L718'>718</a>
|
|
784
|
-
<a name='L719'></a><a href='#L719'>719</a>
|
|
785
|
-
<a name='L720'></a><a href='#L720'>720</a>
|
|
786
|
-
<a name='L721'></a><a href='#L721'>721</a>
|
|
787
|
-
<a name='L722'></a><a href='#L722'>722</a>
|
|
788
|
-
<a name='L723'></a><a href='#L723'>723</a>
|
|
789
|
-
<a name='L724'></a><a href='#L724'>724</a>
|
|
790
|
-
<a name='L725'></a><a href='#L725'>725</a>
|
|
791
|
-
<a name='L726'></a><a href='#L726'>726</a>
|
|
792
|
-
<a name='L727'></a><a href='#L727'>727</a>
|
|
793
|
-
<a name='L728'></a><a href='#L728'>728</a>
|
|
794
|
-
<a name='L729'></a><a href='#L729'>729</a>
|
|
795
|
-
<a name='L730'></a><a href='#L730'>730</a>
|
|
796
|
-
<a name='L731'></a><a href='#L731'>731</a>
|
|
797
|
-
<a name='L732'></a><a href='#L732'>732</a>
|
|
798
|
-
<a name='L733'></a><a href='#L733'>733</a>
|
|
799
|
-
<a name='L734'></a><a href='#L734'>734</a>
|
|
800
|
-
<a name='L735'></a><a href='#L735'>735</a>
|
|
801
|
-
<a name='L736'></a><a href='#L736'>736</a>
|
|
802
|
-
<a name='L737'></a><a href='#L737'>737</a>
|
|
803
|
-
<a name='L738'></a><a href='#L738'>738</a>
|
|
804
|
-
<a name='L739'></a><a href='#L739'>739</a>
|
|
805
|
-
<a name='L740'></a><a href='#L740'>740</a>
|
|
806
|
-
<a name='L741'></a><a href='#L741'>741</a>
|
|
807
|
-
<a name='L742'></a><a href='#L742'>742</a>
|
|
808
|
-
<a name='L743'></a><a href='#L743'>743</a>
|
|
809
|
-
<a name='L744'></a><a href='#L744'>744</a>
|
|
810
|
-
<a name='L745'></a><a href='#L745'>745</a>
|
|
811
|
-
<a name='L746'></a><a href='#L746'>746</a>
|
|
812
|
-
<a name='L747'></a><a href='#L747'>747</a>
|
|
813
|
-
<a name='L748'></a><a href='#L748'>748</a>
|
|
814
|
-
<a name='L749'></a><a href='#L749'>749</a>
|
|
815
|
-
<a name='L750'></a><a href='#L750'>750</a>
|
|
816
|
-
<a name='L751'></a><a href='#L751'>751</a>
|
|
817
|
-
<a name='L752'></a><a href='#L752'>752</a>
|
|
818
|
-
<a name='L753'></a><a href='#L753'>753</a>
|
|
819
|
-
<a name='L754'></a><a href='#L754'>754</a>
|
|
820
|
-
<a name='L755'></a><a href='#L755'>755</a>
|
|
821
|
-
<a name='L756'></a><a href='#L756'>756</a>
|
|
822
|
-
<a name='L757'></a><a href='#L757'>757</a>
|
|
823
|
-
<a name='L758'></a><a href='#L758'>758</a>
|
|
824
|
-
<a name='L759'></a><a href='#L759'>759</a>
|
|
825
|
-
<a name='L760'></a><a href='#L760'>760</a>
|
|
826
|
-
<a name='L761'></a><a href='#L761'>761</a>
|
|
827
|
-
<a name='L762'></a><a href='#L762'>762</a>
|
|
828
|
-
<a name='L763'></a><a href='#L763'>763</a>
|
|
829
|
-
<a name='L764'></a><a href='#L764'>764</a>
|
|
830
|
-
<a name='L765'></a><a href='#L765'>765</a>
|
|
831
|
-
<a name='L766'></a><a href='#L766'>766</a>
|
|
832
|
-
<a name='L767'></a><a href='#L767'>767</a>
|
|
833
|
-
<a name='L768'></a><a href='#L768'>768</a>
|
|
834
|
-
<a name='L769'></a><a href='#L769'>769</a>
|
|
835
|
-
<a name='L770'></a><a href='#L770'>770</a>
|
|
836
|
-
<a name='L771'></a><a href='#L771'>771</a>
|
|
837
|
-
<a name='L772'></a><a href='#L772'>772</a>
|
|
838
|
-
<a name='L773'></a><a href='#L773'>773</a>
|
|
839
|
-
<a name='L774'></a><a href='#L774'>774</a>
|
|
840
|
-
<a name='L775'></a><a href='#L775'>775</a>
|
|
841
|
-
<a name='L776'></a><a href='#L776'>776</a>
|
|
842
|
-
<a name='L777'></a><a href='#L777'>777</a>
|
|
843
|
-
<a name='L778'></a><a href='#L778'>778</a>
|
|
844
|
-
<a name='L779'></a><a href='#L779'>779</a>
|
|
845
|
-
<a name='L780'></a><a href='#L780'>780</a>
|
|
846
|
-
<a name='L781'></a><a href='#L781'>781</a>
|
|
847
|
-
<a name='L782'></a><a href='#L782'>782</a>
|
|
848
|
-
<a name='L783'></a><a href='#L783'>783</a>
|
|
849
|
-
<a name='L784'></a><a href='#L784'>784</a>
|
|
850
|
-
<a name='L785'></a><a href='#L785'>785</a>
|
|
851
|
-
<a name='L786'></a><a href='#L786'>786</a>
|
|
852
|
-
<a name='L787'></a><a href='#L787'>787</a>
|
|
853
|
-
<a name='L788'></a><a href='#L788'>788</a>
|
|
854
|
-
<a name='L789'></a><a href='#L789'>789</a>
|
|
855
|
-
<a name='L790'></a><a href='#L790'>790</a>
|
|
856
|
-
<a name='L791'></a><a href='#L791'>791</a>
|
|
857
|
-
<a name='L792'></a><a href='#L792'>792</a>
|
|
858
|
-
<a name='L793'></a><a href='#L793'>793</a>
|
|
859
|
-
<a name='L794'></a><a href='#L794'>794</a>
|
|
860
|
-
<a name='L795'></a><a href='#L795'>795</a>
|
|
861
|
-
<a name='L796'></a><a href='#L796'>796</a>
|
|
862
|
-
<a name='L797'></a><a href='#L797'>797</a>
|
|
863
|
-
<a name='L798'></a><a href='#L798'>798</a>
|
|
864
|
-
<a name='L799'></a><a href='#L799'>799</a>
|
|
865
|
-
<a name='L800'></a><a href='#L800'>800</a>
|
|
866
|
-
<a name='L801'></a><a href='#L801'>801</a>
|
|
867
|
-
<a name='L802'></a><a href='#L802'>802</a>
|
|
868
|
-
<a name='L803'></a><a href='#L803'>803</a>
|
|
869
|
-
<a name='L804'></a><a href='#L804'>804</a>
|
|
870
|
-
<a name='L805'></a><a href='#L805'>805</a>
|
|
871
|
-
<a name='L806'></a><a href='#L806'>806</a>
|
|
872
|
-
<a name='L807'></a><a href='#L807'>807</a>
|
|
873
|
-
<a name='L808'></a><a href='#L808'>808</a>
|
|
874
|
-
<a name='L809'></a><a href='#L809'>809</a>
|
|
875
|
-
<a name='L810'></a><a href='#L810'>810</a>
|
|
876
|
-
<a name='L811'></a><a href='#L811'>811</a>
|
|
877
|
-
<a name='L812'></a><a href='#L812'>812</a>
|
|
878
|
-
<a name='L813'></a><a href='#L813'>813</a>
|
|
879
|
-
<a name='L814'></a><a href='#L814'>814</a>
|
|
880
|
-
<a name='L815'></a><a href='#L815'>815</a>
|
|
881
|
-
<a name='L816'></a><a href='#L816'>816</a>
|
|
882
|
-
<a name='L817'></a><a href='#L817'>817</a>
|
|
883
|
-
<a name='L818'></a><a href='#L818'>818</a>
|
|
884
|
-
<a name='L819'></a><a href='#L819'>819</a>
|
|
885
|
-
<a name='L820'></a><a href='#L820'>820</a>
|
|
886
|
-
<a name='L821'></a><a href='#L821'>821</a>
|
|
887
|
-
<a name='L822'></a><a href='#L822'>822</a>
|
|
888
|
-
<a name='L823'></a><a href='#L823'>823</a>
|
|
889
|
-
<a name='L824'></a><a href='#L824'>824</a>
|
|
890
|
-
<a name='L825'></a><a href='#L825'>825</a>
|
|
891
|
-
<a name='L826'></a><a href='#L826'>826</a>
|
|
892
|
-
<a name='L827'></a><a href='#L827'>827</a>
|
|
893
|
-
<a name='L828'></a><a href='#L828'>828</a>
|
|
894
|
-
<a name='L829'></a><a href='#L829'>829</a>
|
|
895
|
-
<a name='L830'></a><a href='#L830'>830</a>
|
|
896
|
-
<a name='L831'></a><a href='#L831'>831</a>
|
|
897
|
-
<a name='L832'></a><a href='#L832'>832</a>
|
|
898
|
-
<a name='L833'></a><a href='#L833'>833</a>
|
|
899
|
-
<a name='L834'></a><a href='#L834'>834</a>
|
|
900
|
-
<a name='L835'></a><a href='#L835'>835</a>
|
|
901
|
-
<a name='L836'></a><a href='#L836'>836</a>
|
|
902
|
-
<a name='L837'></a><a href='#L837'>837</a>
|
|
903
|
-
<a name='L838'></a><a href='#L838'>838</a>
|
|
904
|
-
<a name='L839'></a><a href='#L839'>839</a>
|
|
905
|
-
<a name='L840'></a><a href='#L840'>840</a>
|
|
906
|
-
<a name='L841'></a><a href='#L841'>841</a>
|
|
907
|
-
<a name='L842'></a><a href='#L842'>842</a>
|
|
908
|
-
<a name='L843'></a><a href='#L843'>843</a>
|
|
909
|
-
<a name='L844'></a><a href='#L844'>844</a>
|
|
910
|
-
<a name='L845'></a><a href='#L845'>845</a>
|
|
911
|
-
<a name='L846'></a><a href='#L846'>846</a>
|
|
912
|
-
<a name='L847'></a><a href='#L847'>847</a>
|
|
913
|
-
<a name='L848'></a><a href='#L848'>848</a>
|
|
914
|
-
<a name='L849'></a><a href='#L849'>849</a>
|
|
915
|
-
<a name='L850'></a><a href='#L850'>850</a>
|
|
916
|
-
<a name='L851'></a><a href='#L851'>851</a>
|
|
917
|
-
<a name='L852'></a><a href='#L852'>852</a>
|
|
918
|
-
<a name='L853'></a><a href='#L853'>853</a>
|
|
919
|
-
<a name='L854'></a><a href='#L854'>854</a>
|
|
920
|
-
<a name='L855'></a><a href='#L855'>855</a>
|
|
921
|
-
<a name='L856'></a><a href='#L856'>856</a>
|
|
922
|
-
<a name='L857'></a><a href='#L857'>857</a>
|
|
923
|
-
<a name='L858'></a><a href='#L858'>858</a>
|
|
924
|
-
<a name='L859'></a><a href='#L859'>859</a>
|
|
925
|
-
<a name='L860'></a><a href='#L860'>860</a>
|
|
926
|
-
<a name='L861'></a><a href='#L861'>861</a>
|
|
927
|
-
<a name='L862'></a><a href='#L862'>862</a>
|
|
928
|
-
<a name='L863'></a><a href='#L863'>863</a>
|
|
929
|
-
<a name='L864'></a><a href='#L864'>864</a>
|
|
930
|
-
<a name='L865'></a><a href='#L865'>865</a>
|
|
931
|
-
<a name='L866'></a><a href='#L866'>866</a>
|
|
932
|
-
<a name='L867'></a><a href='#L867'>867</a>
|
|
933
|
-
<a name='L868'></a><a href='#L868'>868</a>
|
|
934
|
-
<a name='L869'></a><a href='#L869'>869</a>
|
|
935
|
-
<a name='L870'></a><a href='#L870'>870</a>
|
|
936
|
-
<a name='L871'></a><a href='#L871'>871</a>
|
|
937
|
-
<a name='L872'></a><a href='#L872'>872</a>
|
|
938
|
-
<a name='L873'></a><a href='#L873'>873</a>
|
|
939
|
-
<a name='L874'></a><a href='#L874'>874</a>
|
|
940
|
-
<a name='L875'></a><a href='#L875'>875</a>
|
|
941
|
-
<a name='L876'></a><a href='#L876'>876</a>
|
|
942
|
-
<a name='L877'></a><a href='#L877'>877</a>
|
|
943
|
-
<a name='L878'></a><a href='#L878'>878</a>
|
|
944
|
-
<a name='L879'></a><a href='#L879'>879</a>
|
|
945
|
-
<a name='L880'></a><a href='#L880'>880</a>
|
|
946
|
-
<a name='L881'></a><a href='#L881'>881</a>
|
|
947
|
-
<a name='L882'></a><a href='#L882'>882</a>
|
|
948
|
-
<a name='L883'></a><a href='#L883'>883</a>
|
|
949
|
-
<a name='L884'></a><a href='#L884'>884</a>
|
|
950
|
-
<a name='L885'></a><a href='#L885'>885</a>
|
|
951
|
-
<a name='L886'></a><a href='#L886'>886</a>
|
|
952
|
-
<a name='L887'></a><a href='#L887'>887</a>
|
|
953
|
-
<a name='L888'></a><a href='#L888'>888</a>
|
|
954
|
-
<a name='L889'></a><a href='#L889'>889</a>
|
|
955
|
-
<a name='L890'></a><a href='#L890'>890</a>
|
|
956
|
-
<a name='L891'></a><a href='#L891'>891</a>
|
|
957
|
-
<a name='L892'></a><a href='#L892'>892</a>
|
|
958
|
-
<a name='L893'></a><a href='#L893'>893</a>
|
|
959
|
-
<a name='L894'></a><a href='#L894'>894</a>
|
|
960
|
-
<a name='L895'></a><a href='#L895'>895</a>
|
|
961
|
-
<a name='L896'></a><a href='#L896'>896</a>
|
|
962
|
-
<a name='L897'></a><a href='#L897'>897</a>
|
|
963
|
-
<a name='L898'></a><a href='#L898'>898</a>
|
|
964
|
-
<a name='L899'></a><a href='#L899'>899</a>
|
|
965
|
-
<a name='L900'></a><a href='#L900'>900</a>
|
|
966
|
-
<a name='L901'></a><a href='#L901'>901</a>
|
|
967
|
-
<a name='L902'></a><a href='#L902'>902</a>
|
|
968
|
-
<a name='L903'></a><a href='#L903'>903</a>
|
|
969
|
-
<a name='L904'></a><a href='#L904'>904</a>
|
|
970
|
-
<a name='L905'></a><a href='#L905'>905</a>
|
|
971
|
-
<a name='L906'></a><a href='#L906'>906</a>
|
|
972
|
-
<a name='L907'></a><a href='#L907'>907</a>
|
|
973
|
-
<a name='L908'></a><a href='#L908'>908</a>
|
|
974
|
-
<a name='L909'></a><a href='#L909'>909</a>
|
|
975
|
-
<a name='L910'></a><a href='#L910'>910</a>
|
|
976
|
-
<a name='L911'></a><a href='#L911'>911</a>
|
|
977
|
-
<a name='L912'></a><a href='#L912'>912</a>
|
|
978
|
-
<a name='L913'></a><a href='#L913'>913</a>
|
|
979
|
-
<a name='L914'></a><a href='#L914'>914</a>
|
|
980
|
-
<a name='L915'></a><a href='#L915'>915</a>
|
|
981
|
-
<a name='L916'></a><a href='#L916'>916</a>
|
|
982
|
-
<a name='L917'></a><a href='#L917'>917</a>
|
|
983
|
-
<a name='L918'></a><a href='#L918'>918</a>
|
|
984
|
-
<a name='L919'></a><a href='#L919'>919</a>
|
|
985
|
-
<a name='L920'></a><a href='#L920'>920</a>
|
|
986
|
-
<a name='L921'></a><a href='#L921'>921</a>
|
|
987
|
-
<a name='L922'></a><a href='#L922'>922</a>
|
|
988
|
-
<a name='L923'></a><a href='#L923'>923</a>
|
|
989
|
-
<a name='L924'></a><a href='#L924'>924</a>
|
|
990
|
-
<a name='L925'></a><a href='#L925'>925</a>
|
|
991
|
-
<a name='L926'></a><a href='#L926'>926</a>
|
|
992
|
-
<a name='L927'></a><a href='#L927'>927</a>
|
|
993
|
-
<a name='L928'></a><a href='#L928'>928</a>
|
|
994
|
-
<a name='L929'></a><a href='#L929'>929</a>
|
|
995
|
-
<a name='L930'></a><a href='#L930'>930</a>
|
|
996
|
-
<a name='L931'></a><a href='#L931'>931</a>
|
|
997
|
-
<a name='L932'></a><a href='#L932'>932</a>
|
|
998
|
-
<a name='L933'></a><a href='#L933'>933</a>
|
|
999
|
-
<a name='L934'></a><a href='#L934'>934</a>
|
|
1000
|
-
<a name='L935'></a><a href='#L935'>935</a>
|
|
1001
|
-
<a name='L936'></a><a href='#L936'>936</a>
|
|
1002
|
-
<a name='L937'></a><a href='#L937'>937</a>
|
|
1003
|
-
<a name='L938'></a><a href='#L938'>938</a>
|
|
1004
|
-
<a name='L939'></a><a href='#L939'>939</a>
|
|
1005
|
-
<a name='L940'></a><a href='#L940'>940</a>
|
|
1006
|
-
<a name='L941'></a><a href='#L941'>941</a>
|
|
1007
|
-
<a name='L942'></a><a href='#L942'>942</a>
|
|
1008
|
-
<a name='L943'></a><a href='#L943'>943</a>
|
|
1009
|
-
<a name='L944'></a><a href='#L944'>944</a>
|
|
1010
|
-
<a name='L945'></a><a href='#L945'>945</a>
|
|
1011
|
-
<a name='L946'></a><a href='#L946'>946</a>
|
|
1012
|
-
<a name='L947'></a><a href='#L947'>947</a>
|
|
1013
|
-
<a name='L948'></a><a href='#L948'>948</a>
|
|
1014
|
-
<a name='L949'></a><a href='#L949'>949</a>
|
|
1015
|
-
<a name='L950'></a><a href='#L950'>950</a>
|
|
1016
|
-
<a name='L951'></a><a href='#L951'>951</a>
|
|
1017
|
-
<a name='L952'></a><a href='#L952'>952</a>
|
|
1018
|
-
<a name='L953'></a><a href='#L953'>953</a>
|
|
1019
|
-
<a name='L954'></a><a href='#L954'>954</a>
|
|
1020
|
-
<a name='L955'></a><a href='#L955'>955</a>
|
|
1021
|
-
<a name='L956'></a><a href='#L956'>956</a>
|
|
1022
|
-
<a name='L957'></a><a href='#L957'>957</a>
|
|
1023
|
-
<a name='L958'></a><a href='#L958'>958</a>
|
|
1024
|
-
<a name='L959'></a><a href='#L959'>959</a>
|
|
1025
|
-
<a name='L960'></a><a href='#L960'>960</a>
|
|
1026
|
-
<a name='L961'></a><a href='#L961'>961</a>
|
|
1027
|
-
<a name='L962'></a><a href='#L962'>962</a>
|
|
1028
|
-
<a name='L963'></a><a href='#L963'>963</a>
|
|
1029
|
-
<a name='L964'></a><a href='#L964'>964</a>
|
|
1030
|
-
<a name='L965'></a><a href='#L965'>965</a>
|
|
1031
|
-
<a name='L966'></a><a href='#L966'>966</a>
|
|
1032
|
-
<a name='L967'></a><a href='#L967'>967</a>
|
|
1033
|
-
<a name='L968'></a><a href='#L968'>968</a>
|
|
1034
|
-
<a name='L969'></a><a href='#L969'>969</a>
|
|
1035
|
-
<a name='L970'></a><a href='#L970'>970</a>
|
|
1036
|
-
<a name='L971'></a><a href='#L971'>971</a>
|
|
1037
|
-
<a name='L972'></a><a href='#L972'>972</a>
|
|
1038
|
-
<a name='L973'></a><a href='#L973'>973</a>
|
|
1039
|
-
<a name='L974'></a><a href='#L974'>974</a>
|
|
1040
|
-
<a name='L975'></a><a href='#L975'>975</a>
|
|
1041
|
-
<a name='L976'></a><a href='#L976'>976</a>
|
|
1042
|
-
<a name='L977'></a><a href='#L977'>977</a>
|
|
1043
|
-
<a name='L978'></a><a href='#L978'>978</a>
|
|
1044
|
-
<a name='L979'></a><a href='#L979'>979</a>
|
|
1045
|
-
<a name='L980'></a><a href='#L980'>980</a>
|
|
1046
|
-
<a name='L981'></a><a href='#L981'>981</a>
|
|
1047
|
-
<a name='L982'></a><a href='#L982'>982</a>
|
|
1048
|
-
<a name='L983'></a><a href='#L983'>983</a>
|
|
1049
|
-
<a name='L984'></a><a href='#L984'>984</a>
|
|
1050
|
-
<a name='L985'></a><a href='#L985'>985</a>
|
|
1051
|
-
<a name='L986'></a><a href='#L986'>986</a>
|
|
1052
|
-
<a name='L987'></a><a href='#L987'>987</a>
|
|
1053
|
-
<a name='L988'></a><a href='#L988'>988</a>
|
|
1054
|
-
<a name='L989'></a><a href='#L989'>989</a>
|
|
1055
|
-
<a name='L990'></a><a href='#L990'>990</a>
|
|
1056
|
-
<a name='L991'></a><a href='#L991'>991</a>
|
|
1057
|
-
<a name='L992'></a><a href='#L992'>992</a>
|
|
1058
|
-
<a name='L993'></a><a href='#L993'>993</a>
|
|
1059
|
-
<a name='L994'></a><a href='#L994'>994</a>
|
|
1060
|
-
<a name='L995'></a><a href='#L995'>995</a>
|
|
1061
|
-
<a name='L996'></a><a href='#L996'>996</a>
|
|
1062
|
-
<a name='L997'></a><a href='#L997'>997</a>
|
|
1063
|
-
<a name='L998'></a><a href='#L998'>998</a>
|
|
1064
|
-
<a name='L999'></a><a href='#L999'>999</a>
|
|
1065
|
-
<a name='L1000'></a><a href='#L1000'>1000</a>
|
|
1066
|
-
<a name='L1001'></a><a href='#L1001'>1001</a>
|
|
1067
|
-
<a name='L1002'></a><a href='#L1002'>1002</a>
|
|
1068
|
-
<a name='L1003'></a><a href='#L1003'>1003</a>
|
|
1069
|
-
<a name='L1004'></a><a href='#L1004'>1004</a>
|
|
1070
|
-
<a name='L1005'></a><a href='#L1005'>1005</a>
|
|
1071
|
-
<a name='L1006'></a><a href='#L1006'>1006</a>
|
|
1072
|
-
<a name='L1007'></a><a href='#L1007'>1007</a>
|
|
1073
|
-
<a name='L1008'></a><a href='#L1008'>1008</a>
|
|
1074
|
-
<a name='L1009'></a><a href='#L1009'>1009</a>
|
|
1075
|
-
<a name='L1010'></a><a href='#L1010'>1010</a>
|
|
1076
|
-
<a name='L1011'></a><a href='#L1011'>1011</a>
|
|
1077
|
-
<a name='L1012'></a><a href='#L1012'>1012</a>
|
|
1078
|
-
<a name='L1013'></a><a href='#L1013'>1013</a>
|
|
1079
|
-
<a name='L1014'></a><a href='#L1014'>1014</a>
|
|
1080
|
-
<a name='L1015'></a><a href='#L1015'>1015</a>
|
|
1081
|
-
<a name='L1016'></a><a href='#L1016'>1016</a>
|
|
1082
|
-
<a name='L1017'></a><a href='#L1017'>1017</a>
|
|
1083
|
-
<a name='L1018'></a><a href='#L1018'>1018</a>
|
|
1084
|
-
<a name='L1019'></a><a href='#L1019'>1019</a>
|
|
1085
|
-
<a name='L1020'></a><a href='#L1020'>1020</a>
|
|
1086
|
-
<a name='L1021'></a><a href='#L1021'>1021</a>
|
|
1087
|
-
<a name='L1022'></a><a href='#L1022'>1022</a>
|
|
1088
|
-
<a name='L1023'></a><a href='#L1023'>1023</a>
|
|
1089
|
-
<a name='L1024'></a><a href='#L1024'>1024</a>
|
|
1090
|
-
<a name='L1025'></a><a href='#L1025'>1025</a>
|
|
1091
|
-
<a name='L1026'></a><a href='#L1026'>1026</a>
|
|
1092
|
-
<a name='L1027'></a><a href='#L1027'>1027</a>
|
|
1093
|
-
<a name='L1028'></a><a href='#L1028'>1028</a>
|
|
1094
|
-
<a name='L1029'></a><a href='#L1029'>1029</a>
|
|
1095
|
-
<a name='L1030'></a><a href='#L1030'>1030</a>
|
|
1096
|
-
<a name='L1031'></a><a href='#L1031'>1031</a>
|
|
1097
|
-
<a name='L1032'></a><a href='#L1032'>1032</a>
|
|
1098
|
-
<a name='L1033'></a><a href='#L1033'>1033</a>
|
|
1099
|
-
<a name='L1034'></a><a href='#L1034'>1034</a>
|
|
1100
|
-
<a name='L1035'></a><a href='#L1035'>1035</a>
|
|
1101
|
-
<a name='L1036'></a><a href='#L1036'>1036</a>
|
|
1102
|
-
<a name='L1037'></a><a href='#L1037'>1037</a>
|
|
1103
|
-
<a name='L1038'></a><a href='#L1038'>1038</a>
|
|
1104
|
-
<a name='L1039'></a><a href='#L1039'>1039</a>
|
|
1105
|
-
<a name='L1040'></a><a href='#L1040'>1040</a>
|
|
1106
|
-
<a name='L1041'></a><a href='#L1041'>1041</a>
|
|
1107
|
-
<a name='L1042'></a><a href='#L1042'>1042</a>
|
|
1108
|
-
<a name='L1043'></a><a href='#L1043'>1043</a>
|
|
1109
|
-
<a name='L1044'></a><a href='#L1044'>1044</a>
|
|
1110
|
-
<a name='L1045'></a><a href='#L1045'>1045</a>
|
|
1111
|
-
<a name='L1046'></a><a href='#L1046'>1046</a>
|
|
1112
|
-
<a name='L1047'></a><a href='#L1047'>1047</a>
|
|
1113
|
-
<a name='L1048'></a><a href='#L1048'>1048</a>
|
|
1114
|
-
<a name='L1049'></a><a href='#L1049'>1049</a>
|
|
1115
|
-
<a name='L1050'></a><a href='#L1050'>1050</a>
|
|
1116
|
-
<a name='L1051'></a><a href='#L1051'>1051</a>
|
|
1117
|
-
<a name='L1052'></a><a href='#L1052'>1052</a>
|
|
1118
|
-
<a name='L1053'></a><a href='#L1053'>1053</a>
|
|
1119
|
-
<a name='L1054'></a><a href='#L1054'>1054</a>
|
|
1120
|
-
<a name='L1055'></a><a href='#L1055'>1055</a>
|
|
1121
|
-
<a name='L1056'></a><a href='#L1056'>1056</a>
|
|
1122
|
-
<a name='L1057'></a><a href='#L1057'>1057</a>
|
|
1123
|
-
<a name='L1058'></a><a href='#L1058'>1058</a>
|
|
1124
|
-
<a name='L1059'></a><a href='#L1059'>1059</a>
|
|
1125
|
-
<a name='L1060'></a><a href='#L1060'>1060</a>
|
|
1126
|
-
<a name='L1061'></a><a href='#L1061'>1061</a>
|
|
1127
|
-
<a name='L1062'></a><a href='#L1062'>1062</a>
|
|
1128
|
-
<a name='L1063'></a><a href='#L1063'>1063</a>
|
|
1129
|
-
<a name='L1064'></a><a href='#L1064'>1064</a>
|
|
1130
|
-
<a name='L1065'></a><a href='#L1065'>1065</a>
|
|
1131
|
-
<a name='L1066'></a><a href='#L1066'>1066</a>
|
|
1132
|
-
<a name='L1067'></a><a href='#L1067'>1067</a>
|
|
1133
|
-
<a name='L1068'></a><a href='#L1068'>1068</a>
|
|
1134
|
-
<a name='L1069'></a><a href='#L1069'>1069</a>
|
|
1135
|
-
<a name='L1070'></a><a href='#L1070'>1070</a>
|
|
1136
|
-
<a name='L1071'></a><a href='#L1071'>1071</a>
|
|
1137
|
-
<a name='L1072'></a><a href='#L1072'>1072</a>
|
|
1138
|
-
<a name='L1073'></a><a href='#L1073'>1073</a>
|
|
1139
|
-
<a name='L1074'></a><a href='#L1074'>1074</a>
|
|
1140
|
-
<a name='L1075'></a><a href='#L1075'>1075</a>
|
|
1141
|
-
<a name='L1076'></a><a href='#L1076'>1076</a>
|
|
1142
|
-
<a name='L1077'></a><a href='#L1077'>1077</a>
|
|
1143
|
-
<a name='L1078'></a><a href='#L1078'>1078</a>
|
|
1144
|
-
<a name='L1079'></a><a href='#L1079'>1079</a>
|
|
1145
|
-
<a name='L1080'></a><a href='#L1080'>1080</a>
|
|
1146
|
-
<a name='L1081'></a><a href='#L1081'>1081</a>
|
|
1147
|
-
<a name='L1082'></a><a href='#L1082'>1082</a>
|
|
1148
|
-
<a name='L1083'></a><a href='#L1083'>1083</a>
|
|
1149
|
-
<a name='L1084'></a><a href='#L1084'>1084</a>
|
|
1150
|
-
<a name='L1085'></a><a href='#L1085'>1085</a>
|
|
1151
|
-
<a name='L1086'></a><a href='#L1086'>1086</a>
|
|
1152
|
-
<a name='L1087'></a><a href='#L1087'>1087</a>
|
|
1153
|
-
<a name='L1088'></a><a href='#L1088'>1088</a>
|
|
1154
|
-
<a name='L1089'></a><a href='#L1089'>1089</a>
|
|
1155
|
-
<a name='L1090'></a><a href='#L1090'>1090</a>
|
|
1156
|
-
<a name='L1091'></a><a href='#L1091'>1091</a>
|
|
1157
|
-
<a name='L1092'></a><a href='#L1092'>1092</a>
|
|
1158
|
-
<a name='L1093'></a><a href='#L1093'>1093</a>
|
|
1159
|
-
<a name='L1094'></a><a href='#L1094'>1094</a>
|
|
1160
|
-
<a name='L1095'></a><a href='#L1095'>1095</a>
|
|
1161
|
-
<a name='L1096'></a><a href='#L1096'>1096</a>
|
|
1162
|
-
<a name='L1097'></a><a href='#L1097'>1097</a>
|
|
1163
|
-
<a name='L1098'></a><a href='#L1098'>1098</a>
|
|
1164
|
-
<a name='L1099'></a><a href='#L1099'>1099</a>
|
|
1165
|
-
<a name='L1100'></a><a href='#L1100'>1100</a>
|
|
1166
|
-
<a name='L1101'></a><a href='#L1101'>1101</a>
|
|
1167
|
-
<a name='L1102'></a><a href='#L1102'>1102</a>
|
|
1168
|
-
<a name='L1103'></a><a href='#L1103'>1103</a>
|
|
1169
|
-
<a name='L1104'></a><a href='#L1104'>1104</a>
|
|
1170
|
-
<a name='L1105'></a><a href='#L1105'>1105</a>
|
|
1171
|
-
<a name='L1106'></a><a href='#L1106'>1106</a>
|
|
1172
|
-
<a name='L1107'></a><a href='#L1107'>1107</a>
|
|
1173
|
-
<a name='L1108'></a><a href='#L1108'>1108</a>
|
|
1174
|
-
<a name='L1109'></a><a href='#L1109'>1109</a>
|
|
1175
|
-
<a name='L1110'></a><a href='#L1110'>1110</a>
|
|
1176
|
-
<a name='L1111'></a><a href='#L1111'>1111</a>
|
|
1177
|
-
<a name='L1112'></a><a href='#L1112'>1112</a>
|
|
1178
|
-
<a name='L1113'></a><a href='#L1113'>1113</a>
|
|
1179
|
-
<a name='L1114'></a><a href='#L1114'>1114</a>
|
|
1180
|
-
<a name='L1115'></a><a href='#L1115'>1115</a>
|
|
1181
|
-
<a name='L1116'></a><a href='#L1116'>1116</a>
|
|
1182
|
-
<a name='L1117'></a><a href='#L1117'>1117</a>
|
|
1183
|
-
<a name='L1118'></a><a href='#L1118'>1118</a>
|
|
1184
|
-
<a name='L1119'></a><a href='#L1119'>1119</a>
|
|
1185
|
-
<a name='L1120'></a><a href='#L1120'>1120</a>
|
|
1186
|
-
<a name='L1121'></a><a href='#L1121'>1121</a>
|
|
1187
|
-
<a name='L1122'></a><a href='#L1122'>1122</a>
|
|
1188
|
-
<a name='L1123'></a><a href='#L1123'>1123</a>
|
|
1189
|
-
<a name='L1124'></a><a href='#L1124'>1124</a>
|
|
1190
|
-
<a name='L1125'></a><a href='#L1125'>1125</a>
|
|
1191
|
-
<a name='L1126'></a><a href='#L1126'>1126</a>
|
|
1192
|
-
<a name='L1127'></a><a href='#L1127'>1127</a>
|
|
1193
|
-
<a name='L1128'></a><a href='#L1128'>1128</a>
|
|
1194
|
-
<a name='L1129'></a><a href='#L1129'>1129</a>
|
|
1195
|
-
<a name='L1130'></a><a href='#L1130'>1130</a>
|
|
1196
|
-
<a name='L1131'></a><a href='#L1131'>1131</a>
|
|
1197
|
-
<a name='L1132'></a><a href='#L1132'>1132</a>
|
|
1198
|
-
<a name='L1133'></a><a href='#L1133'>1133</a>
|
|
1199
|
-
<a name='L1134'></a><a href='#L1134'>1134</a>
|
|
1200
|
-
<a name='L1135'></a><a href='#L1135'>1135</a>
|
|
1201
|
-
<a name='L1136'></a><a href='#L1136'>1136</a>
|
|
1202
|
-
<a name='L1137'></a><a href='#L1137'>1137</a>
|
|
1203
|
-
<a name='L1138'></a><a href='#L1138'>1138</a>
|
|
1204
|
-
<a name='L1139'></a><a href='#L1139'>1139</a>
|
|
1205
|
-
<a name='L1140'></a><a href='#L1140'>1140</a>
|
|
1206
|
-
<a name='L1141'></a><a href='#L1141'>1141</a>
|
|
1207
|
-
<a name='L1142'></a><a href='#L1142'>1142</a>
|
|
1208
|
-
<a name='L1143'></a><a href='#L1143'>1143</a>
|
|
1209
|
-
<a name='L1144'></a><a href='#L1144'>1144</a>
|
|
1210
|
-
<a name='L1145'></a><a href='#L1145'>1145</a>
|
|
1211
|
-
<a name='L1146'></a><a href='#L1146'>1146</a>
|
|
1212
|
-
<a name='L1147'></a><a href='#L1147'>1147</a>
|
|
1213
|
-
<a name='L1148'></a><a href='#L1148'>1148</a>
|
|
1214
|
-
<a name='L1149'></a><a href='#L1149'>1149</a>
|
|
1215
|
-
<a name='L1150'></a><a href='#L1150'>1150</a>
|
|
1216
|
-
<a name='L1151'></a><a href='#L1151'>1151</a>
|
|
1217
|
-
<a name='L1152'></a><a href='#L1152'>1152</a>
|
|
1218
|
-
<a name='L1153'></a><a href='#L1153'>1153</a>
|
|
1219
|
-
<a name='L1154'></a><a href='#L1154'>1154</a>
|
|
1220
|
-
<a name='L1155'></a><a href='#L1155'>1155</a>
|
|
1221
|
-
<a name='L1156'></a><a href='#L1156'>1156</a>
|
|
1222
|
-
<a name='L1157'></a><a href='#L1157'>1157</a>
|
|
1223
|
-
<a name='L1158'></a><a href='#L1158'>1158</a>
|
|
1224
|
-
<a name='L1159'></a><a href='#L1159'>1159</a>
|
|
1225
|
-
<a name='L1160'></a><a href='#L1160'>1160</a>
|
|
1226
|
-
<a name='L1161'></a><a href='#L1161'>1161</a>
|
|
1227
|
-
<a name='L1162'></a><a href='#L1162'>1162</a>
|
|
1228
|
-
<a name='L1163'></a><a href='#L1163'>1163</a>
|
|
1229
|
-
<a name='L1164'></a><a href='#L1164'>1164</a>
|
|
1230
|
-
<a name='L1165'></a><a href='#L1165'>1165</a>
|
|
1231
|
-
<a name='L1166'></a><a href='#L1166'>1166</a>
|
|
1232
|
-
<a name='L1167'></a><a href='#L1167'>1167</a>
|
|
1233
|
-
<a name='L1168'></a><a href='#L1168'>1168</a>
|
|
1234
|
-
<a name='L1169'></a><a href='#L1169'>1169</a>
|
|
1235
|
-
<a name='L1170'></a><a href='#L1170'>1170</a>
|
|
1236
|
-
<a name='L1171'></a><a href='#L1171'>1171</a>
|
|
1237
|
-
<a name='L1172'></a><a href='#L1172'>1172</a>
|
|
1238
|
-
<a name='L1173'></a><a href='#L1173'>1173</a>
|
|
1239
|
-
<a name='L1174'></a><a href='#L1174'>1174</a>
|
|
1240
|
-
<a name='L1175'></a><a href='#L1175'>1175</a>
|
|
1241
|
-
<a name='L1176'></a><a href='#L1176'>1176</a>
|
|
1242
|
-
<a name='L1177'></a><a href='#L1177'>1177</a>
|
|
1243
|
-
<a name='L1178'></a><a href='#L1178'>1178</a>
|
|
1244
|
-
<a name='L1179'></a><a href='#L1179'>1179</a>
|
|
1245
|
-
<a name='L1180'></a><a href='#L1180'>1180</a>
|
|
1246
|
-
<a name='L1181'></a><a href='#L1181'>1181</a>
|
|
1247
|
-
<a name='L1182'></a><a href='#L1182'>1182</a>
|
|
1248
|
-
<a name='L1183'></a><a href='#L1183'>1183</a>
|
|
1249
|
-
<a name='L1184'></a><a href='#L1184'>1184</a>
|
|
1250
|
-
<a name='L1185'></a><a href='#L1185'>1185</a>
|
|
1251
|
-
<a name='L1186'></a><a href='#L1186'>1186</a>
|
|
1252
|
-
<a name='L1187'></a><a href='#L1187'>1187</a>
|
|
1253
|
-
<a name='L1188'></a><a href='#L1188'>1188</a>
|
|
1254
|
-
<a name='L1189'></a><a href='#L1189'>1189</a>
|
|
1255
|
-
<a name='L1190'></a><a href='#L1190'>1190</a>
|
|
1256
|
-
<a name='L1191'></a><a href='#L1191'>1191</a>
|
|
1257
|
-
<a name='L1192'></a><a href='#L1192'>1192</a>
|
|
1258
|
-
<a name='L1193'></a><a href='#L1193'>1193</a>
|
|
1259
|
-
<a name='L1194'></a><a href='#L1194'>1194</a>
|
|
1260
|
-
<a name='L1195'></a><a href='#L1195'>1195</a>
|
|
1261
|
-
<a name='L1196'></a><a href='#L1196'>1196</a>
|
|
1262
|
-
<a name='L1197'></a><a href='#L1197'>1197</a>
|
|
1263
|
-
<a name='L1198'></a><a href='#L1198'>1198</a>
|
|
1264
|
-
<a name='L1199'></a><a href='#L1199'>1199</a>
|
|
1265
|
-
<a name='L1200'></a><a href='#L1200'>1200</a>
|
|
1266
|
-
<a name='L1201'></a><a href='#L1201'>1201</a>
|
|
1267
|
-
<a name='L1202'></a><a href='#L1202'>1202</a>
|
|
1268
|
-
<a name='L1203'></a><a href='#L1203'>1203</a>
|
|
1269
|
-
<a name='L1204'></a><a href='#L1204'>1204</a>
|
|
1270
|
-
<a name='L1205'></a><a href='#L1205'>1205</a>
|
|
1271
|
-
<a name='L1206'></a><a href='#L1206'>1206</a>
|
|
1272
|
-
<a name='L1207'></a><a href='#L1207'>1207</a>
|
|
1273
|
-
<a name='L1208'></a><a href='#L1208'>1208</a>
|
|
1274
|
-
<a name='L1209'></a><a href='#L1209'>1209</a>
|
|
1275
|
-
<a name='L1210'></a><a href='#L1210'>1210</a>
|
|
1276
|
-
<a name='L1211'></a><a href='#L1211'>1211</a>
|
|
1277
|
-
<a name='L1212'></a><a href='#L1212'>1212</a>
|
|
1278
|
-
<a name='L1213'></a><a href='#L1213'>1213</a>
|
|
1279
|
-
<a name='L1214'></a><a href='#L1214'>1214</a>
|
|
1280
|
-
<a name='L1215'></a><a href='#L1215'>1215</a>
|
|
1281
|
-
<a name='L1216'></a><a href='#L1216'>1216</a>
|
|
1282
|
-
<a name='L1217'></a><a href='#L1217'>1217</a>
|
|
1283
|
-
<a name='L1218'></a><a href='#L1218'>1218</a>
|
|
1284
|
-
<a name='L1219'></a><a href='#L1219'>1219</a>
|
|
1285
|
-
<a name='L1220'></a><a href='#L1220'>1220</a>
|
|
1286
|
-
<a name='L1221'></a><a href='#L1221'>1221</a>
|
|
1287
|
-
<a name='L1222'></a><a href='#L1222'>1222</a>
|
|
1288
|
-
<a name='L1223'></a><a href='#L1223'>1223</a>
|
|
1289
|
-
<a name='L1224'></a><a href='#L1224'>1224</a>
|
|
1290
|
-
<a name='L1225'></a><a href='#L1225'>1225</a>
|
|
1291
|
-
<a name='L1226'></a><a href='#L1226'>1226</a>
|
|
1292
|
-
<a name='L1227'></a><a href='#L1227'>1227</a>
|
|
1293
|
-
<a name='L1228'></a><a href='#L1228'>1228</a>
|
|
1294
|
-
<a name='L1229'></a><a href='#L1229'>1229</a>
|
|
1295
|
-
<a name='L1230'></a><a href='#L1230'>1230</a>
|
|
1296
|
-
<a name='L1231'></a><a href='#L1231'>1231</a>
|
|
1297
|
-
<a name='L1232'></a><a href='#L1232'>1232</a>
|
|
1298
|
-
<a name='L1233'></a><a href='#L1233'>1233</a>
|
|
1299
|
-
<a name='L1234'></a><a href='#L1234'>1234</a>
|
|
1300
|
-
<a name='L1235'></a><a href='#L1235'>1235</a>
|
|
1301
|
-
<a name='L1236'></a><a href='#L1236'>1236</a>
|
|
1302
|
-
<a name='L1237'></a><a href='#L1237'>1237</a>
|
|
1303
|
-
<a name='L1238'></a><a href='#L1238'>1238</a>
|
|
1304
|
-
<a name='L1239'></a><a href='#L1239'>1239</a>
|
|
1305
|
-
<a name='L1240'></a><a href='#L1240'>1240</a>
|
|
1306
|
-
<a name='L1241'></a><a href='#L1241'>1241</a>
|
|
1307
|
-
<a name='L1242'></a><a href='#L1242'>1242</a>
|
|
1308
|
-
<a name='L1243'></a><a href='#L1243'>1243</a>
|
|
1309
|
-
<a name='L1244'></a><a href='#L1244'>1244</a>
|
|
1310
|
-
<a name='L1245'></a><a href='#L1245'>1245</a>
|
|
1311
|
-
<a name='L1246'></a><a href='#L1246'>1246</a>
|
|
1312
|
-
<a name='L1247'></a><a href='#L1247'>1247</a>
|
|
1313
|
-
<a name='L1248'></a><a href='#L1248'>1248</a>
|
|
1314
|
-
<a name='L1249'></a><a href='#L1249'>1249</a>
|
|
1315
|
-
<a name='L1250'></a><a href='#L1250'>1250</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
1316
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1317
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1318
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1319
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1320
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1321
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1323
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1324
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1325
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1326
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1327
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1328
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1329
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1330
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1331
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1332
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1333
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1334
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1335
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1336
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1337
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1338
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1339
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1340
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1341
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1342
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1345
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1346
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1349
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1350
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1352
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1355
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1356
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1358
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1359
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1360
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1361
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1362
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1363
|
-
<span class="cline-any cline-no"> </span>
|
|
1364
|
-
<span class="cline-any cline-no"> </span>
|
|
1365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1367
|
-
<span class="cline-any cline-no"> </span>
|
|
1368
|
-
<span class="cline-any cline-no"> </span>
|
|
1369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1370
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1371
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1372
|
-
<span class="cline-any cline-no"> </span>
|
|
1373
|
-
<span class="cline-any cline-no"> </span>
|
|
1374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1375
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1376
|
-
<span class="cline-any cline-no"> </span>
|
|
1377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1378
|
-
<span class="cline-any cline-no"> </span>
|
|
1379
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1380
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1381
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1382
|
-
<span class="cline-any cline-no"> </span>
|
|
1383
|
-
<span class="cline-any cline-no"> </span>
|
|
1384
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1385
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1386
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1387
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1388
|
-
<span class="cline-any cline-no"> </span>
|
|
1389
|
-
<span class="cline-any cline-no"> </span>
|
|
1390
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1391
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1392
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1393
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1394
|
-
<span class="cline-any cline-no"> </span>
|
|
1395
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1396
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1397
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1398
|
-
<span class="cline-any cline-no"> </span>
|
|
1399
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1400
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1401
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1402
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1403
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1404
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1405
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1406
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1407
|
-
<span class="cline-any cline-no"> </span>
|
|
1408
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1409
|
-
<span class="cline-any cline-no"> </span>
|
|
1410
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1411
|
-
<span class="cline-any cline-no"> </span>
|
|
1412
|
-
<span class="cline-any cline-no"> </span>
|
|
1413
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1414
|
-
<span class="cline-any cline-no"> </span>
|
|
1415
|
-
<span class="cline-any cline-no"> </span>
|
|
1416
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1417
|
-
<span class="cline-any cline-no"> </span>
|
|
1418
|
-
<span class="cline-any cline-no"> </span>
|
|
1419
|
-
<span class="cline-any cline-no"> </span>
|
|
1420
|
-
<span class="cline-any cline-no"> </span>
|
|
1421
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1422
|
-
<span class="cline-any cline-no"> </span>
|
|
1423
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1425
|
-
<span class="cline-any cline-no"> </span>
|
|
1426
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1428
|
-
<span class="cline-any cline-no"> </span>
|
|
1429
|
-
<span class="cline-any cline-no"> </span>
|
|
1430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1431
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1432
|
-
<span class="cline-any cline-no"> </span>
|
|
1433
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1434
|
-
<span class="cline-any cline-no"> </span>
|
|
1435
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1436
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1437
|
-
<span class="cline-any cline-no"> </span>
|
|
1438
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1439
|
-
<span class="cline-any cline-no"> </span>
|
|
1440
|
-
<span class="cline-any cline-no"> </span>
|
|
1441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1442
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1443
|
-
<span class="cline-any cline-no"> </span>
|
|
1444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1446
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1447
|
-
<span class="cline-any cline-no"> </span>
|
|
1448
|
-
<span class="cline-any cline-no"> </span>
|
|
1449
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1450
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1451
|
-
<span class="cline-any cline-no"> </span>
|
|
1452
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1454
|
-
<span class="cline-any cline-no"> </span>
|
|
1455
|
-
<span class="cline-any cline-no"> </span>
|
|
1456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1457
|
-
<span class="cline-any cline-no"> </span>
|
|
1458
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1459
|
-
<span class="cline-any cline-no"> </span>
|
|
1460
|
-
<span class="cline-any cline-no"> </span>
|
|
1461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1462
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1463
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1464
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1465
|
-
<span class="cline-any cline-no"> </span>
|
|
1466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1468
|
-
<span class="cline-any cline-no"> </span>
|
|
1469
|
-
<span class="cline-any cline-no"> </span>
|
|
1470
|
-
<span class="cline-any cline-no"> </span>
|
|
1471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1473
|
-
<span class="cline-any cline-no"> </span>
|
|
1474
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1475
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1476
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1478
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1480
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1481
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1482
|
-
<span class="cline-any cline-no"> </span>
|
|
1483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1485
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1486
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1488
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1489
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1490
|
-
<span class="cline-any cline-no"> </span>
|
|
1491
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1492
|
-
<span class="cline-any cline-no"> </span>
|
|
1493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1494
|
-
<span class="cline-any cline-no"> </span>
|
|
1495
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1496
|
-
<span class="cline-any cline-no"> </span>
|
|
1497
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1498
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1499
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1500
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1501
|
-
<span class="cline-any cline-no"> </span>
|
|
1502
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1503
|
-
<span class="cline-any cline-no"> </span>
|
|
1504
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1505
|
-
<span class="cline-any cline-no"> </span>
|
|
1506
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1507
|
-
<span class="cline-any cline-no"> </span>
|
|
1508
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1509
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1510
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1511
|
-
<span class="cline-any cline-no"> </span>
|
|
1512
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1513
|
-
<span class="cline-any cline-no"> </span>
|
|
1514
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1515
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1516
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1517
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1519
|
-
<span class="cline-any cline-no"> </span>
|
|
1520
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1521
|
-
<span class="cline-any cline-no"> </span>
|
|
1522
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1523
|
-
<span class="cline-any cline-no"> </span>
|
|
1524
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1525
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1526
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1527
|
-
<span class="cline-any cline-no"> </span>
|
|
1528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1529
|
-
<span class="cline-any cline-no"> </span>
|
|
1530
|
-
<span class="cline-any cline-no"> </span>
|
|
1531
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1532
|
-
<span class="cline-any cline-no"> </span>
|
|
1533
|
-
<span class="cline-any cline-no"> </span>
|
|
1534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1536
|
-
<span class="cline-any cline-no"> </span>
|
|
1537
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1538
|
-
<span class="cline-any cline-no"> </span>
|
|
1539
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1540
|
-
<span class="cline-any cline-no"> </span>
|
|
1541
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1542
|
-
<span class="cline-any cline-no"> </span>
|
|
1543
|
-
<span class="cline-any cline-no"> </span>
|
|
1544
|
-
<span class="cline-any cline-no"> </span>
|
|
1545
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1546
|
-
<span class="cline-any cline-no"> </span>
|
|
1547
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1548
|
-
<span class="cline-any cline-no"> </span>
|
|
1549
|
-
<span class="cline-any cline-no"> </span>
|
|
1550
|
-
<span class="cline-any cline-no"> </span>
|
|
1551
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1552
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1553
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1554
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1555
|
-
<span class="cline-any cline-no"> </span>
|
|
1556
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1557
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1558
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1559
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1560
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1561
|
-
<span class="cline-any cline-no"> </span>
|
|
1562
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1563
|
-
<span class="cline-any cline-no"> </span>
|
|
1564
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1565
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1566
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1567
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1568
|
-
<span class="cline-any cline-no"> </span>
|
|
1569
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1570
|
-
<span class="cline-any cline-no"> </span>
|
|
1571
|
-
<span class="cline-any cline-no"> </span>
|
|
1572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1573
|
-
<span class="cline-any cline-no"> </span>
|
|
1574
|
-
<span class="cline-any cline-no"> </span>
|
|
1575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1576
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1577
|
-
<span class="cline-any cline-no"> </span>
|
|
1578
|
-
<span class="cline-any cline-no"> </span>
|
|
1579
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1580
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1581
|
-
<span class="cline-any cline-no"> </span>
|
|
1582
|
-
<span class="cline-any cline-no"> </span>
|
|
1583
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1584
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1585
|
-
<span class="cline-any cline-no"> </span>
|
|
1586
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1587
|
-
<span class="cline-any cline-no"> </span>
|
|
1588
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1589
|
-
<span class="cline-any cline-no"> </span>
|
|
1590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1591
|
-
<span class="cline-any cline-no"> </span>
|
|
1592
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1593
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1594
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1595
|
-
<span class="cline-any cline-no"> </span>
|
|
1596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1597
|
-
<span class="cline-any cline-no"> </span>
|
|
1598
|
-
<span class="cline-any cline-no"> </span>
|
|
1599
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1600
|
-
<span class="cline-any cline-no"> </span>
|
|
1601
|
-
<span class="cline-any cline-no"> </span>
|
|
1602
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1603
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1604
|
-
<span class="cline-any cline-no"> </span>
|
|
1605
|
-
<span class="cline-any cline-no"> </span>
|
|
1606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1607
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1608
|
-
<span class="cline-any cline-no"> </span>
|
|
1609
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1610
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1611
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1613
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1614
|
-
<span class="cline-any cline-no"> </span>
|
|
1615
|
-
<span class="cline-any cline-no"> </span>
|
|
1616
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1617
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1618
|
-
<span class="cline-any cline-no"> </span>
|
|
1619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1620
|
-
<span class="cline-any cline-no"> </span>
|
|
1621
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1622
|
-
<span class="cline-any cline-no"> </span>
|
|
1623
|
-
<span class="cline-any cline-no"> </span>
|
|
1624
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1625
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1626
|
-
<span class="cline-any cline-no"> </span>
|
|
1627
|
-
<span class="cline-any cline-no"> </span>
|
|
1628
|
-
<span class="cline-any cline-no"> </span>
|
|
1629
|
-
<span class="cline-any cline-no"> </span>
|
|
1630
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1631
|
-
<span class="cline-any cline-no"> </span>
|
|
1632
|
-
<span class="cline-any cline-no"> </span>
|
|
1633
|
-
<span class="cline-any cline-no"> </span>
|
|
1634
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1635
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1636
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1637
|
-
<span class="cline-any cline-no"> </span>
|
|
1638
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1639
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1640
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1641
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1642
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1643
|
-
<span class="cline-any cline-no"> </span>
|
|
1644
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1645
|
-
<span class="cline-any cline-no"> </span>
|
|
1646
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1647
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1648
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1649
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1650
|
-
<span class="cline-any cline-no"> </span>
|
|
1651
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1652
|
-
<span class="cline-any cline-no"> </span>
|
|
1653
|
-
<span class="cline-any cline-no"> </span>
|
|
1654
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1655
|
-
<span class="cline-any cline-no"> </span>
|
|
1656
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1657
|
-
<span class="cline-any cline-no"> </span>
|
|
1658
|
-
<span class="cline-any cline-no"> </span>
|
|
1659
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1660
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1661
|
-
<span class="cline-any cline-no"> </span>
|
|
1662
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1663
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1664
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1665
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1666
|
-
<span class="cline-any cline-no"> </span>
|
|
1667
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1668
|
-
<span class="cline-any cline-no"> </span>
|
|
1669
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1670
|
-
<span class="cline-any cline-no"> </span>
|
|
1671
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1672
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1673
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1674
|
-
<span class="cline-any cline-no"> </span>
|
|
1675
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1676
|
-
<span class="cline-any cline-no"> </span>
|
|
1677
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1678
|
-
<span class="cline-any cline-no"> </span>
|
|
1679
|
-
<span class="cline-any cline-no"> </span>
|
|
1680
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1681
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1682
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1683
|
-
<span class="cline-any cline-no"> </span>
|
|
1684
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1685
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1686
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1687
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1688
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1689
|
-
<span class="cline-any cline-no"> </span>
|
|
1690
|
-
<span class="cline-any cline-no"> </span>
|
|
1691
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1692
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1693
|
-
<span class="cline-any cline-no"> </span>
|
|
1694
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1695
|
-
<span class="cline-any cline-no"> </span>
|
|
1696
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1697
|
-
<span class="cline-any cline-no"> </span>
|
|
1698
|
-
<span class="cline-any cline-no"> </span>
|
|
1699
|
-
<span class="cline-any cline-no"> </span>
|
|
1700
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1701
|
-
<span class="cline-any cline-no"> </span>
|
|
1702
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1703
|
-
<span class="cline-any cline-no"> </span>
|
|
1704
|
-
<span class="cline-any cline-no"> </span>
|
|
1705
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1706
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1707
|
-
<span class="cline-any cline-no"> </span>
|
|
1708
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1709
|
-
<span class="cline-any cline-no"> </span>
|
|
1710
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1711
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1712
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1713
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1714
|
-
<span class="cline-any cline-no"> </span>
|
|
1715
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1716
|
-
<span class="cline-any cline-no"> </span>
|
|
1717
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1718
|
-
<span class="cline-any cline-no"> </span>
|
|
1719
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1720
|
-
<span class="cline-any cline-no"> </span>
|
|
1721
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1722
|
-
<span class="cline-any cline-no"> </span>
|
|
1723
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1724
|
-
<span class="cline-any cline-no"> </span>
|
|
1725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1726
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1727
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1728
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1729
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1730
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1731
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1732
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1733
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1734
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1735
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1736
|
-
<span class="cline-any cline-no"> </span>
|
|
1737
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1738
|
-
<span class="cline-any cline-no"> </span>
|
|
1739
|
-
<span class="cline-any cline-no"> </span>
|
|
1740
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1741
|
-
<span class="cline-any cline-no"> </span>
|
|
1742
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1743
|
-
<span class="cline-any cline-no"> </span>
|
|
1744
|
-
<span class="cline-any cline-no"> </span>
|
|
1745
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1746
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1747
|
-
<span class="cline-any cline-no"> </span>
|
|
1748
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1749
|
-
<span class="cline-any cline-no"> </span>
|
|
1750
|
-
<span class="cline-any cline-no"> </span>
|
|
1751
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1752
|
-
<span class="cline-any cline-no"> </span>
|
|
1753
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1754
|
-
<span class="cline-any cline-no"> </span>
|
|
1755
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1756
|
-
<span class="cline-any cline-no"> </span>
|
|
1757
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1758
|
-
<span class="cline-any cline-no"> </span>
|
|
1759
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1760
|
-
<span class="cline-any cline-no"> </span>
|
|
1761
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1762
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1763
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1764
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1765
|
-
<span class="cline-any cline-no"> </span>
|
|
1766
|
-
<span class="cline-any cline-no"> </span>
|
|
1767
|
-
<span class="cline-any cline-no"> </span>
|
|
1768
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1769
|
-
<span class="cline-any cline-no"> </span>
|
|
1770
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1771
|
-
<span class="cline-any cline-no"> </span>
|
|
1772
|
-
<span class="cline-any cline-no"> </span>
|
|
1773
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1774
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1775
|
-
<span class="cline-any cline-no"> </span>
|
|
1776
|
-
<span class="cline-any cline-no"> </span>
|
|
1777
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1778
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1779
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1780
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1781
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1782
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1783
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1784
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1785
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1786
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1787
|
-
<span class="cline-any cline-no"> </span>
|
|
1788
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1789
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1790
|
-
<span class="cline-any cline-no"> </span>
|
|
1791
|
-
<span class="cline-any cline-no"> </span>
|
|
1792
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1793
|
-
<span class="cline-any cline-no"> </span>
|
|
1794
|
-
<span class="cline-any cline-no"> </span>
|
|
1795
|
-
<span class="cline-any cline-no"> </span>
|
|
1796
|
-
<span class="cline-any cline-no"> </span>
|
|
1797
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1798
|
-
<span class="cline-any cline-no"> </span>
|
|
1799
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1800
|
-
<span class="cline-any cline-no"> </span>
|
|
1801
|
-
<span class="cline-any cline-no"> </span>
|
|
1802
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1803
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1804
|
-
<span class="cline-any cline-no"> </span>
|
|
1805
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1806
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1807
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1808
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1809
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1810
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1811
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1812
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1813
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1814
|
-
<span class="cline-any cline-no"> </span>
|
|
1815
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1816
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1817
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1818
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1819
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1820
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1821
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1822
|
-
<span class="cline-any cline-no"> </span>
|
|
1823
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1824
|
-
<span class="cline-any cline-no"> </span>
|
|
1825
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1826
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1827
|
-
<span class="cline-any cline-no"> </span>
|
|
1828
|
-
<span class="cline-any cline-no"> </span>
|
|
1829
|
-
<span class="cline-any cline-no"> </span>
|
|
1830
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1831
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1832
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1833
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1834
|
-
<span class="cline-any cline-no"> </span>
|
|
1835
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1836
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1837
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1839
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1840
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1841
|
-
<span class="cline-any cline-no"> </span>
|
|
1842
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1843
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1844
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1845
|
-
<span class="cline-any cline-no"> </span>
|
|
1846
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1847
|
-
<span class="cline-any cline-no"> </span>
|
|
1848
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1849
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1850
|
-
<span class="cline-any cline-no"> </span>
|
|
1851
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1852
|
-
<span class="cline-any cline-no"> </span>
|
|
1853
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1854
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1855
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1856
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1857
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1858
|
-
<span class="cline-any cline-no"> </span>
|
|
1859
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1860
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1861
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1862
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1863
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1864
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1865
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1866
|
-
<span class="cline-any cline-no"> </span>
|
|
1867
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1868
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1869
|
-
<span class="cline-any cline-no"> </span>
|
|
1870
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1871
|
-
<span class="cline-any cline-no"> </span>
|
|
1872
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1873
|
-
<span class="cline-any cline-no"> </span>
|
|
1874
|
-
<span class="cline-any cline-no"> </span>
|
|
1875
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1876
|
-
<span class="cline-any cline-no"> </span>
|
|
1877
|
-
<span class="cline-any cline-no"> </span>
|
|
1878
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1879
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1880
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1881
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1882
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1883
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1884
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1885
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1886
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1887
|
-
<span class="cline-any cline-no"> </span>
|
|
1888
|
-
<span class="cline-any cline-no"> </span>
|
|
1889
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1890
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1891
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1892
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1893
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1894
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1895
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1896
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1897
|
-
<span class="cline-any cline-no"> </span>
|
|
1898
|
-
<span class="cline-any cline-no"> </span>
|
|
1899
|
-
<span class="cline-any cline-no"> </span>
|
|
1900
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1901
|
-
<span class="cline-any cline-no"> </span>
|
|
1902
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1903
|
-
<span class="cline-any cline-no"> </span>
|
|
1904
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1905
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1906
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1907
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1908
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1909
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1910
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1911
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1912
|
-
<span class="cline-any cline-no"> </span>
|
|
1913
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1914
|
-
<span class="cline-any cline-no"> </span>
|
|
1915
|
-
<span class="cline-any cline-no"> </span>
|
|
1916
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1917
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1918
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1919
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1920
|
-
<span class="cline-any cline-no"> </span>
|
|
1921
|
-
<span class="cline-any cline-no"> </span>
|
|
1922
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1923
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1924
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1925
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1926
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1927
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1928
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1929
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1930
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1931
|
-
<span class="cline-any cline-no"> </span>
|
|
1932
|
-
<span class="cline-any cline-no"> </span>
|
|
1933
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1934
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1935
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1936
|
-
<span class="cline-any cline-no"> </span>
|
|
1937
|
-
<span class="cline-any cline-no"> </span>
|
|
1938
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1939
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1940
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1941
|
-
<span class="cline-any cline-no"> </span>
|
|
1942
|
-
<span class="cline-any cline-no"> </span>
|
|
1943
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1944
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1945
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1946
|
-
<span class="cline-any cline-no"> </span>
|
|
1947
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1948
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1949
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1950
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1951
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1952
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1953
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1954
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1955
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1956
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1957
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1958
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1959
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1960
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1961
|
-
<span class="cline-any cline-no"> </span>
|
|
1962
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1963
|
-
<span class="cline-any cline-no"> </span>
|
|
1964
|
-
<span class="cline-any cline-no"> </span>
|
|
1965
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1966
|
-
<span class="cline-any cline-no"> </span>
|
|
1967
|
-
<span class="cline-any cline-no"> </span>
|
|
1968
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1969
|
-
<span class="cline-any cline-no"> </span>
|
|
1970
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1971
|
-
<span class="cline-any cline-no"> </span>
|
|
1972
|
-
<span class="cline-any cline-no"> </span>
|
|
1973
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1974
|
-
<span class="cline-any cline-no"> </span>
|
|
1975
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1976
|
-
<span class="cline-any cline-no"> </span>
|
|
1977
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1978
|
-
<span class="cline-any cline-no"> </span>
|
|
1979
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1980
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1981
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1982
|
-
<span class="cline-any cline-no"> </span>
|
|
1983
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1984
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1985
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1986
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1987
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1988
|
-
<span class="cline-any cline-no"> </span>
|
|
1989
|
-
<span class="cline-any cline-no"> </span>
|
|
1990
|
-
<span class="cline-any cline-no"> </span>
|
|
1991
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1992
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1993
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1994
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1995
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1996
|
-
<span class="cline-any cline-no"> </span>
|
|
1997
|
-
<span class="cline-any cline-no"> </span>
|
|
1998
|
-
<span class="cline-any cline-no"> </span>
|
|
1999
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2000
|
-
<span class="cline-any cline-no"> </span>
|
|
2001
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2002
|
-
<span class="cline-any cline-no"> </span>
|
|
2003
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2004
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2005
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2006
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2007
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2008
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2009
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2010
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2011
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2012
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2013
|
-
<span class="cline-any cline-no"> </span>
|
|
2014
|
-
<span class="cline-any cline-no"> </span>
|
|
2015
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2016
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2017
|
-
<span class="cline-any cline-no"> </span>
|
|
2018
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2019
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2020
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2021
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2022
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2023
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2024
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2025
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2026
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2027
|
-
<span class="cline-any cline-no"> </span>
|
|
2028
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2029
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2030
|
-
<span class="cline-any cline-no"> </span>
|
|
2031
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2032
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2033
|
-
<span class="cline-any cline-no"> </span>
|
|
2034
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2035
|
-
<span class="cline-any cline-no"> </span>
|
|
2036
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2037
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2038
|
-
<span class="cline-any cline-no"> </span>
|
|
2039
|
-
<span class="cline-any cline-no"> </span>
|
|
2040
|
-
<span class="cline-any cline-no"> </span>
|
|
2041
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2042
|
-
<span class="cline-any cline-no"> </span>
|
|
2043
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2044
|
-
<span class="cline-any cline-no"> </span>
|
|
2045
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2046
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2047
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2048
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2049
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2050
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2051
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2052
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2053
|
-
<span class="cline-any cline-no"> </span>
|
|
2054
|
-
<span class="cline-any cline-no"> </span>
|
|
2055
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2056
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2057
|
-
<span class="cline-any cline-no"> </span>
|
|
2058
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2059
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2060
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2061
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2062
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2063
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2064
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2065
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2066
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2067
|
-
<span class="cline-any cline-no"> </span>
|
|
2068
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2069
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2070
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2071
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2072
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2073
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2074
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2075
|
-
<span class="cline-any cline-no"> </span>
|
|
2076
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2077
|
-
<span class="cline-any cline-no"> </span>
|
|
2078
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2079
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2080
|
-
<span class="cline-any cline-no"> </span>
|
|
2081
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2082
|
-
<span class="cline-any cline-no"> </span>
|
|
2083
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2084
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2085
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2086
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2087
|
-
<span class="cline-any cline-no"> </span>
|
|
2088
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2089
|
-
<span class="cline-any cline-no"> </span>
|
|
2090
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2091
|
-
<span class="cline-any cline-no"> </span>
|
|
2092
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2093
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2094
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2095
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2096
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2097
|
-
<span class="cline-any cline-no"> </span>
|
|
2098
|
-
<span class="cline-any cline-no"> </span>
|
|
2099
|
-
<span class="cline-any cline-no"> </span>
|
|
2100
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2101
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2102
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2103
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2104
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2105
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2106
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2107
|
-
<span class="cline-any cline-no"> </span>
|
|
2108
|
-
<span class="cline-any cline-no"> </span>
|
|
2109
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2110
|
-
<span class="cline-any cline-no"> </span>
|
|
2111
|
-
<span class="cline-any cline-no"> </span>
|
|
2112
|
-
<span class="cline-any cline-no"> </span>
|
|
2113
|
-
<span class="cline-any cline-no"> </span>
|
|
2114
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2115
|
-
<span class="cline-any cline-no"> </span>
|
|
2116
|
-
<span class="cline-any cline-no"> </span>
|
|
2117
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2118
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2119
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2120
|
-
<span class="cline-any cline-no"> </span>
|
|
2121
|
-
<span class="cline-any cline-no"> </span>
|
|
2122
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2123
|
-
<span class="cline-any cline-no"> </span>
|
|
2124
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2125
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2126
|
-
<span class="cline-any cline-no"> </span>
|
|
2127
|
-
<span class="cline-any cline-no"> </span>
|
|
2128
|
-
<span class="cline-any cline-no"> </span>
|
|
2129
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2130
|
-
<span class="cline-any cline-no"> </span>
|
|
2131
|
-
<span class="cline-any cline-no"> </span>
|
|
2132
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2133
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2134
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2135
|
-
<span class="cline-any cline-no"> </span>
|
|
2136
|
-
<span class="cline-any cline-no"> </span>
|
|
2137
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2138
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2139
|
-
<span class="cline-any cline-no"> </span>
|
|
2140
|
-
<span class="cline-any cline-no"> </span>
|
|
2141
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2142
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2143
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2144
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2145
|
-
<span class="cline-any cline-no"> </span>
|
|
2146
|
-
<span class="cline-any cline-no"> </span>
|
|
2147
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2148
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2149
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2150
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2151
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2152
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2153
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2154
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2155
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2156
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2157
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2158
|
-
<span class="cline-any cline-no"> </span>
|
|
2159
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2160
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2161
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2162
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2163
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2164
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2165
|
-
<span class="cline-any cline-no"> </span>
|
|
2166
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2167
|
-
<span class="cline-any cline-no"> </span>
|
|
2168
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2169
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2170
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2171
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2172
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2173
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2174
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2175
|
-
<span class="cline-any cline-no"> </span>
|
|
2176
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2177
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2178
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2179
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2180
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2181
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2182
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2183
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2184
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2185
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2186
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2187
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2188
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2189
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2190
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2191
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2192
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2193
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2194
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2195
|
-
<span class="cline-any cline-no"> </span>
|
|
2196
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2197
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2198
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2199
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2200
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2201
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2202
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2203
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2204
|
-
<span class="cline-any cline-no"> </span>
|
|
2205
|
-
<span class="cline-any cline-no"> </span>
|
|
2206
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2207
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2208
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2209
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2210
|
-
<span class="cline-any cline-no"> </span>
|
|
2211
|
-
<span class="cline-any cline-no"> </span>
|
|
2212
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2213
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2214
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2215
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2216
|
-
<span class="cline-any cline-no"> </span>
|
|
2217
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2218
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2219
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2220
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2221
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2222
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2223
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2224
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2225
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2226
|
-
<span class="cline-any cline-no"> </span>
|
|
2227
|
-
<span class="cline-any cline-no"> </span>
|
|
2228
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2229
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2230
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2231
|
-
<span class="cline-any cline-no"> </span>
|
|
2232
|
-
<span class="cline-any cline-no"> </span>
|
|
2233
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2234
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2235
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2236
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2237
|
-
<span class="cline-any cline-no"> </span>
|
|
2238
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2239
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2240
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2241
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2242
|
-
<span class="cline-any cline-no"> </span>
|
|
2243
|
-
<span class="cline-any cline-no"> </span>
|
|
2244
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2245
|
-
<span class="cline-any cline-no"> </span>
|
|
2246
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2247
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2248
|
-
<span class="cline-any cline-no"> </span>
|
|
2249
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2250
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2251
|
-
<span class="cline-any cline-no"> </span>
|
|
2252
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2253
|
-
<span class="cline-any cline-no"> </span>
|
|
2254
|
-
<span class="cline-any cline-no"> </span>
|
|
2255
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2256
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2257
|
-
<span class="cline-any cline-no"> </span>
|
|
2258
|
-
<span class="cline-any cline-no"> </span>
|
|
2259
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2260
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2261
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2262
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2263
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2264
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2265
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2266
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2267
|
-
<span class="cline-any cline-no"> </span>
|
|
2268
|
-
<span class="cline-any cline-no"> </span>
|
|
2269
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2270
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2271
|
-
<span class="cline-any cline-no"> </span>
|
|
2272
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2273
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2274
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2275
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2276
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2277
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2278
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2279
|
-
<span class="cline-any cline-no"> </span>
|
|
2280
|
-
<span class="cline-any cline-no"> </span>
|
|
2281
|
-
<span class="cline-any cline-no"> </span>
|
|
2282
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2283
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2284
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2285
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2286
|
-
<span class="cline-any cline-no"> </span>
|
|
2287
|
-
<span class="cline-any cline-no"> </span>
|
|
2288
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2289
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2290
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2291
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2292
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2293
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2294
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2295
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2296
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2297
|
-
<span class="cline-any cline-no"> </span>
|
|
2298
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2299
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2300
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2301
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2302
|
-
<span class="cline-any cline-no"> </span>
|
|
2303
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2304
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2305
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2306
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2307
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2308
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2309
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2310
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2311
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2312
|
-
<span class="cline-any cline-no"> </span>
|
|
2313
|
-
<span class="cline-any cline-no"> </span>
|
|
2314
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2315
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2316
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2317
|
-
<span class="cline-any cline-no"> </span>
|
|
2318
|
-
<span class="cline-any cline-no"> </span>
|
|
2319
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2320
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2321
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2323
|
-
<span class="cline-any cline-no"> </span>
|
|
2324
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2325
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2326
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2327
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2328
|
-
<span class="cline-any cline-no"> </span>
|
|
2329
|
-
<span class="cline-any cline-no"> </span>
|
|
2330
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2331
|
-
<span class="cline-any cline-no"> </span>
|
|
2332
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2333
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2334
|
-
<span class="cline-any cline-no"> </span>
|
|
2335
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2336
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2337
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2338
|
-
<span class="cline-any cline-no"> </span>
|
|
2339
|
-
<span class="cline-any cline-no"> </span>
|
|
2340
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2341
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2342
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2345
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2346
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2349
|
-
<span class="cline-any cline-no"> </span>
|
|
2350
|
-
<span class="cline-any cline-no"> </span>
|
|
2351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2352
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2355
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2358
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2360
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2361
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2363
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2364
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2367
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2368
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2370
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2371
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2373
|
-
<span class="cline-any cline-no"> </span>
|
|
2374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2375
|
-
<span class="cline-any cline-no"> </span>
|
|
2376
|
-
<span class="cline-any cline-no"> </span>
|
|
2377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2378
|
-
<span class="cline-any cline-no"> </span>
|
|
2379
|
-
<span class="cline-any cline-no"> </span>
|
|
2380
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2381
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2382
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2383
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2384
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2385
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2386
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2387
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2388
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2389
|
-
<span class="cline-any cline-no"> </span>
|
|
2390
|
-
<span class="cline-any cline-no"> </span>
|
|
2391
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2392
|
-
<span class="cline-any cline-no"> </span>
|
|
2393
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2394
|
-
<span class="cline-any cline-no"> </span>
|
|
2395
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2396
|
-
<span class="cline-any cline-no"> </span>
|
|
2397
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2398
|
-
<span class="cline-any cline-no"> </span>
|
|
2399
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2400
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2401
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2402
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2403
|
-
<span class="cline-any cline-no"> </span>
|
|
2404
|
-
<span class="cline-any cline-no"> </span>
|
|
2405
|
-
<span class="cline-any cline-no"> </span>
|
|
2406
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2407
|
-
<span class="cline-any cline-no"> </span>
|
|
2408
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2409
|
-
<span class="cline-any cline-no"> </span>
|
|
2410
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2411
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2412
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2413
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2414
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2415
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2416
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2417
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2418
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2419
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2420
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2421
|
-
<span class="cline-any cline-no"> </span>
|
|
2422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2423
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2425
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2426
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2428
|
-
<span class="cline-any cline-no"> </span>
|
|
2429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2431
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2432
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2433
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2434
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2435
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2436
|
-
<span class="cline-any cline-no"> </span>
|
|
2437
|
-
<span class="cline-any cline-no"> </span>
|
|
2438
|
-
<span class="cline-any cline-no"> </span>
|
|
2439
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2440
|
-
<span class="cline-any cline-no"> </span>
|
|
2441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2442
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2443
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2444
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2445
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2446
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2447
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2448
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2449
|
-
<span class="cline-any cline-no"> </span>
|
|
2450
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2451
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2452
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2453
|
-
<span class="cline-any cline-no"> </span>
|
|
2454
|
-
<span class="cline-any cline-no"> </span>
|
|
2455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2457
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2458
|
-
<span class="cline-any cline-no"> </span>
|
|
2459
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2460
|
-
<span class="cline-any cline-no"> </span>
|
|
2461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2462
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2463
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2464
|
-
<span class="cline-any cline-no"> </span>
|
|
2465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2466
|
-
<span class="cline-any cline-no"> </span>
|
|
2467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2468
|
-
<span class="cline-any cline-no"> </span>
|
|
2469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2470
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2473
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2474
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2475
|
-
<span class="cline-any cline-no"> </span>
|
|
2476
|
-
<span class="cline-any cline-no"> </span>
|
|
2477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2478
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2480
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2481
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2482
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2483
|
-
<span class="cline-any cline-no"> </span>
|
|
2484
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2486
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2488
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2489
|
-
<span class="cline-any cline-no"> </span>
|
|
2490
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2491
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2492
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2493
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2494
|
-
<span class="cline-any cline-no"> </span>
|
|
2495
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2496
|
-
<span class="cline-any cline-no"> </span>
|
|
2497
|
-
<span class="cline-any cline-no"> </span>
|
|
2498
|
-
<span class="cline-any cline-no"> </span>
|
|
2499
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2500
|
-
<span class="cline-any cline-no"> </span>
|
|
2501
|
-
<span class="cline-any cline-no"> </span>
|
|
2502
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2503
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2504
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2505
|
-
<span class="cline-any cline-no"> </span>
|
|
2506
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2507
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2508
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2509
|
-
<span class="cline-any cline-no"> </span>
|
|
2510
|
-
<span class="cline-any cline-no"> </span>
|
|
2511
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2512
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2514
|
-
<span class="cline-any cline-no"> </span>
|
|
2515
|
-
<span class="cline-any cline-no"> </span>
|
|
2516
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2517
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2518
|
-
<span class="cline-any cline-no"> </span>
|
|
2519
|
-
<span class="cline-any cline-no"> </span>
|
|
2520
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2521
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2522
|
-
<span class="cline-any cline-no"> </span>
|
|
2523
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2524
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2525
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2526
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2527
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2529
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2530
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2531
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2532
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2533
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2536
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2537
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2538
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2539
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2540
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2541
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2542
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2543
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2544
|
-
<span class="cline-any cline-no"> </span>
|
|
2545
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2546
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2547
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2548
|
-
<span class="cline-any cline-no"> </span>
|
|
2549
|
-
<span class="cline-any cline-no"> </span>
|
|
2550
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2551
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2552
|
-
<span class="cline-any cline-no"> </span>
|
|
2553
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2554
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2556
|
-
<span class="cline-any cline-no"> </span>
|
|
2557
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2558
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2559
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2560
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2561
|
-
<span class="cline-any cline-yes">1x</span>
|
|
2562
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2563
|
-
<span class="cline-any cline-neutral"> </span>
|
|
2564
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
|
|
2565
|
-
|
|
2566
|
-
const {
|
|
2567
|
-
isUndefined,
|
|
2568
|
-
castArray,
|
|
2569
|
-
compact,
|
|
2570
|
-
isNil,
|
|
2571
|
-
has,
|
|
2572
|
-
isString,
|
|
2573
|
-
isInteger,
|
|
2574
|
-
pick,
|
|
2575
|
-
isPlainObject,
|
|
2576
|
-
isEmpty,
|
|
2577
|
-
isArray,
|
|
2578
|
-
isNull,
|
|
2579
|
-
uniqWith,
|
|
2580
|
-
isEqual,
|
|
2581
|
-
differenceWith,
|
|
2582
|
-
isNumber,
|
|
2583
|
-
map,
|
|
2584
|
-
difference,
|
|
2585
|
-
uniqBy,
|
|
2586
|
-
} = require('lodash/fp');
|
|
2587
|
-
const types = require('../types');
|
|
2588
|
-
const { createField } = require('../fields');
|
|
2589
|
-
const { createQueryBuilder } = require('../query');
|
|
2590
|
-
const { createRepository } = require('./entity-repository');
|
|
2591
|
-
const { deleteRelatedMorphOneRelationsAfterMorphToManyUpdate } = require('./morph-relations');
|
|
2592
|
-
const {
|
|
2593
|
-
isBidirectional,
|
|
2594
|
-
isAnyToOne,
|
|
2595
|
-
isOneToAny,
|
|
2596
|
-
hasOrderColumn,
|
|
2597
|
-
hasInverseOrderColumn,
|
|
2598
|
-
} = require('../metadata/relations');
|
|
2599
|
-
const {
|
|
2600
|
-
deletePreviousOneToAnyRelations,
|
|
2601
|
-
deletePreviousAnyToOneRelations,
|
|
2602
|
-
deleteRelations,
|
|
2603
|
-
cleanOrderColumns,
|
|
2604
|
-
} = require('./regular-relations');
|
|
2605
|
-
const { relationsOrderer } = require('./relations-orderer');
|
|
2606
|
-
|
|
2607
|
-
const toId = <span class="fstat-no" title="function not covered" >(v</span>alue) => <span class="cstat-no" title="statement not covered" >value.id || value;</span>
|
|
2608
|
-
const toIds = <span class="fstat-no" title="function not covered" >(v</span>alue) => <span class="cstat-no" title="statement not covered" >castArray(value || []).map(toId);</span>
|
|
2609
|
-
|
|
2610
|
-
const isValidId = <span class="fstat-no" title="function not covered" >(v</span>alue) => <span class="cstat-no" title="statement not covered" >isString(value) || isInteger(value);</span>
|
|
2611
|
-
const toIdArray = <span class="fstat-no" title="function not covered" >(d</span>ata) => {
|
|
2612
|
-
const array = <span class="cstat-no" title="statement not covered" >castArray(data)</span>
|
|
2613
|
-
.filter(<span class="fstat-no" title="function not covered" >(d</span>atum) => <span class="cstat-no" title="statement not covered" >!isNil(datum))</span>
|
|
2614
|
-
.map(<span class="fstat-no" title="function not covered" >(d</span>atum) => {
|
|
2615
|
-
// if it is a string or an integer return an obj with id = to datum
|
|
2616
|
-
<span class="cstat-no" title="statement not covered" > if (isValidId(datum)) {</span>
|
|
2617
|
-
<span class="cstat-no" title="statement not covered" > return { id: datum, __pivot: {} };</span>
|
|
2618
|
-
}
|
|
2619
|
-
|
|
2620
|
-
// if it is an object check it has at least a valid id
|
|
2621
|
-
<span class="cstat-no" title="statement not covered" > if (!has('id', datum) || !isValidId(datum.id)) {</span>
|
|
2622
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`Invalid id, expected a string or integer, got ${datum}`);</span>
|
|
2623
|
-
}
|
|
2624
|
-
|
|
2625
|
-
<span class="cstat-no" title="statement not covered" > return datum;</span>
|
|
2626
|
-
});
|
|
2627
|
-
<span class="cstat-no" title="statement not covered" > return uniqWith(isEqual, array);</span>
|
|
2628
|
-
};
|
|
2629
|
-
|
|
2630
|
-
const toAssocs = <span class="fstat-no" title="function not covered" >(d</span>ata) => {
|
|
2631
|
-
<span class="cstat-no" title="statement not covered" > if (isArray(data) || isString(data) || isNumber(data) || isNull(data) || data?.id) {</span>
|
|
2632
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
2633
|
-
set: isNull(data) ? data : toIdArray(data),
|
|
2634
|
-
};
|
|
2635
|
-
}
|
|
2636
|
-
|
|
2637
|
-
<span class="cstat-no" title="statement not covered" > if (data?.set) {</span>
|
|
2638
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
2639
|
-
set: isNull(data.set) ? data.set : toIdArray(data.set),
|
|
2640
|
-
};
|
|
2641
|
-
}
|
|
2642
|
-
|
|
2643
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
2644
|
-
options: {
|
|
2645
|
-
strict: data?.options?.strict,
|
|
2646
|
-
},
|
|
2647
|
-
connect: toIdArray(data?.connect).map(<span class="fstat-no" title="function not covered" >(e</span>lm) => (<span class="cstat-no" title="statement not covered" >{</span>
|
|
2648
|
-
id: elm.id,
|
|
2649
|
-
position: elm.position ? elm.position : { end: true },
|
|
2650
|
-
})),
|
|
2651
|
-
disconnect: toIdArray(data?.disconnect),
|
|
2652
|
-
};
|
|
2653
|
-
};
|
|
2654
|
-
|
|
2655
|
-
const processData = <span class="fstat-no" title="function not covered" >(m</span>etadata, data = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span> { withDefaults = <span class="branch-0 cbranch-no" title="branch not covered" >false </span>} = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> => {
|
|
2656
|
-
const { attributes } = <span class="cstat-no" title="statement not covered" >metadata;</span>
|
|
2657
|
-
|
|
2658
|
-
const obj = <span class="cstat-no" title="statement not covered" >{};</span>
|
|
2659
|
-
|
|
2660
|
-
<span class="cstat-no" title="statement not covered" > for (const attributeName of Object.keys(attributes)) {</span>
|
|
2661
|
-
const attribute = <span class="cstat-no" title="statement not covered" >attributes[attributeName];</span>
|
|
2662
|
-
|
|
2663
|
-
<span class="cstat-no" title="statement not covered" > if (types.isScalar(attribute.type)) {</span>
|
|
2664
|
-
const field = <span class="cstat-no" title="statement not covered" >createField(attribute);</span>
|
|
2665
|
-
|
|
2666
|
-
<span class="cstat-no" title="statement not covered" > if (isUndefined(data[attributeName])) {</span>
|
|
2667
|
-
<span class="cstat-no" title="statement not covered" > if (!isUndefined(attribute.default) && withDefaults) {</span>
|
|
2668
|
-
<span class="cstat-no" title="statement not covered" > if (typeof attribute.default === 'function') {</span>
|
|
2669
|
-
<span class="cstat-no" title="statement not covered" > obj[attributeName] = attribute.default();</span>
|
|
2670
|
-
} else {
|
|
2671
|
-
<span class="cstat-no" title="statement not covered" > obj[attributeName] = attribute.default;</span>
|
|
2672
|
-
}
|
|
2673
|
-
}
|
|
2674
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
2675
|
-
}
|
|
2676
|
-
|
|
2677
|
-
<span class="cstat-no" title="statement not covered" > if (typeof field.validate === 'function' && data[attributeName] !== null) {</span>
|
|
2678
|
-
<span class="cstat-no" title="statement not covered" > field.validate(data[attributeName]);</span>
|
|
2679
|
-
}
|
|
2680
|
-
|
|
2681
|
-
const val = <span class="cstat-no" title="statement not covered" >data[attributeName] === null ? null : field.toDB(data[attributeName]);</span>
|
|
2682
|
-
|
|
2683
|
-
<span class="cstat-no" title="statement not covered" > obj[attributeName] = val;</span>
|
|
2684
|
-
}
|
|
2685
|
-
|
|
2686
|
-
<span class="cstat-no" title="statement not covered" > if (types.isRelation(attribute.type)) {</span>
|
|
2687
|
-
// oneToOne & manyToOne
|
|
2688
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.joinColumn && attribute.owner) {</span>
|
|
2689
|
-
const joinColumnName = <span class="cstat-no" title="statement not covered" >attribute.joinColumn.name;</span>
|
|
2690
|
-
|
|
2691
|
-
// allow setting to null
|
|
2692
|
-
const attrValue = <span class="cstat-no" title="statement not covered" >!isUndefined(data[attributeName])</span>
|
|
2693
|
-
? data[attributeName]
|
|
2694
|
-
: data[joinColumnName];
|
|
2695
|
-
|
|
2696
|
-
<span class="cstat-no" title="statement not covered" > if (!isUndefined(attrValue)) {</span>
|
|
2697
|
-
<span class="cstat-no" title="statement not covered" > obj[joinColumnName] = attrValue;</span>
|
|
2698
|
-
}
|
|
2699
|
-
|
|
2700
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
2701
|
-
}
|
|
2702
|
-
|
|
2703
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.morphColumn && attribute.owner) {</span>
|
|
2704
|
-
const { idColumn, typeColumn, typeField = <span class="branch-0 cbranch-no" title="branch not covered" >'__type' </span>} = <span class="cstat-no" title="statement not covered" >attribute.morphColumn;</span>
|
|
2705
|
-
|
|
2706
|
-
const value = <span class="cstat-no" title="statement not covered" >data[attributeName];</span>
|
|
2707
|
-
|
|
2708
|
-
<span class="cstat-no" title="statement not covered" > if (value === null) {</span>
|
|
2709
|
-
<span class="cstat-no" title="statement not covered" > Object.assign(obj, {</span>
|
|
2710
|
-
[idColumn.name]: null,
|
|
2711
|
-
[typeColumn.name]: null,
|
|
2712
|
-
});
|
|
2713
|
-
|
|
2714
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
2715
|
-
}
|
|
2716
|
-
|
|
2717
|
-
<span class="cstat-no" title="statement not covered" > if (!isUndefined(value)) {</span>
|
|
2718
|
-
<span class="cstat-no" title="statement not covered" > if (!has('id', value) || !has(typeField, value)) {</span>
|
|
2719
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`Expects properties ${typeField} an id to make a morph association`);</span>
|
|
2720
|
-
}
|
|
2721
|
-
|
|
2722
|
-
<span class="cstat-no" title="statement not covered" > Object.assign(obj, {</span>
|
|
2723
|
-
[idColumn.name]: value.id,
|
|
2724
|
-
[typeColumn.name]: value[typeField],
|
|
2725
|
-
});
|
|
2726
|
-
}
|
|
2727
|
-
}
|
|
2728
|
-
}
|
|
2729
|
-
}
|
|
2730
|
-
|
|
2731
|
-
<span class="cstat-no" title="statement not covered" > return obj;</span>
|
|
2732
|
-
};
|
|
2733
|
-
|
|
2734
|
-
const createEntityManager = (db) => {
|
|
2735
|
-
const repoMap = {};
|
|
2736
|
-
|
|
2737
|
-
return {
|
|
2738
|
-
<span class="fstat-no" title="function not covered" > as</span>ync findOne(uid, params) {
|
|
2739
|
-
const states = <span class="cstat-no" title="statement not covered" >await db.lifecycles.run('beforeFindOne', uid, { params });</span>
|
|
2740
|
-
|
|
2741
|
-
const result = <span class="cstat-no" title="statement not covered" >await this.createQueryBuilder(uid).init(params).first().execute();</span>
|
|
2742
|
-
|
|
2743
|
-
<span class="cstat-no" title="statement not covered" > await db.lifecycles.run('afterFindOne', uid, { params, result }, states);</span>
|
|
2744
|
-
|
|
2745
|
-
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
2746
|
-
},
|
|
2747
|
-
|
|
2748
|
-
// should we name it findOne because people are used to it ?
|
|
2749
|
-
<span class="fstat-no" title="function not covered" > as</span>ync findMany(uid, params) {
|
|
2750
|
-
const states = <span class="cstat-no" title="statement not covered" >await db.lifecycles.run('beforeFindMany', uid, { params });</span>
|
|
2751
|
-
|
|
2752
|
-
const result = <span class="cstat-no" title="statement not covered" >await this.createQueryBuilder(uid).init(params).execute();</span>
|
|
2753
|
-
|
|
2754
|
-
<span class="cstat-no" title="statement not covered" > await db.lifecycles.run('afterFindMany', uid, { params, result }, states);</span>
|
|
2755
|
-
|
|
2756
|
-
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
2757
|
-
},
|
|
2758
|
-
|
|
2759
|
-
<span class="fstat-no" title="function not covered" > as</span>ync count(uid, params) {
|
|
2760
|
-
const states = <span class="cstat-no" title="statement not covered" >await db.lifecycles.run('beforeCount', uid, { params });</span>
|
|
2761
|
-
|
|
2762
|
-
const res = <span class="cstat-no" title="statement not covered" >await this.createQueryBuilder(uid)</span>
|
|
2763
|
-
.init(pick(['_q', 'where', 'filters'], params))
|
|
2764
|
-
.count()
|
|
2765
|
-
.first()
|
|
2766
|
-
.execute();
|
|
2767
|
-
|
|
2768
|
-
const result = <span class="cstat-no" title="statement not covered" >Number(res.count);</span>
|
|
2769
|
-
|
|
2770
|
-
<span class="cstat-no" title="statement not covered" > await db.lifecycles.run('afterCount', uid, { params, result }, states);</span>
|
|
2771
|
-
|
|
2772
|
-
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
2773
|
-
},
|
|
2774
|
-
|
|
2775
|
-
<span class="fstat-no" title="function not covered" > as</span>ync create(uid, params = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
2776
|
-
const states = <span class="cstat-no" title="statement not covered" >await db.lifecycles.run('beforeCreate', uid, { params });</span>
|
|
2777
|
-
|
|
2778
|
-
const metadata = <span class="cstat-no" title="statement not covered" >db.metadata.get(uid);</span>
|
|
2779
|
-
const { data } = <span class="cstat-no" title="statement not covered" >params;</span>
|
|
2780
|
-
|
|
2781
|
-
<span class="cstat-no" title="statement not covered" > if (!isPlainObject(data)) {</span>
|
|
2782
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Create expects a data object');</span>
|
|
2783
|
-
}
|
|
2784
|
-
|
|
2785
|
-
const dataToInsert = <span class="cstat-no" title="statement not covered" >processData(metadata, data, { withDefaults: true });</span>
|
|
2786
|
-
|
|
2787
|
-
const res = <span class="cstat-no" title="statement not covered" >await this.createQueryBuilder(uid).insert(dataToInsert).execute();</span>
|
|
2788
|
-
|
|
2789
|
-
const id = <span class="cstat-no" title="statement not covered" >res[0].id || res[0];</span>
|
|
2790
|
-
|
|
2791
|
-
const trx = <span class="cstat-no" title="statement not covered" >await strapi.db.transaction();</span>
|
|
2792
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
2793
|
-
<span class="cstat-no" title="statement not covered" > await this.attachRelations(uid, id, data, { transaction: trx.get() });</span>
|
|
2794
|
-
|
|
2795
|
-
<span class="cstat-no" title="statement not covered" > await trx.commit();</span>
|
|
2796
|
-
} catch (e) {
|
|
2797
|
-
<span class="cstat-no" title="statement not covered" > await trx.rollback();</span>
|
|
2798
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(uid).where({ id }).delete().execute();</span>
|
|
2799
|
-
<span class="cstat-no" title="statement not covered" > throw e;</span>
|
|
2800
|
-
}
|
|
2801
|
-
|
|
2802
|
-
// TODO: in case there is no select or populate specified return the inserted data ?
|
|
2803
|
-
// TODO: do not trigger the findOne lifecycles ?
|
|
2804
|
-
const result = <span class="cstat-no" title="statement not covered" >await this.findOne(uid, {</span>
|
|
2805
|
-
where: { id },
|
|
2806
|
-
select: params.select,
|
|
2807
|
-
populate: params.populate,
|
|
2808
|
-
});
|
|
2809
|
-
|
|
2810
|
-
<span class="cstat-no" title="statement not covered" > await db.lifecycles.run('afterCreate', uid, { params, result }, states);</span>
|
|
2811
|
-
|
|
2812
|
-
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
2813
|
-
},
|
|
2814
|
-
|
|
2815
|
-
// TODO: where do we handle relation processing for many queries ?
|
|
2816
|
-
<span class="fstat-no" title="function not covered" > as</span>ync createMany(uid, params = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
2817
|
-
const states = <span class="cstat-no" title="statement not covered" >await db.lifecycles.run('beforeCreateMany', uid, { params });</span>
|
|
2818
|
-
|
|
2819
|
-
const metadata = <span class="cstat-no" title="statement not covered" >db.metadata.get(uid);</span>
|
|
2820
|
-
const { data } = <span class="cstat-no" title="statement not covered" >params;</span>
|
|
2821
|
-
|
|
2822
|
-
<span class="cstat-no" title="statement not covered" > if (!isArray(data)) {</span>
|
|
2823
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('CreateMany expects data to be an array');</span>
|
|
2824
|
-
}
|
|
2825
|
-
|
|
2826
|
-
const dataToInsert = <span class="cstat-no" title="statement not covered" >data.map(<span class="fstat-no" title="function not covered" >(d</span>atum) =></span>
|
|
2827
|
-
<span class="cstat-no" title="statement not covered" > processData(metadata, datum, { withDefaults: true })</span>
|
|
2828
|
-
);
|
|
2829
|
-
|
|
2830
|
-
<span class="cstat-no" title="statement not covered" > if (isEmpty(dataToInsert)) {</span>
|
|
2831
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Nothing to insert');</span>
|
|
2832
|
-
}
|
|
2833
|
-
|
|
2834
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(uid).insert(dataToInsert).execute();</span>
|
|
2835
|
-
|
|
2836
|
-
const result = <span class="cstat-no" title="statement not covered" >{ count: data.length };</span>
|
|
2837
|
-
|
|
2838
|
-
<span class="cstat-no" title="statement not covered" > await db.lifecycles.run('afterCreateMany', uid, { params, result }, states);</span>
|
|
2839
|
-
|
|
2840
|
-
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
2841
|
-
},
|
|
2842
|
-
|
|
2843
|
-
<span class="fstat-no" title="function not covered" > as</span>ync update(uid, params = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
2844
|
-
const states = <span class="cstat-no" title="statement not covered" >await db.lifecycles.run('beforeUpdate', uid, { params });</span>
|
|
2845
|
-
|
|
2846
|
-
const metadata = <span class="cstat-no" title="statement not covered" >db.metadata.get(uid);</span>
|
|
2847
|
-
const { where, data } = <span class="cstat-no" title="statement not covered" >params;</span>
|
|
2848
|
-
|
|
2849
|
-
<span class="cstat-no" title="statement not covered" > if (!isPlainObject(data)) {</span>
|
|
2850
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Update requires a data object');</span>
|
|
2851
|
-
}
|
|
2852
|
-
|
|
2853
|
-
<span class="cstat-no" title="statement not covered" > if (isEmpty(where)) {</span>
|
|
2854
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Update requires a where parameter');</span>
|
|
2855
|
-
}
|
|
2856
|
-
|
|
2857
|
-
const entity = <span class="cstat-no" title="statement not covered" >await this.createQueryBuilder(uid)</span>
|
|
2858
|
-
.select('*')
|
|
2859
|
-
.where(where)
|
|
2860
|
-
.first()
|
|
2861
|
-
.execute({ mapResults: false });
|
|
2862
|
-
|
|
2863
|
-
<span class="cstat-no" title="statement not covered" > if (!entity) {</span>
|
|
2864
|
-
<span class="cstat-no" title="statement not covered" > return null;</span>
|
|
2865
|
-
}
|
|
2866
|
-
|
|
2867
|
-
const { id } = <span class="cstat-no" title="statement not covered" >entity;</span>
|
|
2868
|
-
|
|
2869
|
-
const dataToUpdate = <span class="cstat-no" title="statement not covered" >processData(metadata, data);</span>
|
|
2870
|
-
|
|
2871
|
-
<span class="cstat-no" title="statement not covered" > if (!isEmpty(dataToUpdate)) {</span>
|
|
2872
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(uid).where({ id }).update(dataToUpdate).execute();</span>
|
|
2873
|
-
}
|
|
2874
|
-
|
|
2875
|
-
const trx = <span class="cstat-no" title="statement not covered" >await strapi.db.transaction();</span>
|
|
2876
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
2877
|
-
<span class="cstat-no" title="statement not covered" > await this.updateRelations(uid, id, data, { transaction: trx.get() });</span>
|
|
2878
|
-
<span class="cstat-no" title="statement not covered" > await trx.commit();</span>
|
|
2879
|
-
} catch (e) {
|
|
2880
|
-
<span class="cstat-no" title="statement not covered" > await trx.rollback();</span>
|
|
2881
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(uid).where({ id }).update(entity).execute();</span>
|
|
2882
|
-
<span class="cstat-no" title="statement not covered" > throw e;</span>
|
|
2883
|
-
}
|
|
2884
|
-
|
|
2885
|
-
// TODO: do not trigger the findOne lifecycles ?
|
|
2886
|
-
const result = <span class="cstat-no" title="statement not covered" >await this.findOne(uid, {</span>
|
|
2887
|
-
where: { id },
|
|
2888
|
-
select: params.select,
|
|
2889
|
-
populate: params.populate,
|
|
2890
|
-
});
|
|
2891
|
-
|
|
2892
|
-
<span class="cstat-no" title="statement not covered" > await db.lifecycles.run('afterUpdate', uid, { params, result }, states);</span>
|
|
2893
|
-
|
|
2894
|
-
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
2895
|
-
},
|
|
2896
|
-
|
|
2897
|
-
// TODO: where do we handle relation processing for many queries ?
|
|
2898
|
-
<span class="fstat-no" title="function not covered" > as</span>ync updateMany(uid, params = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
2899
|
-
const states = <span class="cstat-no" title="statement not covered" >await db.lifecycles.run('beforeUpdateMany', uid, { params });</span>
|
|
2900
|
-
|
|
2901
|
-
const metadata = <span class="cstat-no" title="statement not covered" >db.metadata.get(uid);</span>
|
|
2902
|
-
const { where, data } = <span class="cstat-no" title="statement not covered" >params;</span>
|
|
2903
|
-
|
|
2904
|
-
const dataToUpdate = <span class="cstat-no" title="statement not covered" >processData(metadata, data);</span>
|
|
2905
|
-
|
|
2906
|
-
<span class="cstat-no" title="statement not covered" > if (isEmpty(dataToUpdate)) {</span>
|
|
2907
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Update requires data');</span>
|
|
2908
|
-
}
|
|
2909
|
-
|
|
2910
|
-
const updatedRows = <span class="cstat-no" title="statement not covered" >await this.createQueryBuilder(uid)</span>
|
|
2911
|
-
.where(where)
|
|
2912
|
-
.update(dataToUpdate)
|
|
2913
|
-
.execute();
|
|
2914
|
-
|
|
2915
|
-
const result = <span class="cstat-no" title="statement not covered" >{ count: updatedRows };</span>
|
|
2916
|
-
|
|
2917
|
-
<span class="cstat-no" title="statement not covered" > await db.lifecycles.run('afterUpdateMany', uid, { params, result }, states);</span>
|
|
2918
|
-
|
|
2919
|
-
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
2920
|
-
},
|
|
2921
|
-
|
|
2922
|
-
<span class="fstat-no" title="function not covered" > as</span>ync delete(uid, params = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
2923
|
-
const states = <span class="cstat-no" title="statement not covered" >await db.lifecycles.run('beforeDelete', uid, { params });</span>
|
|
2924
|
-
|
|
2925
|
-
const { where, select, populate } = <span class="cstat-no" title="statement not covered" >params;</span>
|
|
2926
|
-
|
|
2927
|
-
<span class="cstat-no" title="statement not covered" > if (isEmpty(where)) {</span>
|
|
2928
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('Delete requires a where parameter');</span>
|
|
2929
|
-
}
|
|
2930
|
-
|
|
2931
|
-
// TODO: do not trigger the findOne lifecycles ?
|
|
2932
|
-
const entity = <span class="cstat-no" title="statement not covered" >await this.findOne(uid, {</span>
|
|
2933
|
-
select: select && ['id'].concat(select),
|
|
2934
|
-
where,
|
|
2935
|
-
populate,
|
|
2936
|
-
});
|
|
2937
|
-
|
|
2938
|
-
<span class="cstat-no" title="statement not covered" > if (!entity) {</span>
|
|
2939
|
-
<span class="cstat-no" title="statement not covered" > return null;</span>
|
|
2940
|
-
}
|
|
2941
|
-
|
|
2942
|
-
const { id } = <span class="cstat-no" title="statement not covered" >entity;</span>
|
|
2943
|
-
|
|
2944
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(uid).where({ id }).delete().execute();</span>
|
|
2945
|
-
|
|
2946
|
-
const trx = <span class="cstat-no" title="statement not covered" >await strapi.db.transaction();</span>
|
|
2947
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
2948
|
-
<span class="cstat-no" title="statement not covered" > await this.deleteRelations(uid, id, { transaction: trx.get() });</span>
|
|
2949
|
-
|
|
2950
|
-
<span class="cstat-no" title="statement not covered" > await trx.commit();</span>
|
|
2951
|
-
} catch (e) {
|
|
2952
|
-
<span class="cstat-no" title="statement not covered" > await trx.rollback();</span>
|
|
2953
|
-
<span class="cstat-no" title="statement not covered" > throw e;</span>
|
|
2954
|
-
}
|
|
2955
|
-
|
|
2956
|
-
<span class="cstat-no" title="statement not covered" > await db.lifecycles.run('afterDelete', uid, { params, result: entity }, states);</span>
|
|
2957
|
-
|
|
2958
|
-
<span class="cstat-no" title="statement not covered" > return entity;</span>
|
|
2959
|
-
},
|
|
2960
|
-
|
|
2961
|
-
// TODO: where do we handle relation processing for many queries ?
|
|
2962
|
-
<span class="fstat-no" title="function not covered" > as</span>ync deleteMany(uid, params = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
|
|
2963
|
-
const states = <span class="cstat-no" title="statement not covered" >await db.lifecycles.run('beforeDeleteMany', uid, { params });</span>
|
|
2964
|
-
|
|
2965
|
-
const { where } = <span class="cstat-no" title="statement not covered" >params;</span>
|
|
2966
|
-
|
|
2967
|
-
const deletedRows = <span class="cstat-no" title="statement not covered" >await this.createQueryBuilder(uid).where(where).delete().execute();</span>
|
|
2968
|
-
|
|
2969
|
-
const result = <span class="cstat-no" title="statement not covered" >{ count: deletedRows };</span>
|
|
2970
|
-
|
|
2971
|
-
<span class="cstat-no" title="statement not covered" > await db.lifecycles.run('afterDeleteMany', uid, { params, result }, states);</span>
|
|
2972
|
-
|
|
2973
|
-
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
2974
|
-
},
|
|
2975
|
-
|
|
2976
|
-
/**
|
|
2977
|
-
* Attach relations to a new entity
|
|
2978
|
-
*
|
|
2979
|
-
* @param {EntityManager} em - entity manager instance
|
|
2980
|
-
* @param {Metadata} metadata - model metadta
|
|
2981
|
-
* @param {ID} id - entity ID
|
|
2982
|
-
* @param {object} data - data received for creation
|
|
2983
|
-
*/
|
|
2984
|
-
<span class="fstat-no" title="function not covered" > as</span>ync attachRelations(uid, id, data, { transaction: trx }) {
|
|
2985
|
-
const { attributes } = <span class="cstat-no" title="statement not covered" >db.metadata.get(uid);</span>
|
|
2986
|
-
|
|
2987
|
-
<span class="cstat-no" title="statement not covered" > for (const attributeName of Object.keys(attributes)) {</span>
|
|
2988
|
-
const attribute = <span class="cstat-no" title="statement not covered" >attributes[attributeName];</span>
|
|
2989
|
-
|
|
2990
|
-
const isValidLink = <span class="cstat-no" title="statement not covered" >has(attributeName, data) && !isNil(data[attributeName]);</span>
|
|
2991
|
-
|
|
2992
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.type !== 'relation' || !isValidLink) {</span>
|
|
2993
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
2994
|
-
}
|
|
2995
|
-
|
|
2996
|
-
const cleanRelationData = <span class="cstat-no" title="statement not covered" >toAssocs(data[attributeName]);</span>
|
|
2997
|
-
|
|
2998
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.relation === 'morphOne' || attribute.relation === 'morphMany') {</span>
|
|
2999
|
-
const { target, morphBy } = <span class="cstat-no" title="statement not covered" >attribute;</span>
|
|
3000
|
-
|
|
3001
|
-
const targetAttribute = <span class="cstat-no" title="statement not covered" >db.metadata.get(target).attributes[morphBy];</span>
|
|
3002
|
-
|
|
3003
|
-
<span class="cstat-no" title="statement not covered" > if (targetAttribute.relation === 'morphToOne') {</span>
|
|
3004
|
-
// set columns
|
|
3005
|
-
const { idColumn, typeColumn } = <span class="cstat-no" title="statement not covered" >targetAttribute.morphColumn;</span>
|
|
3006
|
-
|
|
3007
|
-
const relId = <span class="cstat-no" title="statement not covered" >toId(cleanRelationData.set[0]);</span>
|
|
3008
|
-
|
|
3009
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(target)</span>
|
|
3010
|
-
.update({ [idColumn.name]: id, [typeColumn.name]: uid })
|
|
3011
|
-
.where({ id: relId })
|
|
3012
|
-
.transacting(trx)
|
|
3013
|
-
.execute();
|
|
3014
|
-
} else <span class="cstat-no" title="statement not covered" >if (targetAttribute.relation === 'morphToMany') {</span>
|
|
3015
|
-
const { joinTable } = <span class="cstat-no" title="statement not covered" >targetAttribute;</span>
|
|
3016
|
-
const { joinColumn, morphColumn } = <span class="cstat-no" title="statement not covered" >joinTable;</span>
|
|
3017
|
-
|
|
3018
|
-
const { idColumn, typeColumn } = <span class="cstat-no" title="statement not covered" >morphColumn;</span>
|
|
3019
|
-
|
|
3020
|
-
<span class="cstat-no" title="statement not covered" > if (isEmpty(cleanRelationData.set)) {</span>
|
|
3021
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3022
|
-
}
|
|
3023
|
-
|
|
3024
|
-
const rows = <span class="cstat-no" title="statement not covered" >cleanRelationData.set.map(<span class="fstat-no" title="function not covered" >(d</span>ata, idx) => {</span>
|
|
3025
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
3026
|
-
[joinColumn.name]: data.id,
|
|
3027
|
-
[idColumn.name]: id,
|
|
3028
|
-
[typeColumn.name]: uid,
|
|
3029
|
-
...(joinTable.on || {}),
|
|
3030
|
-
...(data.__pivot || {}),
|
|
3031
|
-
order: idx + 1,
|
|
3032
|
-
field: attributeName,
|
|
3033
|
-
};
|
|
3034
|
-
});
|
|
3035
|
-
|
|
3036
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(joinTable.name).insert(rows).transacting(trx).execute();</span>
|
|
3037
|
-
}
|
|
3038
|
-
|
|
3039
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3040
|
-
} else <span class="cstat-no" title="statement not covered" >if (attribute.relation === 'morphToOne') {</span>
|
|
3041
|
-
// handled on the entry itself
|
|
3042
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3043
|
-
} else <span class="cstat-no" title="statement not covered" >if (attribute.relation === 'morphToMany') {</span>
|
|
3044
|
-
const { joinTable } = <span class="cstat-no" title="statement not covered" >attribute;</span>
|
|
3045
|
-
const { joinColumn, morphColumn } = <span class="cstat-no" title="statement not covered" >joinTable;</span>
|
|
3046
|
-
|
|
3047
|
-
const { idColumn, typeColumn, typeField = <span class="branch-0 cbranch-no" title="branch not covered" >'__type' </span>} = <span class="cstat-no" title="statement not covered" >morphColumn;</span>
|
|
3048
|
-
|
|
3049
|
-
<span class="cstat-no" title="statement not covered" > if (isEmpty(cleanRelationData.set)) {</span>
|
|
3050
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3051
|
-
}
|
|
3052
|
-
|
|
3053
|
-
const rows = <span class="cstat-no" title="statement not covered" >cleanRelationData.set.map(<span class="fstat-no" title="function not covered" >(d</span>ata, idx) => (<span class="cstat-no" title="statement not covered" >{</span></span>
|
|
3054
|
-
[joinColumn.name]: id,
|
|
3055
|
-
[idColumn.name]: data.id,
|
|
3056
|
-
[typeColumn.name]: data[typeField],
|
|
3057
|
-
...(joinTable.on || {}),
|
|
3058
|
-
...(data.__pivot || {}),
|
|
3059
|
-
order: idx + 1,
|
|
3060
|
-
}));
|
|
3061
|
-
|
|
3062
|
-
// delete previous relations
|
|
3063
|
-
<span class="cstat-no" title="statement not covered" > await deleteRelatedMorphOneRelationsAfterMorphToManyUpdate(rows, {</span>
|
|
3064
|
-
uid,
|
|
3065
|
-
attributeName,
|
|
3066
|
-
joinTable,
|
|
3067
|
-
db,
|
|
3068
|
-
transaction: trx,
|
|
3069
|
-
});
|
|
3070
|
-
|
|
3071
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(joinTable.name).insert(rows).transacting(trx).execute();</span>
|
|
3072
|
-
|
|
3073
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3074
|
-
}
|
|
3075
|
-
|
|
3076
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.joinColumn && attribute.owner) {</span>
|
|
3077
|
-
const relIdsToAdd = <span class="cstat-no" title="statement not covered" >toIds(cleanRelationData.set);</span>
|
|
3078
|
-
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
3079
|
-
attribute.relation === 'oneToOne' &&
|
|
3080
|
-
isBidirectional(attribute) &&
|
|
3081
|
-
relIdsToAdd.length
|
|
3082
|
-
) {
|
|
3083
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(uid)</span>
|
|
3084
|
-
.where({ [attribute.joinColumn.name]: relIdsToAdd, id: { $ne: id } })
|
|
3085
|
-
.update({ [attribute.joinColumn.name]: null })
|
|
3086
|
-
.transacting(trx)
|
|
3087
|
-
.execute();
|
|
3088
|
-
}
|
|
3089
|
-
|
|
3090
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3091
|
-
}
|
|
3092
|
-
|
|
3093
|
-
// oneToOne oneToMany on the non owning side
|
|
3094
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.joinColumn && !attribute.owner) {</span>
|
|
3095
|
-
// need to set the column on the target
|
|
3096
|
-
const { target } = <span class="cstat-no" title="statement not covered" >attribute;</span>
|
|
3097
|
-
|
|
3098
|
-
// TODO: check it is an id & the entity exists (will throw due to FKs otherwise so not a big pbl in SQL)
|
|
3099
|
-
const relIdsToAdd = <span class="cstat-no" title="statement not covered" >toIds(cleanRelationData.set);</span>
|
|
3100
|
-
|
|
3101
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(target)</span>
|
|
3102
|
-
.where({ [attribute.joinColumn.referencedColumn]: id })
|
|
3103
|
-
.update({ [attribute.joinColumn.referencedColumn]: null })
|
|
3104
|
-
.transacting(trx)
|
|
3105
|
-
.execute();
|
|
3106
|
-
|
|
3107
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(target)</span>
|
|
3108
|
-
.update({ [attribute.joinColumn.referencedColumn]: id })
|
|
3109
|
-
// NOTE: works if it is an array or a single id
|
|
3110
|
-
.where({ id: relIdsToAdd })
|
|
3111
|
-
.transacting(trx)
|
|
3112
|
-
.execute();
|
|
3113
|
-
}
|
|
3114
|
-
|
|
3115
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.joinTable) {</span>
|
|
3116
|
-
// need to set the column on the target
|
|
3117
|
-
|
|
3118
|
-
const { joinTable } = <span class="cstat-no" title="statement not covered" >attribute;</span>
|
|
3119
|
-
const { joinColumn, inverseJoinColumn, orderColumnName, inverseOrderColumnName } =
|
|
3120
|
-
<span class="cstat-no" title="statement not covered" > joinTable;</span>
|
|
3121
|
-
|
|
3122
|
-
const relsToAdd = <span class="cstat-no" title="statement not covered" >cleanRelationData.set || cleanRelationData.connect;</span>
|
|
3123
|
-
const relIdsToadd = <span class="cstat-no" title="statement not covered" >toIds(relsToAdd);</span>
|
|
3124
|
-
|
|
3125
|
-
<span class="cstat-no" title="statement not covered" > if (isBidirectional(attribute) && isOneToAny(attribute)) {</span>
|
|
3126
|
-
<span class="cstat-no" title="statement not covered" > await deletePreviousOneToAnyRelations({</span>
|
|
3127
|
-
id,
|
|
3128
|
-
attribute,
|
|
3129
|
-
relIdsToadd,
|
|
3130
|
-
db,
|
|
3131
|
-
transaction: trx,
|
|
3132
|
-
});
|
|
3133
|
-
}
|
|
3134
|
-
|
|
3135
|
-
// prepare new relations to insert
|
|
3136
|
-
const insert = <span class="cstat-no" title="statement not covered" >uniqBy('id', relsToAdd).map(<span class="fstat-no" title="function not covered" >(d</span>ata) => {</span>
|
|
3137
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
3138
|
-
[joinColumn.name]: id,
|
|
3139
|
-
[inverseJoinColumn.name]: data.id,
|
|
3140
|
-
...(joinTable.on || {}),
|
|
3141
|
-
...(data.__pivot || {}),
|
|
3142
|
-
};
|
|
3143
|
-
});
|
|
3144
|
-
|
|
3145
|
-
// add order value
|
|
3146
|
-
<span class="cstat-no" title="statement not covered" > if (cleanRelationData.set && hasOrderColumn(attribute)) {</span>
|
|
3147
|
-
<span class="cstat-no" title="statement not covered" > insert.forEach(<span class="fstat-no" title="function not covered" >(d</span>ata, idx) => {</span>
|
|
3148
|
-
<span class="cstat-no" title="statement not covered" > data[orderColumnName] = idx + 1;</span>
|
|
3149
|
-
});
|
|
3150
|
-
} else <span class="cstat-no" title="statement not covered" >if (cleanRelationData.connect && hasOrderColumn(attribute)) {</span>
|
|
3151
|
-
// use position attributes to calculate order
|
|
3152
|
-
const orderMap = <span class="cstat-no" title="statement not covered" >relationsOrderer(</span>
|
|
3153
|
-
[],
|
|
3154
|
-
inverseJoinColumn.name,
|
|
3155
|
-
joinTable.orderColumnName,
|
|
3156
|
-
true // Always make an strict connect when inserting
|
|
3157
|
-
)
|
|
3158
|
-
.connect(relsToAdd)
|
|
3159
|
-
.get()
|
|
3160
|
-
// set the order based on the order of the ids
|
|
3161
|
-
.reduce(<span class="fstat-no" title="function not covered" >(a</span>cc, rel, idx) => (<span class="cstat-no" title="statement not covered" >{ ...acc, [rel.id]: idx })</span>, {});
|
|
3162
|
-
|
|
3163
|
-
<span class="cstat-no" title="statement not covered" > insert.forEach(<span class="fstat-no" title="function not covered" >(r</span>ow) => {</span>
|
|
3164
|
-
<span class="cstat-no" title="statement not covered" > row[orderColumnName] = orderMap[row[inverseJoinColumn.name]];</span>
|
|
3165
|
-
});
|
|
3166
|
-
}
|
|
3167
|
-
|
|
3168
|
-
// add inv_order value
|
|
3169
|
-
<span class="cstat-no" title="statement not covered" > if (hasInverseOrderColumn(attribute)) {</span>
|
|
3170
|
-
const maxResults = <span class="cstat-no" title="statement not covered" >await db</span>
|
|
3171
|
-
.getConnection()
|
|
3172
|
-
.select(inverseJoinColumn.name)
|
|
3173
|
-
.max(inverseOrderColumnName, { as: 'max' })
|
|
3174
|
-
.whereIn(inverseJoinColumn.name, relIdsToadd)
|
|
3175
|
-
.where(joinTable.on || {})
|
|
3176
|
-
.groupBy(inverseJoinColumn.name)
|
|
3177
|
-
.from(joinTable.name)
|
|
3178
|
-
.transacting(trx);
|
|
3179
|
-
|
|
3180
|
-
const maxMap = <span class="cstat-no" title="statement not covered" >maxResults.reduce(</span>
|
|
3181
|
-
<span class="fstat-no" title="function not covered" > (a</span>cc, res) => <span class="cstat-no" title="statement not covered" >Object.assign(acc, { [res[inverseJoinColumn.name]]: res.max }),</span>
|
|
3182
|
-
{}
|
|
3183
|
-
);
|
|
3184
|
-
|
|
3185
|
-
<span class="cstat-no" title="statement not covered" > insert.forEach(<span class="fstat-no" title="function not covered" >(r</span>el) => {</span>
|
|
3186
|
-
<span class="cstat-no" title="statement not covered" > rel[inverseOrderColumnName] = (maxMap[rel[inverseJoinColumn.name]] || 0) + 1;</span>
|
|
3187
|
-
});
|
|
3188
|
-
}
|
|
3189
|
-
|
|
3190
|
-
<span class="cstat-no" title="statement not covered" > if (insert.length === 0) {</span>
|
|
3191
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3192
|
-
}
|
|
3193
|
-
|
|
3194
|
-
// insert new relations
|
|
3195
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(joinTable.name).insert(insert).transacting(trx).execute();</span>
|
|
3196
|
-
}
|
|
3197
|
-
}
|
|
3198
|
-
},
|
|
3199
|
-
|
|
3200
|
-
/**
|
|
3201
|
-
* Updates relations of an existing entity
|
|
3202
|
-
*
|
|
3203
|
-
* @param {EntityManager} em - entity manager instance
|
|
3204
|
-
* @param {Metadata} metadata - model metadta
|
|
3205
|
-
* @param {ID} id - entity ID
|
|
3206
|
-
* @param {object} data - data received for creation
|
|
3207
|
-
*/
|
|
3208
|
-
// TODO: check relation exists (handled by FKs except for polymorphics)
|
|
3209
|
-
<span class="fstat-no" title="function not covered" > as</span>ync updateRelations(uid, id, data, { transaction: trx }) {
|
|
3210
|
-
const { attributes } = <span class="cstat-no" title="statement not covered" >db.metadata.get(uid);</span>
|
|
3211
|
-
|
|
3212
|
-
<span class="cstat-no" title="statement not covered" > for (const attributeName of Object.keys(attributes)) {</span>
|
|
3213
|
-
const attribute = <span class="cstat-no" title="statement not covered" >attributes[attributeName];</span>
|
|
3214
|
-
|
|
3215
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.type !== 'relation' || !has(attributeName, data)) {</span>
|
|
3216
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3217
|
-
}
|
|
3218
|
-
const cleanRelationData = <span class="cstat-no" title="statement not covered" >toAssocs(data[attributeName]);</span>
|
|
3219
|
-
|
|
3220
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.relation === 'morphOne' || attribute.relation === 'morphMany') {</span>
|
|
3221
|
-
const { target, morphBy } = <span class="cstat-no" title="statement not covered" >attribute;</span>
|
|
3222
|
-
|
|
3223
|
-
const targetAttribute = <span class="cstat-no" title="statement not covered" >db.metadata.get(target).attributes[morphBy];</span>
|
|
3224
|
-
|
|
3225
|
-
<span class="cstat-no" title="statement not covered" > if (targetAttribute.relation === 'morphToOne') {</span>
|
|
3226
|
-
// set columns
|
|
3227
|
-
const { idColumn, typeColumn } = <span class="cstat-no" title="statement not covered" >targetAttribute.morphColumn;</span>
|
|
3228
|
-
|
|
3229
|
-
// update instead of deleting because the relation is directly on the entity table
|
|
3230
|
-
// and not in a join table
|
|
3231
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(target)</span>
|
|
3232
|
-
.update({ [idColumn.name]: null, [typeColumn.name]: null })
|
|
3233
|
-
.where({ [idColumn.name]: id, [typeColumn.name]: uid })
|
|
3234
|
-
.transacting(trx)
|
|
3235
|
-
.execute();
|
|
3236
|
-
|
|
3237
|
-
<span class="cstat-no" title="statement not covered" > if (!isNull(cleanRelationData.set)) {</span>
|
|
3238
|
-
const relId = <span class="cstat-no" title="statement not covered" >toIds(cleanRelationData.set[0]);</span>
|
|
3239
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(target)</span>
|
|
3240
|
-
.update({ [idColumn.name]: id, [typeColumn.name]: uid })
|
|
3241
|
-
.where({ id: relId })
|
|
3242
|
-
.transacting(trx)
|
|
3243
|
-
.execute();
|
|
3244
|
-
}
|
|
3245
|
-
} else <span class="cstat-no" title="statement not covered" >if (targetAttribute.relation === 'morphToMany') {</span>
|
|
3246
|
-
const { joinTable } = <span class="cstat-no" title="statement not covered" >targetAttribute;</span>
|
|
3247
|
-
const { joinColumn, morphColumn } = <span class="cstat-no" title="statement not covered" >joinTable;</span>
|
|
3248
|
-
|
|
3249
|
-
const { idColumn, typeColumn } = <span class="cstat-no" title="statement not covered" >morphColumn;</span>
|
|
3250
|
-
|
|
3251
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(joinTable.name)</span>
|
|
3252
|
-
.delete()
|
|
3253
|
-
.where({
|
|
3254
|
-
[idColumn.name]: id,
|
|
3255
|
-
[typeColumn.name]: uid,
|
|
3256
|
-
...(joinTable.on || {}),
|
|
3257
|
-
field: attributeName,
|
|
3258
|
-
})
|
|
3259
|
-
.transacting(trx)
|
|
3260
|
-
.execute();
|
|
3261
|
-
|
|
3262
|
-
<span class="cstat-no" title="statement not covered" > if (isEmpty(cleanRelationData.set)) {</span>
|
|
3263
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3264
|
-
}
|
|
3265
|
-
|
|
3266
|
-
const rows = <span class="cstat-no" title="statement not covered" >cleanRelationData.set.map(<span class="fstat-no" title="function not covered" >(d</span>ata, idx) => (<span class="cstat-no" title="statement not covered" >{</span></span>
|
|
3267
|
-
[joinColumn.name]: data.id,
|
|
3268
|
-
[idColumn.name]: id,
|
|
3269
|
-
[typeColumn.name]: uid,
|
|
3270
|
-
...(joinTable.on || {}),
|
|
3271
|
-
...(data.__pivot || {}),
|
|
3272
|
-
order: idx + 1,
|
|
3273
|
-
field: attributeName,
|
|
3274
|
-
}));
|
|
3275
|
-
|
|
3276
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(joinTable.name).insert(rows).transacting(trx).execute();</span>
|
|
3277
|
-
}
|
|
3278
|
-
|
|
3279
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3280
|
-
}
|
|
3281
|
-
|
|
3282
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.relation === 'morphToOne') {</span>
|
|
3283
|
-
// handled on the entry itself
|
|
3284
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3285
|
-
}
|
|
3286
|
-
|
|
3287
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.relation === 'morphToMany') {</span>
|
|
3288
|
-
const { joinTable } = <span class="cstat-no" title="statement not covered" >attribute;</span>
|
|
3289
|
-
const { joinColumn, morphColumn } = <span class="cstat-no" title="statement not covered" >joinTable;</span>
|
|
3290
|
-
|
|
3291
|
-
const { idColumn, typeColumn, typeField = <span class="branch-0 cbranch-no" title="branch not covered" >'__type' </span>} = <span class="cstat-no" title="statement not covered" >morphColumn;</span>
|
|
3292
|
-
|
|
3293
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(joinTable.name)</span>
|
|
3294
|
-
.delete()
|
|
3295
|
-
.where({
|
|
3296
|
-
[joinColumn.name]: id,
|
|
3297
|
-
...(joinTable.on || {}),
|
|
3298
|
-
})
|
|
3299
|
-
.transacting(trx)
|
|
3300
|
-
.execute();
|
|
3301
|
-
|
|
3302
|
-
<span class="cstat-no" title="statement not covered" > if (isEmpty(cleanRelationData.set)) {</span>
|
|
3303
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3304
|
-
}
|
|
3305
|
-
|
|
3306
|
-
const rows = <span class="cstat-no" title="statement not covered" >cleanRelationData.set.map(<span class="fstat-no" title="function not covered" >(d</span>ata, idx) => (<span class="cstat-no" title="statement not covered" >{</span></span>
|
|
3307
|
-
[joinColumn.name]: id,
|
|
3308
|
-
[idColumn.name]: data.id,
|
|
3309
|
-
[typeColumn.name]: data[typeField],
|
|
3310
|
-
...(joinTable.on || {}),
|
|
3311
|
-
...(data.__pivot || {}),
|
|
3312
|
-
order: idx + 1,
|
|
3313
|
-
}));
|
|
3314
|
-
|
|
3315
|
-
// delete previous relations
|
|
3316
|
-
<span class="cstat-no" title="statement not covered" > await deleteRelatedMorphOneRelationsAfterMorphToManyUpdate(rows, {</span>
|
|
3317
|
-
uid,
|
|
3318
|
-
attributeName,
|
|
3319
|
-
joinTable,
|
|
3320
|
-
db,
|
|
3321
|
-
transaction: trx,
|
|
3322
|
-
});
|
|
3323
|
-
|
|
3324
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(joinTable.name).insert(rows).transacting(trx).execute();</span>
|
|
3325
|
-
|
|
3326
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3327
|
-
}
|
|
3328
|
-
|
|
3329
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.joinColumn && attribute.owner) {</span>
|
|
3330
|
-
// handled in the row itself
|
|
3331
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3332
|
-
}
|
|
3333
|
-
|
|
3334
|
-
// oneToOne oneToMany on the non owning side.
|
|
3335
|
-
// Since it is a join column no need to remove previous relations
|
|
3336
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.joinColumn && !attribute.owner) {</span>
|
|
3337
|
-
// need to set the column on the target
|
|
3338
|
-
const { target } = <span class="cstat-no" title="statement not covered" >attribute;</span>
|
|
3339
|
-
|
|
3340
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(target)</span>
|
|
3341
|
-
.where({ [attribute.joinColumn.referencedColumn]: id })
|
|
3342
|
-
.update({ [attribute.joinColumn.referencedColumn]: null })
|
|
3343
|
-
.transacting(trx)
|
|
3344
|
-
.execute();
|
|
3345
|
-
|
|
3346
|
-
<span class="cstat-no" title="statement not covered" > if (!isNull(cleanRelationData.set)) {</span>
|
|
3347
|
-
const relIdsToAdd = <span class="cstat-no" title="statement not covered" >toIds(cleanRelationData.set);</span>
|
|
3348
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(target)</span>
|
|
3349
|
-
.where({ id: relIdsToAdd })
|
|
3350
|
-
.update({ [attribute.joinColumn.referencedColumn]: id })
|
|
3351
|
-
.transacting(trx)
|
|
3352
|
-
.execute();
|
|
3353
|
-
}
|
|
3354
|
-
}
|
|
3355
|
-
|
|
3356
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.joinTable) {</span>
|
|
3357
|
-
const { joinTable } = <span class="cstat-no" title="statement not covered" >attribute;</span>
|
|
3358
|
-
const { joinColumn, inverseJoinColumn, orderColumnName, inverseOrderColumnName } =
|
|
3359
|
-
<span class="cstat-no" title="statement not covered" > joinTable;</span>
|
|
3360
|
-
const select = <span class="cstat-no" title="statement not covered" >[joinColumn.name, inverseJoinColumn.name];</span>
|
|
3361
|
-
<span class="cstat-no" title="statement not covered" > if (hasOrderColumn(attribute)) {</span>
|
|
3362
|
-
<span class="cstat-no" title="statement not covered" > select.push(orderColumnName);</span>
|
|
3363
|
-
}
|
|
3364
|
-
<span class="cstat-no" title="statement not covered" > if (hasInverseOrderColumn(attribute)) {</span>
|
|
3365
|
-
<span class="cstat-no" title="statement not covered" > select.push(inverseOrderColumnName);</span>
|
|
3366
|
-
}
|
|
3367
|
-
|
|
3368
|
-
// only delete relations
|
|
3369
|
-
<span class="cstat-no" title="statement not covered" > if (isNull(cleanRelationData.set)) {</span>
|
|
3370
|
-
<span class="cstat-no" title="statement not covered" > await deleteRelations({ id, attribute, db, relIdsToDelete: 'all', transaction: trx });</span>
|
|
3371
|
-
} else {
|
|
3372
|
-
const isPartialUpdate = <span class="cstat-no" title="statement not covered" >!has('set', cleanRelationData);</span>
|
|
3373
|
-
let relIdsToaddOrMove;
|
|
3374
|
-
|
|
3375
|
-
<span class="cstat-no" title="statement not covered" > if (isPartialUpdate) {</span>
|
|
3376
|
-
<span class="cstat-no" title="statement not covered" > if (isAnyToOne(attribute)) {</span>
|
|
3377
|
-
<span class="cstat-no" title="statement not covered" > cleanRelationData.connect = cleanRelationData.connect.slice(-1);</span>
|
|
3378
|
-
}
|
|
3379
|
-
<span class="cstat-no" title="statement not covered" > relIdsToaddOrMove = toIds(cleanRelationData.connect);</span>
|
|
3380
|
-
const relIdsToDelete = <span class="cstat-no" title="statement not covered" >toIds(</span>
|
|
3381
|
-
differenceWith(isEqual, cleanRelationData.disconnect, cleanRelationData.connect)
|
|
3382
|
-
);
|
|
3383
|
-
|
|
3384
|
-
<span class="cstat-no" title="statement not covered" > if (!isEmpty(relIdsToDelete)) {</span>
|
|
3385
|
-
<span class="cstat-no" title="statement not covered" > await deleteRelations({ id, attribute, db, relIdsToDelete, transaction: trx });</span>
|
|
3386
|
-
}
|
|
3387
|
-
|
|
3388
|
-
<span class="cstat-no" title="statement not covered" > if (isEmpty(cleanRelationData.connect)) {</span>
|
|
3389
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3390
|
-
}
|
|
3391
|
-
|
|
3392
|
-
// Fetch current relations to handle ordering
|
|
3393
|
-
let currentMovingRels;
|
|
3394
|
-
<span class="cstat-no" title="statement not covered" > if (hasOrderColumn(attribute) || hasInverseOrderColumn(attribute)) {</span>
|
|
3395
|
-
<span class="cstat-no" title="statement not covered" > currentMovingRels = await this.createQueryBuilder(joinTable.name)</span>
|
|
3396
|
-
.select(select)
|
|
3397
|
-
.where({
|
|
3398
|
-
[joinColumn.name]: id,
|
|
3399
|
-
[inverseJoinColumn.name]: { $in: relIdsToaddOrMove },
|
|
3400
|
-
})
|
|
3401
|
-
.where(joinTable.on || {})
|
|
3402
|
-
.transacting(trx)
|
|
3403
|
-
.execute();
|
|
3404
|
-
}
|
|
3405
|
-
|
|
3406
|
-
// prepare relations to insert
|
|
3407
|
-
const insert = <span class="cstat-no" title="statement not covered" >uniqBy('id', cleanRelationData.connect).map(<span class="fstat-no" title="function not covered" >(r</span>elToAdd) => (<span class="cstat-no" title="statement not covered" >{</span></span>
|
|
3408
|
-
[joinColumn.name]: id,
|
|
3409
|
-
[inverseJoinColumn.name]: relToAdd.id,
|
|
3410
|
-
...(joinTable.on || {}),
|
|
3411
|
-
...(relToAdd.__pivot || {}),
|
|
3412
|
-
}));
|
|
3413
|
-
|
|
3414
|
-
<span class="cstat-no" title="statement not covered" > if (hasOrderColumn(attribute)) {</span>
|
|
3415
|
-
// Get all adjacent relations and the one with the highest order
|
|
3416
|
-
const adjacentRelations = <span class="cstat-no" title="statement not covered" >await this.createQueryBuilder(joinTable.name)</span>
|
|
3417
|
-
.where({
|
|
3418
|
-
$or: [
|
|
3419
|
-
{
|
|
3420
|
-
[joinColumn.name]: id,
|
|
3421
|
-
[inverseJoinColumn.name]: {
|
|
3422
|
-
$in: compact(
|
|
3423
|
-
cleanRelationData.connect.map(
|
|
3424
|
-
<span class="fstat-no" title="function not covered" > (r</span>) => <span class="cstat-no" title="statement not covered" >r.position?.after || r.position?.before</span>
|
|
3425
|
-
)
|
|
3426
|
-
),
|
|
3427
|
-
},
|
|
3428
|
-
},
|
|
3429
|
-
{
|
|
3430
|
-
[joinColumn.name]: id,
|
|
3431
|
-
[orderColumnName]: this.createQueryBuilder(joinTable.name)
|
|
3432
|
-
.max(orderColumnName)
|
|
3433
|
-
.where({ [joinColumn.name]: id })
|
|
3434
|
-
.where(joinTable.on || {})
|
|
3435
|
-
.transacting(trx)
|
|
3436
|
-
.getKnexQuery(),
|
|
3437
|
-
},
|
|
3438
|
-
],
|
|
3439
|
-
})
|
|
3440
|
-
.where(joinTable.on || {})
|
|
3441
|
-
.transacting(trx)
|
|
3442
|
-
.execute();
|
|
3443
|
-
|
|
3444
|
-
const orderMap = <span class="cstat-no" title="statement not covered" >relationsOrderer(</span>
|
|
3445
|
-
adjacentRelations,
|
|
3446
|
-
inverseJoinColumn.name,
|
|
3447
|
-
joinTable.orderColumnName,
|
|
3448
|
-
cleanRelationData.options.strict
|
|
3449
|
-
)
|
|
3450
|
-
.connect(cleanRelationData.connect)
|
|
3451
|
-
.getOrderMap();
|
|
3452
|
-
|
|
3453
|
-
<span class="cstat-no" title="statement not covered" > insert.forEach(<span class="fstat-no" title="function not covered" >(r</span>ow) => {</span>
|
|
3454
|
-
<span class="cstat-no" title="statement not covered" > row[orderColumnName] = orderMap[row[inverseJoinColumn.name]];</span>
|
|
3455
|
-
});
|
|
3456
|
-
}
|
|
3457
|
-
|
|
3458
|
-
// add inv order value
|
|
3459
|
-
<span class="cstat-no" title="statement not covered" > if (hasInverseOrderColumn(attribute)) {</span>
|
|
3460
|
-
const nonExistingRelsIds = <span class="cstat-no" title="statement not covered" >difference(</span>
|
|
3461
|
-
relIdsToaddOrMove,
|
|
3462
|
-
map(inverseJoinColumn.name, currentMovingRels)
|
|
3463
|
-
);
|
|
3464
|
-
|
|
3465
|
-
const maxResults = <span class="cstat-no" title="statement not covered" >await db</span>
|
|
3466
|
-
.getConnection()
|
|
3467
|
-
.select(inverseJoinColumn.name)
|
|
3468
|
-
.max(inverseOrderColumnName, { as: 'max' })
|
|
3469
|
-
.whereIn(inverseJoinColumn.name, nonExistingRelsIds)
|
|
3470
|
-
.where(joinTable.on || {})
|
|
3471
|
-
.groupBy(inverseJoinColumn.name)
|
|
3472
|
-
.from(joinTable.name)
|
|
3473
|
-
.transacting(trx);
|
|
3474
|
-
|
|
3475
|
-
const maxMap = <span class="cstat-no" title="statement not covered" >maxResults.reduce(</span>
|
|
3476
|
-
<span class="fstat-no" title="function not covered" > (a</span>cc, res) => <span class="cstat-no" title="statement not covered" >Object.assign(acc, { [res[inverseJoinColumn.name]]: res.max }),</span>
|
|
3477
|
-
{}
|
|
3478
|
-
);
|
|
3479
|
-
|
|
3480
|
-
<span class="cstat-no" title="statement not covered" > insert.forEach(<span class="fstat-no" title="function not covered" >(r</span>ow) => {</span>
|
|
3481
|
-
<span class="cstat-no" title="statement not covered" > row[inverseOrderColumnName] = (maxMap[row[inverseJoinColumn.name]] || 0) + 1;</span>
|
|
3482
|
-
});
|
|
3483
|
-
}
|
|
3484
|
-
|
|
3485
|
-
// insert rows
|
|
3486
|
-
const query = <span class="cstat-no" title="statement not covered" >this.createQueryBuilder(joinTable.name)</span>
|
|
3487
|
-
.insert(insert)
|
|
3488
|
-
.onConflict(joinTable.pivotColumns)
|
|
3489
|
-
.transacting(trx);
|
|
3490
|
-
|
|
3491
|
-
<span class="cstat-no" title="statement not covered" > if (hasOrderColumn(attribute)) {</span>
|
|
3492
|
-
<span class="cstat-no" title="statement not covered" > query.merge([orderColumnName]);</span>
|
|
3493
|
-
} else {
|
|
3494
|
-
<span class="cstat-no" title="statement not covered" > query.ignore();</span>
|
|
3495
|
-
}
|
|
3496
|
-
|
|
3497
|
-
<span class="cstat-no" title="statement not covered" > await query.execute();</span>
|
|
3498
|
-
|
|
3499
|
-
// remove gap between orders
|
|
3500
|
-
<span class="cstat-no" title="statement not covered" > await cleanOrderColumns({ attribute, db, id, transaction: trx });</span>
|
|
3501
|
-
} else {
|
|
3502
|
-
<span class="cstat-no" title="statement not covered" > if (isAnyToOne(attribute)) {</span>
|
|
3503
|
-
<span class="cstat-no" title="statement not covered" > cleanRelationData.set = cleanRelationData.set.slice(-1);</span>
|
|
3504
|
-
}
|
|
3505
|
-
// overwrite all relations
|
|
3506
|
-
<span class="cstat-no" title="statement not covered" > relIdsToaddOrMove = toIds(cleanRelationData.set);</span>
|
|
3507
|
-
<span class="cstat-no" title="statement not covered" > await deleteRelations({</span>
|
|
3508
|
-
id,
|
|
3509
|
-
attribute,
|
|
3510
|
-
db,
|
|
3511
|
-
relIdsToDelete: 'all',
|
|
3512
|
-
relIdsToNotDelete: relIdsToaddOrMove,
|
|
3513
|
-
transaction: trx,
|
|
3514
|
-
});
|
|
3515
|
-
|
|
3516
|
-
<span class="cstat-no" title="statement not covered" > if (isEmpty(cleanRelationData.set)) {</span>
|
|
3517
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3518
|
-
}
|
|
3519
|
-
|
|
3520
|
-
const insert = <span class="cstat-no" title="statement not covered" >uniqBy('id', cleanRelationData.set).map(<span class="fstat-no" title="function not covered" >(r</span>elToAdd) => (<span class="cstat-no" title="statement not covered" >{</span></span>
|
|
3521
|
-
[joinColumn.name]: id,
|
|
3522
|
-
[inverseJoinColumn.name]: relToAdd.id,
|
|
3523
|
-
...(joinTable.on || {}),
|
|
3524
|
-
...(relToAdd.__pivot || {}),
|
|
3525
|
-
}));
|
|
3526
|
-
|
|
3527
|
-
// add order value
|
|
3528
|
-
<span class="cstat-no" title="statement not covered" > if (hasOrderColumn(attribute)) {</span>
|
|
3529
|
-
<span class="cstat-no" title="statement not covered" > insert.forEach(<span class="fstat-no" title="function not covered" >(r</span>ow, idx) => {</span>
|
|
3530
|
-
<span class="cstat-no" title="statement not covered" > row[orderColumnName] = idx + 1;</span>
|
|
3531
|
-
});
|
|
3532
|
-
}
|
|
3533
|
-
|
|
3534
|
-
// add inv order value
|
|
3535
|
-
<span class="cstat-no" title="statement not covered" > if (hasInverseOrderColumn(attribute)) {</span>
|
|
3536
|
-
const existingRels = <span class="cstat-no" title="statement not covered" >await this.createQueryBuilder(joinTable.name)</span>
|
|
3537
|
-
.select(inverseJoinColumn.name)
|
|
3538
|
-
.where({
|
|
3539
|
-
[joinColumn.name]: id,
|
|
3540
|
-
[inverseJoinColumn.name]: { $in: relIdsToaddOrMove },
|
|
3541
|
-
})
|
|
3542
|
-
.where(joinTable.on || {})
|
|
3543
|
-
.transacting(trx)
|
|
3544
|
-
.execute();
|
|
3545
|
-
|
|
3546
|
-
const nonExistingRelsIds = <span class="cstat-no" title="statement not covered" >difference(</span>
|
|
3547
|
-
relIdsToaddOrMove,
|
|
3548
|
-
map(inverseJoinColumn.name, existingRels)
|
|
3549
|
-
);
|
|
3550
|
-
|
|
3551
|
-
const maxResults = <span class="cstat-no" title="statement not covered" >await db</span>
|
|
3552
|
-
.getConnection()
|
|
3553
|
-
.select(inverseJoinColumn.name)
|
|
3554
|
-
.max(inverseOrderColumnName, { as: 'max' })
|
|
3555
|
-
.whereIn(inverseJoinColumn.name, nonExistingRelsIds)
|
|
3556
|
-
.where(joinTable.on || {})
|
|
3557
|
-
.groupBy(inverseJoinColumn.name)
|
|
3558
|
-
.from(joinTable.name)
|
|
3559
|
-
.transacting(trx);
|
|
3560
|
-
|
|
3561
|
-
const maxMap = <span class="cstat-no" title="statement not covered" >maxResults.reduce(</span>
|
|
3562
|
-
<span class="fstat-no" title="function not covered" > (a</span>cc, res) => <span class="cstat-no" title="statement not covered" >Object.assign(acc, { [res[inverseJoinColumn.name]]: res.max }),</span>
|
|
3563
|
-
{}
|
|
3564
|
-
);
|
|
3565
|
-
|
|
3566
|
-
<span class="cstat-no" title="statement not covered" > insert.forEach(<span class="fstat-no" title="function not covered" >(r</span>ow) => {</span>
|
|
3567
|
-
<span class="cstat-no" title="statement not covered" > row[inverseOrderColumnName] = (maxMap[row[inverseJoinColumn.name]] || 0) + 1;</span>
|
|
3568
|
-
});
|
|
3569
|
-
}
|
|
3570
|
-
|
|
3571
|
-
// insert rows
|
|
3572
|
-
const query = <span class="cstat-no" title="statement not covered" >this.createQueryBuilder(joinTable.name)</span>
|
|
3573
|
-
.insert(insert)
|
|
3574
|
-
.onConflict(joinTable.pivotColumns)
|
|
3575
|
-
.transacting(trx);
|
|
3576
|
-
|
|
3577
|
-
<span class="cstat-no" title="statement not covered" > if (hasOrderColumn(attribute)) {</span>
|
|
3578
|
-
<span class="cstat-no" title="statement not covered" > query.merge([orderColumnName]);</span>
|
|
3579
|
-
} else {
|
|
3580
|
-
<span class="cstat-no" title="statement not covered" > query.ignore();</span>
|
|
3581
|
-
}
|
|
3582
|
-
|
|
3583
|
-
<span class="cstat-no" title="statement not covered" > await query.execute();</span>
|
|
3584
|
-
}
|
|
3585
|
-
|
|
3586
|
-
// Delete the previous relations for oneToAny relations
|
|
3587
|
-
<span class="cstat-no" title="statement not covered" > if (isBidirectional(attribute) && isOneToAny(attribute)) {</span>
|
|
3588
|
-
<span class="cstat-no" title="statement not covered" > await deletePreviousOneToAnyRelations({</span>
|
|
3589
|
-
id,
|
|
3590
|
-
attribute,
|
|
3591
|
-
relIdsToadd: relIdsToaddOrMove,
|
|
3592
|
-
db,
|
|
3593
|
-
transaction: trx,
|
|
3594
|
-
});
|
|
3595
|
-
}
|
|
3596
|
-
|
|
3597
|
-
// Delete the previous relations for anyToOne relations
|
|
3598
|
-
<span class="cstat-no" title="statement not covered" > if (isAnyToOne(attribute)) {</span>
|
|
3599
|
-
<span class="cstat-no" title="statement not covered" > await deletePreviousAnyToOneRelations({</span>
|
|
3600
|
-
id,
|
|
3601
|
-
attribute,
|
|
3602
|
-
relIdToadd: relIdsToaddOrMove[0],
|
|
3603
|
-
db,
|
|
3604
|
-
transaction: trx,
|
|
3605
|
-
});
|
|
3606
|
-
}
|
|
3607
|
-
}
|
|
3608
|
-
}
|
|
3609
|
-
}
|
|
3610
|
-
},
|
|
3611
|
-
|
|
3612
|
-
/**
|
|
3613
|
-
* Delete relational associations of an existing entity
|
|
3614
|
-
* This removes associations but doesn't do cascade deletions for components for example. This will be handled on the entity service layer instead
|
|
3615
|
-
* NOTE: Most of the deletion should be handled by ON DELETE CASCADE for dialects that have FKs
|
|
3616
|
-
*
|
|
3617
|
-
* @param {EntityManager} em - entity manager instance
|
|
3618
|
-
* @param {Metadata} metadata - model metadta
|
|
3619
|
-
* @param {ID} id - entity ID
|
|
3620
|
-
*/
|
|
3621
|
-
<span class="fstat-no" title="function not covered" > as</span>ync deleteRelations(uid, id, { transaction: trx }) {
|
|
3622
|
-
const { attributes } = <span class="cstat-no" title="statement not covered" >db.metadata.get(uid);</span>
|
|
3623
|
-
|
|
3624
|
-
<span class="cstat-no" title="statement not covered" > for (const attributeName of Object.keys(attributes)) {</span>
|
|
3625
|
-
const attribute = <span class="cstat-no" title="statement not covered" >attributes[attributeName];</span>
|
|
3626
|
-
|
|
3627
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.type !== 'relation') {</span>
|
|
3628
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3629
|
-
}
|
|
3630
|
-
|
|
3631
|
-
/*
|
|
3632
|
-
if morphOne | morphMany
|
|
3633
|
-
if morphBy is morphToOne
|
|
3634
|
-
set null
|
|
3635
|
-
if morphBy is morphToOne
|
|
3636
|
-
delete links
|
|
3637
|
-
*/
|
|
3638
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.relation === 'morphOne' || attribute.relation === 'morphMany') {</span>
|
|
3639
|
-
const { target, morphBy } = <span class="cstat-no" title="statement not covered" >attribute;</span>
|
|
3640
|
-
|
|
3641
|
-
const targetAttribute = <span class="cstat-no" title="statement not covered" >db.metadata.get(target).attributes[morphBy];</span>
|
|
3642
|
-
|
|
3643
|
-
<span class="cstat-no" title="statement not covered" > if (targetAttribute.relation === 'morphToOne') {</span>
|
|
3644
|
-
// set columns
|
|
3645
|
-
const { idColumn, typeColumn } = <span class="cstat-no" title="statement not covered" >targetAttribute.morphColumn;</span>
|
|
3646
|
-
|
|
3647
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(target)</span>
|
|
3648
|
-
.update({ [idColumn.name]: null, [typeColumn.name]: null })
|
|
3649
|
-
.where({ [idColumn.name]: id, [typeColumn.name]: uid })
|
|
3650
|
-
.transacting(trx)
|
|
3651
|
-
.execute();
|
|
3652
|
-
} else <span class="cstat-no" title="statement not covered" >if (targetAttribute.relation === 'morphToMany') {</span>
|
|
3653
|
-
const { joinTable } = <span class="cstat-no" title="statement not covered" >targetAttribute;</span>
|
|
3654
|
-
const { morphColumn } = <span class="cstat-no" title="statement not covered" >joinTable;</span>
|
|
3655
|
-
|
|
3656
|
-
const { idColumn, typeColumn } = <span class="cstat-no" title="statement not covered" >morphColumn;</span>
|
|
3657
|
-
|
|
3658
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(joinTable.name)</span>
|
|
3659
|
-
.delete()
|
|
3660
|
-
.where({
|
|
3661
|
-
[idColumn.name]: id,
|
|
3662
|
-
[typeColumn.name]: uid,
|
|
3663
|
-
...(joinTable.on || {}),
|
|
3664
|
-
field: attributeName,
|
|
3665
|
-
})
|
|
3666
|
-
.transacting(trx)
|
|
3667
|
-
.execute();
|
|
3668
|
-
}
|
|
3669
|
-
|
|
3670
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3671
|
-
}
|
|
3672
|
-
|
|
3673
|
-
/*
|
|
3674
|
-
if morphToOne
|
|
3675
|
-
nothing to do
|
|
3676
|
-
*/
|
|
3677
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.relation === 'morphToOne') {</span>
|
|
3678
|
-
// do nothing
|
|
3679
|
-
}
|
|
3680
|
-
|
|
3681
|
-
/*
|
|
3682
|
-
if morphToMany
|
|
3683
|
-
delete links
|
|
3684
|
-
*/
|
|
3685
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.relation === 'morphToMany') {</span>
|
|
3686
|
-
const { joinTable } = <span class="cstat-no" title="statement not covered" >attribute;</span>
|
|
3687
|
-
const { joinColumn } = <span class="cstat-no" title="statement not covered" >joinTable;</span>
|
|
3688
|
-
|
|
3689
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(joinTable.name)</span>
|
|
3690
|
-
.delete()
|
|
3691
|
-
.where({
|
|
3692
|
-
[joinColumn.name]: id,
|
|
3693
|
-
...(joinTable.on || {}),
|
|
3694
|
-
})
|
|
3695
|
-
.transacting(trx)
|
|
3696
|
-
.execute();
|
|
3697
|
-
|
|
3698
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3699
|
-
}
|
|
3700
|
-
|
|
3701
|
-
// do not need to delete links when using foreign keys
|
|
3702
|
-
<span class="cstat-no" title="statement not covered" > if (db.dialect.usesForeignKeys()) {</span>
|
|
3703
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
3704
|
-
}
|
|
3705
|
-
|
|
3706
|
-
// NOTE: we do not remove existing associations with the target as it should handled by unique FKs instead
|
|
3707
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.joinColumn && attribute.owner) {</span>
|
|
3708
|
-
// nothing to do => relation already added on the table
|
|
3709
|
-
<span class="cstat-no" title="statement not covered" > continue;</span>
|
|
3710
|
-
}
|
|
3711
|
-
|
|
3712
|
-
// oneToOne oneToMany on the non owning side.
|
|
3713
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.joinColumn && !attribute.owner) {</span>
|
|
3714
|
-
// need to set the column on the target
|
|
3715
|
-
const { target } = <span class="cstat-no" title="statement not covered" >attribute;</span>
|
|
3716
|
-
|
|
3717
|
-
<span class="cstat-no" title="statement not covered" > await this.createQueryBuilder(target)</span>
|
|
3718
|
-
.where({ [attribute.joinColumn.referencedColumn]: id })
|
|
3719
|
-
.update({ [attribute.joinColumn.referencedColumn]: null })
|
|
3720
|
-
.transacting(trx)
|
|
3721
|
-
.execute();
|
|
3722
|
-
}
|
|
3723
|
-
|
|
3724
|
-
<span class="cstat-no" title="statement not covered" > if (attribute.joinTable) {</span>
|
|
3725
|
-
<span class="cstat-no" title="statement not covered" > await deleteRelations({ id, attribute, db, relIdsToDelete: 'all', transaction: trx });</span>
|
|
3726
|
-
}
|
|
3727
|
-
}
|
|
3728
|
-
},
|
|
3729
|
-
|
|
3730
|
-
// TODO: add lifecycle events
|
|
3731
|
-
<span class="fstat-no" title="function not covered" > as</span>ync populate(uid, entity, populate) {
|
|
3732
|
-
const entry = <span class="cstat-no" title="statement not covered" >await this.findOne(uid, {</span>
|
|
3733
|
-
select: ['id'],
|
|
3734
|
-
where: { id: entity.id },
|
|
3735
|
-
populate,
|
|
3736
|
-
});
|
|
3737
|
-
|
|
3738
|
-
<span class="cstat-no" title="statement not covered" > return { ...entity, ...entry };</span>
|
|
3739
|
-
},
|
|
3740
|
-
|
|
3741
|
-
// TODO: add lifecycle events
|
|
3742
|
-
<span class="fstat-no" title="function not covered" > as</span>ync load(uid, entity, fields, params) {
|
|
3743
|
-
const { attributes } = <span class="cstat-no" title="statement not covered" >db.metadata.get(uid);</span>
|
|
3744
|
-
|
|
3745
|
-
const fieldsArr = <span class="cstat-no" title="statement not covered" >castArray(fields);</span>
|
|
3746
|
-
<span class="cstat-no" title="statement not covered" > fieldsArr.forEach(<span class="fstat-no" title="function not covered" >(f</span>ield) => {</span>
|
|
3747
|
-
const attribute = <span class="cstat-no" title="statement not covered" >attributes[field];</span>
|
|
3748
|
-
|
|
3749
|
-
<span class="cstat-no" title="statement not covered" > if (!attribute || attribute.type !== 'relation') {</span>
|
|
3750
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`Invalid load. Expected ${field} to be a relational attribute`);</span>
|
|
3751
|
-
}
|
|
3752
|
-
});
|
|
3753
|
-
|
|
3754
|
-
const entry = <span class="cstat-no" title="statement not covered" >await this.findOne(uid, {</span>
|
|
3755
|
-
select: ['id'],
|
|
3756
|
-
where: { id: entity.id },
|
|
3757
|
-
populate: fieldsArr.reduce(<span class="fstat-no" title="function not covered" >(a</span>cc, field) => {
|
|
3758
|
-
<span class="cstat-no" title="statement not covered" > acc[field] = params || true;</span>
|
|
3759
|
-
<span class="cstat-no" title="statement not covered" > return acc;</span>
|
|
3760
|
-
}, {}),
|
|
3761
|
-
});
|
|
3762
|
-
|
|
3763
|
-
<span class="cstat-no" title="statement not covered" > if (!entry) {</span>
|
|
3764
|
-
<span class="cstat-no" title="statement not covered" > return null;</span>
|
|
3765
|
-
}
|
|
3766
|
-
|
|
3767
|
-
<span class="cstat-no" title="statement not covered" > if (Array.isArray(fields)) {</span>
|
|
3768
|
-
<span class="cstat-no" title="statement not covered" > return pick(fields, entry);</span>
|
|
3769
|
-
}
|
|
3770
|
-
|
|
3771
|
-
<span class="cstat-no" title="statement not covered" > return entry[fields];</span>
|
|
3772
|
-
},
|
|
3773
|
-
|
|
3774
|
-
// cascading
|
|
3775
|
-
// aggregations
|
|
3776
|
-
// -> avg
|
|
3777
|
-
// -> min
|
|
3778
|
-
// -> max
|
|
3779
|
-
// -> grouping
|
|
3780
|
-
|
|
3781
|
-
// formulas
|
|
3782
|
-
// custom queries
|
|
3783
|
-
|
|
3784
|
-
// utilities
|
|
3785
|
-
// -> map result
|
|
3786
|
-
// -> map input
|
|
3787
|
-
|
|
3788
|
-
// extra features
|
|
3789
|
-
// -> virtuals
|
|
3790
|
-
// -> private
|
|
3791
|
-
|
|
3792
|
-
<span class="fstat-no" title="function not covered" > cr</span>eateQueryBuilder(uid) {
|
|
3793
|
-
<span class="cstat-no" title="statement not covered" > return createQueryBuilder(uid, db);</span>
|
|
3794
|
-
},
|
|
3795
|
-
|
|
3796
|
-
<span class="fstat-no" title="function not covered" > ge</span>tRepository(uid) {
|
|
3797
|
-
<span class="cstat-no" title="statement not covered" > if (!repoMap[uid]) {</span>
|
|
3798
|
-
<span class="cstat-no" title="statement not covered" > repoMap[uid] = createRepository(uid, db);</span>
|
|
3799
|
-
}
|
|
3800
|
-
|
|
3801
|
-
<span class="cstat-no" title="statement not covered" > return repoMap[uid];</span>
|
|
3802
|
-
},
|
|
3803
|
-
|
|
3804
|
-
<span class="fstat-no" title="function not covered" > cl</span>earRepositories() {
|
|
3805
|
-
<span class="cstat-no" title="statement not covered" > repoMap.clear();</span>
|
|
3806
|
-
},
|
|
3807
|
-
};
|
|
3808
|
-
};
|
|
3809
|
-
|
|
3810
|
-
module.exports = {
|
|
3811
|
-
createEntityManager,
|
|
3812
|
-
};
|
|
3813
|
-
</pre></td></tr></table></pre>
|
|
3814
|
-
|
|
3815
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
3816
|
-
</div><!-- /wrapper -->
|
|
3817
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
3818
|
-
Code coverage generated by
|
|
3819
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
3820
|
-
at 2023-03-15T08:52:46.420Z
|
|
3821
|
-
</div>
|
|
3822
|
-
<script src="../../prettify.js"></script>
|
|
3823
|
-
<script>
|
|
3824
|
-
window.onload = function () {
|
|
3825
|
-
prettyPrint();
|
|
3826
|
-
};
|
|
3827
|
-
</script>
|
|
3828
|
-
<script src="../../sorter.js"></script>
|
|
3829
|
-
<script src="../../block-navigation.js"></script>
|
|
3830
|
-
</body>
|
|
3831
|
-
</html>
|
|
3832
|
-
|