@pixwel/pixwel-sdk 2.1.21 → 2.1.23

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.
Files changed (38) hide show
  1. package/dist/index.js +9 -0
  2. package/dist/src/Ingest.js +1 -0
  3. package/index.js +1 -0
  4. package/package.json +3 -2
  5. package/src/Ingest.js +1 -0
  6. package/.vs/slnx.sqlite +0 -0
  7. package/coverage/clover.xml +0 -628
  8. package/coverage/coverage-final.json +0 -16
  9. package/coverage/lcov-report/Ass.js.html +0 -651
  10. package/coverage/lcov-report/Asset.js.html +0 -129
  11. package/coverage/lcov-report/AssetType.js.html +0 -102
  12. package/coverage/lcov-report/Encode.js.html +0 -102
  13. package/coverage/lcov-report/File.js.html +0 -102
  14. package/coverage/lcov-report/Filename.js.html +0 -96
  15. package/coverage/lcov-report/Ingest.js.html +0 -2064
  16. package/coverage/lcov-report/IngestFile.js.html +0 -87
  17. package/coverage/lcov-report/IngestFileDrop.js.html +0 -540
  18. package/coverage/lcov-report/Model.js.html +0 -825
  19. package/coverage/lcov-report/Order.js.html +0 -198
  20. package/coverage/lcov-report/Srt.js.html +0 -333
  21. package/coverage/lcov-report/Sub.js.html +0 -177
  22. package/coverage/lcov-report/Tag.js.html +0 -102
  23. package/coverage/lcov-report/TimeFormat.js.html +0 -210
  24. package/coverage/lcov-report/base.css +0 -223
  25. package/coverage/lcov-report/block-navigation.js +0 -63
  26. package/coverage/lcov-report/fileType.js.html +0 -192
  27. package/coverage/lcov-report/index.html +0 -279
  28. package/coverage/lcov-report/lib/Filename.js.html +0 -720
  29. package/coverage/lcov-report/lib/index.html +0 -97
  30. package/coverage/lcov-report/prettify.css +0 -1
  31. package/coverage/lcov-report/prettify.js +0 -1
  32. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  33. package/coverage/lcov-report/sorter.js +0 -158
  34. package/coverage/lcov-report/test/index.html +0 -97
  35. package/coverage/lcov-report/test/mocks.js.html +0 -423
  36. package/coverage/lcov.info +0 -1289
  37. package/npm-update.sh +0 -8
  38. package/test/mocks/mediainfo-4x3.mock.js +0 -76
@@ -1,2064 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <title>Code coverage report for Ingest.js</title>
5
- <meta charset="utf-8" />
6
- <link rel="stylesheet" href="prettify.css" />
7
- <link rel="stylesheet" href="base.css" />
8
- <meta name="viewport" content="width=device-width, initial-scale=1">
9
- <style type='text/css'>
10
- .coverage-summary .sorter {
11
- background-image: url(sort-arrow-sprite.png);
12
- }
13
- </style>
14
- </head>
15
- <body>
16
- <div class='wrapper'>
17
- <div class='pad1'>
18
- <h1>
19
- <a href="index.html">All files</a> Ingest.js
20
- </h1>
21
- <div class='clearfix'>
22
- <div class='fl pad1y space-right2'>
23
- <span class="strong">86.99% </span>
24
- <span class="quiet">Statements</span>
25
- <span class='fraction'>234/269</span>
26
- </div>
27
- <div class='fl pad1y space-right2'>
28
- <span class="strong">84.81% </span>
29
- <span class="quiet">Branches</span>
30
- <span class='fraction'>201/237</span>
31
- </div>
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">86.36% </span>
34
- <span class="quiet">Functions</span>
35
- <span class='fraction'>19/22</span>
36
- </div>
37
- <div class='fl pad1y space-right2'>
38
- <span class="strong">86.94% </span>
39
- <span class="quiet">Lines</span>
40
- <span class='fraction'>233/268</span>
41
- </div>
42
- </div>
43
- <p class="quiet">
44
- 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.
45
- </p>
46
- </div>
47
- <div class='status-line high'></div>
48
- <pre><table class="coverage">
49
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
50
- <a name='L2'></a><a href='#L2'>2</a>
51
- <a name='L3'></a><a href='#L3'>3</a>
52
- <a name='L4'></a><a href='#L4'>4</a>
53
- <a name='L5'></a><a href='#L5'>5</a>
54
- <a name='L6'></a><a href='#L6'>6</a>
55
- <a name='L7'></a><a href='#L7'>7</a>
56
- <a name='L8'></a><a href='#L8'>8</a>
57
- <a name='L9'></a><a href='#L9'>9</a>
58
- <a name='L10'></a><a href='#L10'>10</a>
59
- <a name='L11'></a><a href='#L11'>11</a>
60
- <a name='L12'></a><a href='#L12'>12</a>
61
- <a name='L13'></a><a href='#L13'>13</a>
62
- <a name='L14'></a><a href='#L14'>14</a>
63
- <a name='L15'></a><a href='#L15'>15</a>
64
- <a name='L16'></a><a href='#L16'>16</a>
65
- <a name='L17'></a><a href='#L17'>17</a>
66
- <a name='L18'></a><a href='#L18'>18</a>
67
- <a name='L19'></a><a href='#L19'>19</a>
68
- <a name='L20'></a><a href='#L20'>20</a>
69
- <a name='L21'></a><a href='#L21'>21</a>
70
- <a name='L22'></a><a href='#L22'>22</a>
71
- <a name='L23'></a><a href='#L23'>23</a>
72
- <a name='L24'></a><a href='#L24'>24</a>
73
- <a name='L25'></a><a href='#L25'>25</a>
74
- <a name='L26'></a><a href='#L26'>26</a>
75
- <a name='L27'></a><a href='#L27'>27</a>
76
- <a name='L28'></a><a href='#L28'>28</a>
77
- <a name='L29'></a><a href='#L29'>29</a>
78
- <a name='L30'></a><a href='#L30'>30</a>
79
- <a name='L31'></a><a href='#L31'>31</a>
80
- <a name='L32'></a><a href='#L32'>32</a>
81
- <a name='L33'></a><a href='#L33'>33</a>
82
- <a name='L34'></a><a href='#L34'>34</a>
83
- <a name='L35'></a><a href='#L35'>35</a>
84
- <a name='L36'></a><a href='#L36'>36</a>
85
- <a name='L37'></a><a href='#L37'>37</a>
86
- <a name='L38'></a><a href='#L38'>38</a>
87
- <a name='L39'></a><a href='#L39'>39</a>
88
- <a name='L40'></a><a href='#L40'>40</a>
89
- <a name='L41'></a><a href='#L41'>41</a>
90
- <a name='L42'></a><a href='#L42'>42</a>
91
- <a name='L43'></a><a href='#L43'>43</a>
92
- <a name='L44'></a><a href='#L44'>44</a>
93
- <a name='L45'></a><a href='#L45'>45</a>
94
- <a name='L46'></a><a href='#L46'>46</a>
95
- <a name='L47'></a><a href='#L47'>47</a>
96
- <a name='L48'></a><a href='#L48'>48</a>
97
- <a name='L49'></a><a href='#L49'>49</a>
98
- <a name='L50'></a><a href='#L50'>50</a>
99
- <a name='L51'></a><a href='#L51'>51</a>
100
- <a name='L52'></a><a href='#L52'>52</a>
101
- <a name='L53'></a><a href='#L53'>53</a>
102
- <a name='L54'></a><a href='#L54'>54</a>
103
- <a name='L55'></a><a href='#L55'>55</a>
104
- <a name='L56'></a><a href='#L56'>56</a>
105
- <a name='L57'></a><a href='#L57'>57</a>
106
- <a name='L58'></a><a href='#L58'>58</a>
107
- <a name='L59'></a><a href='#L59'>59</a>
108
- <a name='L60'></a><a href='#L60'>60</a>
109
- <a name='L61'></a><a href='#L61'>61</a>
110
- <a name='L62'></a><a href='#L62'>62</a>
111
- <a name='L63'></a><a href='#L63'>63</a>
112
- <a name='L64'></a><a href='#L64'>64</a>
113
- <a name='L65'></a><a href='#L65'>65</a>
114
- <a name='L66'></a><a href='#L66'>66</a>
115
- <a name='L67'></a><a href='#L67'>67</a>
116
- <a name='L68'></a><a href='#L68'>68</a>
117
- <a name='L69'></a><a href='#L69'>69</a>
118
- <a name='L70'></a><a href='#L70'>70</a>
119
- <a name='L71'></a><a href='#L71'>71</a>
120
- <a name='L72'></a><a href='#L72'>72</a>
121
- <a name='L73'></a><a href='#L73'>73</a>
122
- <a name='L74'></a><a href='#L74'>74</a>
123
- <a name='L75'></a><a href='#L75'>75</a>
124
- <a name='L76'></a><a href='#L76'>76</a>
125
- <a name='L77'></a><a href='#L77'>77</a>
126
- <a name='L78'></a><a href='#L78'>78</a>
127
- <a name='L79'></a><a href='#L79'>79</a>
128
- <a name='L80'></a><a href='#L80'>80</a>
129
- <a name='L81'></a><a href='#L81'>81</a>
130
- <a name='L82'></a><a href='#L82'>82</a>
131
- <a name='L83'></a><a href='#L83'>83</a>
132
- <a name='L84'></a><a href='#L84'>84</a>
133
- <a name='L85'></a><a href='#L85'>85</a>
134
- <a name='L86'></a><a href='#L86'>86</a>
135
- <a name='L87'></a><a href='#L87'>87</a>
136
- <a name='L88'></a><a href='#L88'>88</a>
137
- <a name='L89'></a><a href='#L89'>89</a>
138
- <a name='L90'></a><a href='#L90'>90</a>
139
- <a name='L91'></a><a href='#L91'>91</a>
140
- <a name='L92'></a><a href='#L92'>92</a>
141
- <a name='L93'></a><a href='#L93'>93</a>
142
- <a name='L94'></a><a href='#L94'>94</a>
143
- <a name='L95'></a><a href='#L95'>95</a>
144
- <a name='L96'></a><a href='#L96'>96</a>
145
- <a name='L97'></a><a href='#L97'>97</a>
146
- <a name='L98'></a><a href='#L98'>98</a>
147
- <a name='L99'></a><a href='#L99'>99</a>
148
- <a name='L100'></a><a href='#L100'>100</a>
149
- <a name='L101'></a><a href='#L101'>101</a>
150
- <a name='L102'></a><a href='#L102'>102</a>
151
- <a name='L103'></a><a href='#L103'>103</a>
152
- <a name='L104'></a><a href='#L104'>104</a>
153
- <a name='L105'></a><a href='#L105'>105</a>
154
- <a name='L106'></a><a href='#L106'>106</a>
155
- <a name='L107'></a><a href='#L107'>107</a>
156
- <a name='L108'></a><a href='#L108'>108</a>
157
- <a name='L109'></a><a href='#L109'>109</a>
158
- <a name='L110'></a><a href='#L110'>110</a>
159
- <a name='L111'></a><a href='#L111'>111</a>
160
- <a name='L112'></a><a href='#L112'>112</a>
161
- <a name='L113'></a><a href='#L113'>113</a>
162
- <a name='L114'></a><a href='#L114'>114</a>
163
- <a name='L115'></a><a href='#L115'>115</a>
164
- <a name='L116'></a><a href='#L116'>116</a>
165
- <a name='L117'></a><a href='#L117'>117</a>
166
- <a name='L118'></a><a href='#L118'>118</a>
167
- <a name='L119'></a><a href='#L119'>119</a>
168
- <a name='L120'></a><a href='#L120'>120</a>
169
- <a name='L121'></a><a href='#L121'>121</a>
170
- <a name='L122'></a><a href='#L122'>122</a>
171
- <a name='L123'></a><a href='#L123'>123</a>
172
- <a name='L124'></a><a href='#L124'>124</a>
173
- <a name='L125'></a><a href='#L125'>125</a>
174
- <a name='L126'></a><a href='#L126'>126</a>
175
- <a name='L127'></a><a href='#L127'>127</a>
176
- <a name='L128'></a><a href='#L128'>128</a>
177
- <a name='L129'></a><a href='#L129'>129</a>
178
- <a name='L130'></a><a href='#L130'>130</a>
179
- <a name='L131'></a><a href='#L131'>131</a>
180
- <a name='L132'></a><a href='#L132'>132</a>
181
- <a name='L133'></a><a href='#L133'>133</a>
182
- <a name='L134'></a><a href='#L134'>134</a>
183
- <a name='L135'></a><a href='#L135'>135</a>
184
- <a name='L136'></a><a href='#L136'>136</a>
185
- <a name='L137'></a><a href='#L137'>137</a>
186
- <a name='L138'></a><a href='#L138'>138</a>
187
- <a name='L139'></a><a href='#L139'>139</a>
188
- <a name='L140'></a><a href='#L140'>140</a>
189
- <a name='L141'></a><a href='#L141'>141</a>
190
- <a name='L142'></a><a href='#L142'>142</a>
191
- <a name='L143'></a><a href='#L143'>143</a>
192
- <a name='L144'></a><a href='#L144'>144</a>
193
- <a name='L145'></a><a href='#L145'>145</a>
194
- <a name='L146'></a><a href='#L146'>146</a>
195
- <a name='L147'></a><a href='#L147'>147</a>
196
- <a name='L148'></a><a href='#L148'>148</a>
197
- <a name='L149'></a><a href='#L149'>149</a>
198
- <a name='L150'></a><a href='#L150'>150</a>
199
- <a name='L151'></a><a href='#L151'>151</a>
200
- <a name='L152'></a><a href='#L152'>152</a>
201
- <a name='L153'></a><a href='#L153'>153</a>
202
- <a name='L154'></a><a href='#L154'>154</a>
203
- <a name='L155'></a><a href='#L155'>155</a>
204
- <a name='L156'></a><a href='#L156'>156</a>
205
- <a name='L157'></a><a href='#L157'>157</a>
206
- <a name='L158'></a><a href='#L158'>158</a>
207
- <a name='L159'></a><a href='#L159'>159</a>
208
- <a name='L160'></a><a href='#L160'>160</a>
209
- <a name='L161'></a><a href='#L161'>161</a>
210
- <a name='L162'></a><a href='#L162'>162</a>
211
- <a name='L163'></a><a href='#L163'>163</a>
212
- <a name='L164'></a><a href='#L164'>164</a>
213
- <a name='L165'></a><a href='#L165'>165</a>
214
- <a name='L166'></a><a href='#L166'>166</a>
215
- <a name='L167'></a><a href='#L167'>167</a>
216
- <a name='L168'></a><a href='#L168'>168</a>
217
- <a name='L169'></a><a href='#L169'>169</a>
218
- <a name='L170'></a><a href='#L170'>170</a>
219
- <a name='L171'></a><a href='#L171'>171</a>
220
- <a name='L172'></a><a href='#L172'>172</a>
221
- <a name='L173'></a><a href='#L173'>173</a>
222
- <a name='L174'></a><a href='#L174'>174</a>
223
- <a name='L175'></a><a href='#L175'>175</a>
224
- <a name='L176'></a><a href='#L176'>176</a>
225
- <a name='L177'></a><a href='#L177'>177</a>
226
- <a name='L178'></a><a href='#L178'>178</a>
227
- <a name='L179'></a><a href='#L179'>179</a>
228
- <a name='L180'></a><a href='#L180'>180</a>
229
- <a name='L181'></a><a href='#L181'>181</a>
230
- <a name='L182'></a><a href='#L182'>182</a>
231
- <a name='L183'></a><a href='#L183'>183</a>
232
- <a name='L184'></a><a href='#L184'>184</a>
233
- <a name='L185'></a><a href='#L185'>185</a>
234
- <a name='L186'></a><a href='#L186'>186</a>
235
- <a name='L187'></a><a href='#L187'>187</a>
236
- <a name='L188'></a><a href='#L188'>188</a>
237
- <a name='L189'></a><a href='#L189'>189</a>
238
- <a name='L190'></a><a href='#L190'>190</a>
239
- <a name='L191'></a><a href='#L191'>191</a>
240
- <a name='L192'></a><a href='#L192'>192</a>
241
- <a name='L193'></a><a href='#L193'>193</a>
242
- <a name='L194'></a><a href='#L194'>194</a>
243
- <a name='L195'></a><a href='#L195'>195</a>
244
- <a name='L196'></a><a href='#L196'>196</a>
245
- <a name='L197'></a><a href='#L197'>197</a>
246
- <a name='L198'></a><a href='#L198'>198</a>
247
- <a name='L199'></a><a href='#L199'>199</a>
248
- <a name='L200'></a><a href='#L200'>200</a>
249
- <a name='L201'></a><a href='#L201'>201</a>
250
- <a name='L202'></a><a href='#L202'>202</a>
251
- <a name='L203'></a><a href='#L203'>203</a>
252
- <a name='L204'></a><a href='#L204'>204</a>
253
- <a name='L205'></a><a href='#L205'>205</a>
254
- <a name='L206'></a><a href='#L206'>206</a>
255
- <a name='L207'></a><a href='#L207'>207</a>
256
- <a name='L208'></a><a href='#L208'>208</a>
257
- <a name='L209'></a><a href='#L209'>209</a>
258
- <a name='L210'></a><a href='#L210'>210</a>
259
- <a name='L211'></a><a href='#L211'>211</a>
260
- <a name='L212'></a><a href='#L212'>212</a>
261
- <a name='L213'></a><a href='#L213'>213</a>
262
- <a name='L214'></a><a href='#L214'>214</a>
263
- <a name='L215'></a><a href='#L215'>215</a>
264
- <a name='L216'></a><a href='#L216'>216</a>
265
- <a name='L217'></a><a href='#L217'>217</a>
266
- <a name='L218'></a><a href='#L218'>218</a>
267
- <a name='L219'></a><a href='#L219'>219</a>
268
- <a name='L220'></a><a href='#L220'>220</a>
269
- <a name='L221'></a><a href='#L221'>221</a>
270
- <a name='L222'></a><a href='#L222'>222</a>
271
- <a name='L223'></a><a href='#L223'>223</a>
272
- <a name='L224'></a><a href='#L224'>224</a>
273
- <a name='L225'></a><a href='#L225'>225</a>
274
- <a name='L226'></a><a href='#L226'>226</a>
275
- <a name='L227'></a><a href='#L227'>227</a>
276
- <a name='L228'></a><a href='#L228'>228</a>
277
- <a name='L229'></a><a href='#L229'>229</a>
278
- <a name='L230'></a><a href='#L230'>230</a>
279
- <a name='L231'></a><a href='#L231'>231</a>
280
- <a name='L232'></a><a href='#L232'>232</a>
281
- <a name='L233'></a><a href='#L233'>233</a>
282
- <a name='L234'></a><a href='#L234'>234</a>
283
- <a name='L235'></a><a href='#L235'>235</a>
284
- <a name='L236'></a><a href='#L236'>236</a>
285
- <a name='L237'></a><a href='#L237'>237</a>
286
- <a name='L238'></a><a href='#L238'>238</a>
287
- <a name='L239'></a><a href='#L239'>239</a>
288
- <a name='L240'></a><a href='#L240'>240</a>
289
- <a name='L241'></a><a href='#L241'>241</a>
290
- <a name='L242'></a><a href='#L242'>242</a>
291
- <a name='L243'></a><a href='#L243'>243</a>
292
- <a name='L244'></a><a href='#L244'>244</a>
293
- <a name='L245'></a><a href='#L245'>245</a>
294
- <a name='L246'></a><a href='#L246'>246</a>
295
- <a name='L247'></a><a href='#L247'>247</a>
296
- <a name='L248'></a><a href='#L248'>248</a>
297
- <a name='L249'></a><a href='#L249'>249</a>
298
- <a name='L250'></a><a href='#L250'>250</a>
299
- <a name='L251'></a><a href='#L251'>251</a>
300
- <a name='L252'></a><a href='#L252'>252</a>
301
- <a name='L253'></a><a href='#L253'>253</a>
302
- <a name='L254'></a><a href='#L254'>254</a>
303
- <a name='L255'></a><a href='#L255'>255</a>
304
- <a name='L256'></a><a href='#L256'>256</a>
305
- <a name='L257'></a><a href='#L257'>257</a>
306
- <a name='L258'></a><a href='#L258'>258</a>
307
- <a name='L259'></a><a href='#L259'>259</a>
308
- <a name='L260'></a><a href='#L260'>260</a>
309
- <a name='L261'></a><a href='#L261'>261</a>
310
- <a name='L262'></a><a href='#L262'>262</a>
311
- <a name='L263'></a><a href='#L263'>263</a>
312
- <a name='L264'></a><a href='#L264'>264</a>
313
- <a name='L265'></a><a href='#L265'>265</a>
314
- <a name='L266'></a><a href='#L266'>266</a>
315
- <a name='L267'></a><a href='#L267'>267</a>
316
- <a name='L268'></a><a href='#L268'>268</a>
317
- <a name='L269'></a><a href='#L269'>269</a>
318
- <a name='L270'></a><a href='#L270'>270</a>
319
- <a name='L271'></a><a href='#L271'>271</a>
320
- <a name='L272'></a><a href='#L272'>272</a>
321
- <a name='L273'></a><a href='#L273'>273</a>
322
- <a name='L274'></a><a href='#L274'>274</a>
323
- <a name='L275'></a><a href='#L275'>275</a>
324
- <a name='L276'></a><a href='#L276'>276</a>
325
- <a name='L277'></a><a href='#L277'>277</a>
326
- <a name='L278'></a><a href='#L278'>278</a>
327
- <a name='L279'></a><a href='#L279'>279</a>
328
- <a name='L280'></a><a href='#L280'>280</a>
329
- <a name='L281'></a><a href='#L281'>281</a>
330
- <a name='L282'></a><a href='#L282'>282</a>
331
- <a name='L283'></a><a href='#L283'>283</a>
332
- <a name='L284'></a><a href='#L284'>284</a>
333
- <a name='L285'></a><a href='#L285'>285</a>
334
- <a name='L286'></a><a href='#L286'>286</a>
335
- <a name='L287'></a><a href='#L287'>287</a>
336
- <a name='L288'></a><a href='#L288'>288</a>
337
- <a name='L289'></a><a href='#L289'>289</a>
338
- <a name='L290'></a><a href='#L290'>290</a>
339
- <a name='L291'></a><a href='#L291'>291</a>
340
- <a name='L292'></a><a href='#L292'>292</a>
341
- <a name='L293'></a><a href='#L293'>293</a>
342
- <a name='L294'></a><a href='#L294'>294</a>
343
- <a name='L295'></a><a href='#L295'>295</a>
344
- <a name='L296'></a><a href='#L296'>296</a>
345
- <a name='L297'></a><a href='#L297'>297</a>
346
- <a name='L298'></a><a href='#L298'>298</a>
347
- <a name='L299'></a><a href='#L299'>299</a>
348
- <a name='L300'></a><a href='#L300'>300</a>
349
- <a name='L301'></a><a href='#L301'>301</a>
350
- <a name='L302'></a><a href='#L302'>302</a>
351
- <a name='L303'></a><a href='#L303'>303</a>
352
- <a name='L304'></a><a href='#L304'>304</a>
353
- <a name='L305'></a><a href='#L305'>305</a>
354
- <a name='L306'></a><a href='#L306'>306</a>
355
- <a name='L307'></a><a href='#L307'>307</a>
356
- <a name='L308'></a><a href='#L308'>308</a>
357
- <a name='L309'></a><a href='#L309'>309</a>
358
- <a name='L310'></a><a href='#L310'>310</a>
359
- <a name='L311'></a><a href='#L311'>311</a>
360
- <a name='L312'></a><a href='#L312'>312</a>
361
- <a name='L313'></a><a href='#L313'>313</a>
362
- <a name='L314'></a><a href='#L314'>314</a>
363
- <a name='L315'></a><a href='#L315'>315</a>
364
- <a name='L316'></a><a href='#L316'>316</a>
365
- <a name='L317'></a><a href='#L317'>317</a>
366
- <a name='L318'></a><a href='#L318'>318</a>
367
- <a name='L319'></a><a href='#L319'>319</a>
368
- <a name='L320'></a><a href='#L320'>320</a>
369
- <a name='L321'></a><a href='#L321'>321</a>
370
- <a name='L322'></a><a href='#L322'>322</a>
371
- <a name='L323'></a><a href='#L323'>323</a>
372
- <a name='L324'></a><a href='#L324'>324</a>
373
- <a name='L325'></a><a href='#L325'>325</a>
374
- <a name='L326'></a><a href='#L326'>326</a>
375
- <a name='L327'></a><a href='#L327'>327</a>
376
- <a name='L328'></a><a href='#L328'>328</a>
377
- <a name='L329'></a><a href='#L329'>329</a>
378
- <a name='L330'></a><a href='#L330'>330</a>
379
- <a name='L331'></a><a href='#L331'>331</a>
380
- <a name='L332'></a><a href='#L332'>332</a>
381
- <a name='L333'></a><a href='#L333'>333</a>
382
- <a name='L334'></a><a href='#L334'>334</a>
383
- <a name='L335'></a><a href='#L335'>335</a>
384
- <a name='L336'></a><a href='#L336'>336</a>
385
- <a name='L337'></a><a href='#L337'>337</a>
386
- <a name='L338'></a><a href='#L338'>338</a>
387
- <a name='L339'></a><a href='#L339'>339</a>
388
- <a name='L340'></a><a href='#L340'>340</a>
389
- <a name='L341'></a><a href='#L341'>341</a>
390
- <a name='L342'></a><a href='#L342'>342</a>
391
- <a name='L343'></a><a href='#L343'>343</a>
392
- <a name='L344'></a><a href='#L344'>344</a>
393
- <a name='L345'></a><a href='#L345'>345</a>
394
- <a name='L346'></a><a href='#L346'>346</a>
395
- <a name='L347'></a><a href='#L347'>347</a>
396
- <a name='L348'></a><a href='#L348'>348</a>
397
- <a name='L349'></a><a href='#L349'>349</a>
398
- <a name='L350'></a><a href='#L350'>350</a>
399
- <a name='L351'></a><a href='#L351'>351</a>
400
- <a name='L352'></a><a href='#L352'>352</a>
401
- <a name='L353'></a><a href='#L353'>353</a>
402
- <a name='L354'></a><a href='#L354'>354</a>
403
- <a name='L355'></a><a href='#L355'>355</a>
404
- <a name='L356'></a><a href='#L356'>356</a>
405
- <a name='L357'></a><a href='#L357'>357</a>
406
- <a name='L358'></a><a href='#L358'>358</a>
407
- <a name='L359'></a><a href='#L359'>359</a>
408
- <a name='L360'></a><a href='#L360'>360</a>
409
- <a name='L361'></a><a href='#L361'>361</a>
410
- <a name='L362'></a><a href='#L362'>362</a>
411
- <a name='L363'></a><a href='#L363'>363</a>
412
- <a name='L364'></a><a href='#L364'>364</a>
413
- <a name='L365'></a><a href='#L365'>365</a>
414
- <a name='L366'></a><a href='#L366'>366</a>
415
- <a name='L367'></a><a href='#L367'>367</a>
416
- <a name='L368'></a><a href='#L368'>368</a>
417
- <a name='L369'></a><a href='#L369'>369</a>
418
- <a name='L370'></a><a href='#L370'>370</a>
419
- <a name='L371'></a><a href='#L371'>371</a>
420
- <a name='L372'></a><a href='#L372'>372</a>
421
- <a name='L373'></a><a href='#L373'>373</a>
422
- <a name='L374'></a><a href='#L374'>374</a>
423
- <a name='L375'></a><a href='#L375'>375</a>
424
- <a name='L376'></a><a href='#L376'>376</a>
425
- <a name='L377'></a><a href='#L377'>377</a>
426
- <a name='L378'></a><a href='#L378'>378</a>
427
- <a name='L379'></a><a href='#L379'>379</a>
428
- <a name='L380'></a><a href='#L380'>380</a>
429
- <a name='L381'></a><a href='#L381'>381</a>
430
- <a name='L382'></a><a href='#L382'>382</a>
431
- <a name='L383'></a><a href='#L383'>383</a>
432
- <a name='L384'></a><a href='#L384'>384</a>
433
- <a name='L385'></a><a href='#L385'>385</a>
434
- <a name='L386'></a><a href='#L386'>386</a>
435
- <a name='L387'></a><a href='#L387'>387</a>
436
- <a name='L388'></a><a href='#L388'>388</a>
437
- <a name='L389'></a><a href='#L389'>389</a>
438
- <a name='L390'></a><a href='#L390'>390</a>
439
- <a name='L391'></a><a href='#L391'>391</a>
440
- <a name='L392'></a><a href='#L392'>392</a>
441
- <a name='L393'></a><a href='#L393'>393</a>
442
- <a name='L394'></a><a href='#L394'>394</a>
443
- <a name='L395'></a><a href='#L395'>395</a>
444
- <a name='L396'></a><a href='#L396'>396</a>
445
- <a name='L397'></a><a href='#L397'>397</a>
446
- <a name='L398'></a><a href='#L398'>398</a>
447
- <a name='L399'></a><a href='#L399'>399</a>
448
- <a name='L400'></a><a href='#L400'>400</a>
449
- <a name='L401'></a><a href='#L401'>401</a>
450
- <a name='L402'></a><a href='#L402'>402</a>
451
- <a name='L403'></a><a href='#L403'>403</a>
452
- <a name='L404'></a><a href='#L404'>404</a>
453
- <a name='L405'></a><a href='#L405'>405</a>
454
- <a name='L406'></a><a href='#L406'>406</a>
455
- <a name='L407'></a><a href='#L407'>407</a>
456
- <a name='L408'></a><a href='#L408'>408</a>
457
- <a name='L409'></a><a href='#L409'>409</a>
458
- <a name='L410'></a><a href='#L410'>410</a>
459
- <a name='L411'></a><a href='#L411'>411</a>
460
- <a name='L412'></a><a href='#L412'>412</a>
461
- <a name='L413'></a><a href='#L413'>413</a>
462
- <a name='L414'></a><a href='#L414'>414</a>
463
- <a name='L415'></a><a href='#L415'>415</a>
464
- <a name='L416'></a><a href='#L416'>416</a>
465
- <a name='L417'></a><a href='#L417'>417</a>
466
- <a name='L418'></a><a href='#L418'>418</a>
467
- <a name='L419'></a><a href='#L419'>419</a>
468
- <a name='L420'></a><a href='#L420'>420</a>
469
- <a name='L421'></a><a href='#L421'>421</a>
470
- <a name='L422'></a><a href='#L422'>422</a>
471
- <a name='L423'></a><a href='#L423'>423</a>
472
- <a name='L424'></a><a href='#L424'>424</a>
473
- <a name='L425'></a><a href='#L425'>425</a>
474
- <a name='L426'></a><a href='#L426'>426</a>
475
- <a name='L427'></a><a href='#L427'>427</a>
476
- <a name='L428'></a><a href='#L428'>428</a>
477
- <a name='L429'></a><a href='#L429'>429</a>
478
- <a name='L430'></a><a href='#L430'>430</a>
479
- <a name='L431'></a><a href='#L431'>431</a>
480
- <a name='L432'></a><a href='#L432'>432</a>
481
- <a name='L433'></a><a href='#L433'>433</a>
482
- <a name='L434'></a><a href='#L434'>434</a>
483
- <a name='L435'></a><a href='#L435'>435</a>
484
- <a name='L436'></a><a href='#L436'>436</a>
485
- <a name='L437'></a><a href='#L437'>437</a>
486
- <a name='L438'></a><a href='#L438'>438</a>
487
- <a name='L439'></a><a href='#L439'>439</a>
488
- <a name='L440'></a><a href='#L440'>440</a>
489
- <a name='L441'></a><a href='#L441'>441</a>
490
- <a name='L442'></a><a href='#L442'>442</a>
491
- <a name='L443'></a><a href='#L443'>443</a>
492
- <a name='L444'></a><a href='#L444'>444</a>
493
- <a name='L445'></a><a href='#L445'>445</a>
494
- <a name='L446'></a><a href='#L446'>446</a>
495
- <a name='L447'></a><a href='#L447'>447</a>
496
- <a name='L448'></a><a href='#L448'>448</a>
497
- <a name='L449'></a><a href='#L449'>449</a>
498
- <a name='L450'></a><a href='#L450'>450</a>
499
- <a name='L451'></a><a href='#L451'>451</a>
500
- <a name='L452'></a><a href='#L452'>452</a>
501
- <a name='L453'></a><a href='#L453'>453</a>
502
- <a name='L454'></a><a href='#L454'>454</a>
503
- <a name='L455'></a><a href='#L455'>455</a>
504
- <a name='L456'></a><a href='#L456'>456</a>
505
- <a name='L457'></a><a href='#L457'>457</a>
506
- <a name='L458'></a><a href='#L458'>458</a>
507
- <a name='L459'></a><a href='#L459'>459</a>
508
- <a name='L460'></a><a href='#L460'>460</a>
509
- <a name='L461'></a><a href='#L461'>461</a>
510
- <a name='L462'></a><a href='#L462'>462</a>
511
- <a name='L463'></a><a href='#L463'>463</a>
512
- <a name='L464'></a><a href='#L464'>464</a>
513
- <a name='L465'></a><a href='#L465'>465</a>
514
- <a name='L466'></a><a href='#L466'>466</a>
515
- <a name='L467'></a><a href='#L467'>467</a>
516
- <a name='L468'></a><a href='#L468'>468</a>
517
- <a name='L469'></a><a href='#L469'>469</a>
518
- <a name='L470'></a><a href='#L470'>470</a>
519
- <a name='L471'></a><a href='#L471'>471</a>
520
- <a name='L472'></a><a href='#L472'>472</a>
521
- <a name='L473'></a><a href='#L473'>473</a>
522
- <a name='L474'></a><a href='#L474'>474</a>
523
- <a name='L475'></a><a href='#L475'>475</a>
524
- <a name='L476'></a><a href='#L476'>476</a>
525
- <a name='L477'></a><a href='#L477'>477</a>
526
- <a name='L478'></a><a href='#L478'>478</a>
527
- <a name='L479'></a><a href='#L479'>479</a>
528
- <a name='L480'></a><a href='#L480'>480</a>
529
- <a name='L481'></a><a href='#L481'>481</a>
530
- <a name='L482'></a><a href='#L482'>482</a>
531
- <a name='L483'></a><a href='#L483'>483</a>
532
- <a name='L484'></a><a href='#L484'>484</a>
533
- <a name='L485'></a><a href='#L485'>485</a>
534
- <a name='L486'></a><a href='#L486'>486</a>
535
- <a name='L487'></a><a href='#L487'>487</a>
536
- <a name='L488'></a><a href='#L488'>488</a>
537
- <a name='L489'></a><a href='#L489'>489</a>
538
- <a name='L490'></a><a href='#L490'>490</a>
539
- <a name='L491'></a><a href='#L491'>491</a>
540
- <a name='L492'></a><a href='#L492'>492</a>
541
- <a name='L493'></a><a href='#L493'>493</a>
542
- <a name='L494'></a><a href='#L494'>494</a>
543
- <a name='L495'></a><a href='#L495'>495</a>
544
- <a name='L496'></a><a href='#L496'>496</a>
545
- <a name='L497'></a><a href='#L497'>497</a>
546
- <a name='L498'></a><a href='#L498'>498</a>
547
- <a name='L499'></a><a href='#L499'>499</a>
548
- <a name='L500'></a><a href='#L500'>500</a>
549
- <a name='L501'></a><a href='#L501'>501</a>
550
- <a name='L502'></a><a href='#L502'>502</a>
551
- <a name='L503'></a><a href='#L503'>503</a>
552
- <a name='L504'></a><a href='#L504'>504</a>
553
- <a name='L505'></a><a href='#L505'>505</a>
554
- <a name='L506'></a><a href='#L506'>506</a>
555
- <a name='L507'></a><a href='#L507'>507</a>
556
- <a name='L508'></a><a href='#L508'>508</a>
557
- <a name='L509'></a><a href='#L509'>509</a>
558
- <a name='L510'></a><a href='#L510'>510</a>
559
- <a name='L511'></a><a href='#L511'>511</a>
560
- <a name='L512'></a><a href='#L512'>512</a>
561
- <a name='L513'></a><a href='#L513'>513</a>
562
- <a name='L514'></a><a href='#L514'>514</a>
563
- <a name='L515'></a><a href='#L515'>515</a>
564
- <a name='L516'></a><a href='#L516'>516</a>
565
- <a name='L517'></a><a href='#L517'>517</a>
566
- <a name='L518'></a><a href='#L518'>518</a>
567
- <a name='L519'></a><a href='#L519'>519</a>
568
- <a name='L520'></a><a href='#L520'>520</a>
569
- <a name='L521'></a><a href='#L521'>521</a>
570
- <a name='L522'></a><a href='#L522'>522</a>
571
- <a name='L523'></a><a href='#L523'>523</a>
572
- <a name='L524'></a><a href='#L524'>524</a>
573
- <a name='L525'></a><a href='#L525'>525</a>
574
- <a name='L526'></a><a href='#L526'>526</a>
575
- <a name='L527'></a><a href='#L527'>527</a>
576
- <a name='L528'></a><a href='#L528'>528</a>
577
- <a name='L529'></a><a href='#L529'>529</a>
578
- <a name='L530'></a><a href='#L530'>530</a>
579
- <a name='L531'></a><a href='#L531'>531</a>
580
- <a name='L532'></a><a href='#L532'>532</a>
581
- <a name='L533'></a><a href='#L533'>533</a>
582
- <a name='L534'></a><a href='#L534'>534</a>
583
- <a name='L535'></a><a href='#L535'>535</a>
584
- <a name='L536'></a><a href='#L536'>536</a>
585
- <a name='L537'></a><a href='#L537'>537</a>
586
- <a name='L538'></a><a href='#L538'>538</a>
587
- <a name='L539'></a><a href='#L539'>539</a>
588
- <a name='L540'></a><a href='#L540'>540</a>
589
- <a name='L541'></a><a href='#L541'>541</a>
590
- <a name='L542'></a><a href='#L542'>542</a>
591
- <a name='L543'></a><a href='#L543'>543</a>
592
- <a name='L544'></a><a href='#L544'>544</a>
593
- <a name='L545'></a><a href='#L545'>545</a>
594
- <a name='L546'></a><a href='#L546'>546</a>
595
- <a name='L547'></a><a href='#L547'>547</a>
596
- <a name='L548'></a><a href='#L548'>548</a>
597
- <a name='L549'></a><a href='#L549'>549</a>
598
- <a name='L550'></a><a href='#L550'>550</a>
599
- <a name='L551'></a><a href='#L551'>551</a>
600
- <a name='L552'></a><a href='#L552'>552</a>
601
- <a name='L553'></a><a href='#L553'>553</a>
602
- <a name='L554'></a><a href='#L554'>554</a>
603
- <a name='L555'></a><a href='#L555'>555</a>
604
- <a name='L556'></a><a href='#L556'>556</a>
605
- <a name='L557'></a><a href='#L557'>557</a>
606
- <a name='L558'></a><a href='#L558'>558</a>
607
- <a name='L559'></a><a href='#L559'>559</a>
608
- <a name='L560'></a><a href='#L560'>560</a>
609
- <a name='L561'></a><a href='#L561'>561</a>
610
- <a name='L562'></a><a href='#L562'>562</a>
611
- <a name='L563'></a><a href='#L563'>563</a>
612
- <a name='L564'></a><a href='#L564'>564</a>
613
- <a name='L565'></a><a href='#L565'>565</a>
614
- <a name='L566'></a><a href='#L566'>566</a>
615
- <a name='L567'></a><a href='#L567'>567</a>
616
- <a name='L568'></a><a href='#L568'>568</a>
617
- <a name='L569'></a><a href='#L569'>569</a>
618
- <a name='L570'></a><a href='#L570'>570</a>
619
- <a name='L571'></a><a href='#L571'>571</a>
620
- <a name='L572'></a><a href='#L572'>572</a>
621
- <a name='L573'></a><a href='#L573'>573</a>
622
- <a name='L574'></a><a href='#L574'>574</a>
623
- <a name='L575'></a><a href='#L575'>575</a>
624
- <a name='L576'></a><a href='#L576'>576</a>
625
- <a name='L577'></a><a href='#L577'>577</a>
626
- <a name='L578'></a><a href='#L578'>578</a>
627
- <a name='L579'></a><a href='#L579'>579</a>
628
- <a name='L580'></a><a href='#L580'>580</a>
629
- <a name='L581'></a><a href='#L581'>581</a>
630
- <a name='L582'></a><a href='#L582'>582</a>
631
- <a name='L583'></a><a href='#L583'>583</a>
632
- <a name='L584'></a><a href='#L584'>584</a>
633
- <a name='L585'></a><a href='#L585'>585</a>
634
- <a name='L586'></a><a href='#L586'>586</a>
635
- <a name='L587'></a><a href='#L587'>587</a>
636
- <a name='L588'></a><a href='#L588'>588</a>
637
- <a name='L589'></a><a href='#L589'>589</a>
638
- <a name='L590'></a><a href='#L590'>590</a>
639
- <a name='L591'></a><a href='#L591'>591</a>
640
- <a name='L592'></a><a href='#L592'>592</a>
641
- <a name='L593'></a><a href='#L593'>593</a>
642
- <a name='L594'></a><a href='#L594'>594</a>
643
- <a name='L595'></a><a href='#L595'>595</a>
644
- <a name='L596'></a><a href='#L596'>596</a>
645
- <a name='L597'></a><a href='#L597'>597</a>
646
- <a name='L598'></a><a href='#L598'>598</a>
647
- <a name='L599'></a><a href='#L599'>599</a>
648
- <a name='L600'></a><a href='#L600'>600</a>
649
- <a name='L601'></a><a href='#L601'>601</a>
650
- <a name='L602'></a><a href='#L602'>602</a>
651
- <a name='L603'></a><a href='#L603'>603</a>
652
- <a name='L604'></a><a href='#L604'>604</a>
653
- <a name='L605'></a><a href='#L605'>605</a>
654
- <a name='L606'></a><a href='#L606'>606</a>
655
- <a name='L607'></a><a href='#L607'>607</a>
656
- <a name='L608'></a><a href='#L608'>608</a>
657
- <a name='L609'></a><a href='#L609'>609</a>
658
- <a name='L610'></a><a href='#L610'>610</a>
659
- <a name='L611'></a><a href='#L611'>611</a>
660
- <a name='L612'></a><a href='#L612'>612</a>
661
- <a name='L613'></a><a href='#L613'>613</a>
662
- <a name='L614'></a><a href='#L614'>614</a>
663
- <a name='L615'></a><a href='#L615'>615</a>
664
- <a name='L616'></a><a href='#L616'>616</a>
665
- <a name='L617'></a><a href='#L617'>617</a>
666
- <a name='L618'></a><a href='#L618'>618</a>
667
- <a name='L619'></a><a href='#L619'>619</a>
668
- <a name='L620'></a><a href='#L620'>620</a>
669
- <a name='L621'></a><a href='#L621'>621</a>
670
- <a name='L622'></a><a href='#L622'>622</a>
671
- <a name='L623'></a><a href='#L623'>623</a>
672
- <a name='L624'></a><a href='#L624'>624</a>
673
- <a name='L625'></a><a href='#L625'>625</a>
674
- <a name='L626'></a><a href='#L626'>626</a>
675
- <a name='L627'></a><a href='#L627'>627</a>
676
- <a name='L628'></a><a href='#L628'>628</a>
677
- <a name='L629'></a><a href='#L629'>629</a>
678
- <a name='L630'></a><a href='#L630'>630</a>
679
- <a name='L631'></a><a href='#L631'>631</a>
680
- <a name='L632'></a><a href='#L632'>632</a>
681
- <a name='L633'></a><a href='#L633'>633</a>
682
- <a name='L634'></a><a href='#L634'>634</a>
683
- <a name='L635'></a><a href='#L635'>635</a>
684
- <a name='L636'></a><a href='#L636'>636</a>
685
- <a name='L637'></a><a href='#L637'>637</a>
686
- <a name='L638'></a><a href='#L638'>638</a>
687
- <a name='L639'></a><a href='#L639'>639</a>
688
- <a name='L640'></a><a href='#L640'>640</a>
689
- <a name='L641'></a><a href='#L641'>641</a>
690
- <a name='L642'></a><a href='#L642'>642</a>
691
- <a name='L643'></a><a href='#L643'>643</a>
692
- <a name='L644'></a><a href='#L644'>644</a>
693
- <a name='L645'></a><a href='#L645'>645</a>
694
- <a name='L646'></a><a href='#L646'>646</a>
695
- <a name='L647'></a><a href='#L647'>647</a>
696
- <a name='L648'></a><a href='#L648'>648</a>
697
- <a name='L649'></a><a href='#L649'>649</a>
698
- <a name='L650'></a><a href='#L650'>650</a>
699
- <a name='L651'></a><a href='#L651'>651</a>
700
- <a name='L652'></a><a href='#L652'>652</a>
701
- <a name='L653'></a><a href='#L653'>653</a>
702
- <a name='L654'></a><a href='#L654'>654</a>
703
- <a name='L655'></a><a href='#L655'>655</a>
704
- <a name='L656'></a><a href='#L656'>656</a>
705
- <a name='L657'></a><a href='#L657'>657</a>
706
- <a name='L658'></a><a href='#L658'>658</a>
707
- <a name='L659'></a><a href='#L659'>659</a>
708
- <a name='L660'></a><a href='#L660'>660</a>
709
- <a name='L661'></a><a href='#L661'>661</a>
710
- <a name='L662'></a><a href='#L662'>662</a>
711
- <a name='L663'></a><a href='#L663'>663</a>
712
- <a name='L664'></a><a href='#L664'>664</a>
713
- <a name='L665'></a><a href='#L665'>665</a>
714
- <a name='L666'></a><a href='#L666'>666</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
715
- <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-neutral">&nbsp;</span>
717
- <span class="cline-any cline-neutral">&nbsp;</span>
718
- <span class="cline-any cline-neutral">&nbsp;</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-neutral">&nbsp;</span>
721
- <span class="cline-any cline-neutral">&nbsp;</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-neutral">&nbsp;</span>
724
- <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-yes">53x</span>
727
- <span class="cline-any cline-yes">53x</span>
728
- <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-no">&nbsp;</span>
731
- <span class="cline-any cline-neutral">&nbsp;</span>
732
- <span class="cline-any cline-neutral">&nbsp;</span>
733
- <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-neutral">&nbsp;</span>
736
- <span class="cline-any cline-neutral">&nbsp;</span>
737
- <span class="cline-any cline-yes">2x</span>
738
- <span class="cline-any cline-yes">2x</span>
739
- <span class="cline-any cline-no">&nbsp;</span>
740
- <span class="cline-any cline-neutral">&nbsp;</span>
741
- <span class="cline-any cline-yes">2x</span>
742
- <span class="cline-any cline-no">&nbsp;</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-yes">2x</span>
745
- <span class="cline-any cline-no">&nbsp;</span>
746
- <span class="cline-any cline-neutral">&nbsp;</span>
747
- <span class="cline-any cline-yes">2x</span>
748
- <span class="cline-any cline-neutral">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-neutral">&nbsp;</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
- <span class="cline-any cline-neutral">&nbsp;</span>
753
- <span class="cline-any cline-neutral">&nbsp;</span>
754
- <span class="cline-any cline-neutral">&nbsp;</span>
755
- <span class="cline-any cline-neutral">&nbsp;</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-neutral">&nbsp;</span>
759
- <span class="cline-any cline-yes">32x</span>
760
- <span class="cline-any cline-yes">32x</span>
761
- <span class="cline-any cline-yes">32x</span>
762
- <span class="cline-any cline-neutral">&nbsp;</span>
763
- <span class="cline-any cline-yes">32x</span>
764
- <span class="cline-any cline-yes">1x</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-neutral">&nbsp;</span>
767
- <span class="cline-any cline-yes">31x</span>
768
- <span class="cline-any cline-yes">1x</span>
769
- <span class="cline-any cline-neutral">&nbsp;</span>
770
- <span class="cline-any cline-neutral">&nbsp;</span>
771
- <span class="cline-any cline-yes">30x</span>
772
- <span class="cline-any cline-yes">1x</span>
773
- <span class="cline-any cline-neutral">&nbsp;</span>
774
- <span class="cline-any cline-neutral">&nbsp;</span>
775
- <span class="cline-any cline-yes">29x</span>
776
- <span class="cline-any cline-yes">1x</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-yes">28x</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-neutral">&nbsp;</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-neutral">&nbsp;</span>
790
- <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-neutral">&nbsp;</span>
797
- <span class="cline-any cline-neutral">&nbsp;</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-yes">28x</span>
800
- <span class="cline-any cline-neutral">&nbsp;</span>
801
- <span class="cline-any cline-yes">28x</span>
802
- <span class="cline-any cline-yes">2x</span>
803
- <span class="cline-any cline-neutral">&nbsp;</span>
804
- <span class="cline-any cline-neutral">&nbsp;</span>
805
- <span class="cline-any cline-yes">26x</span>
806
- <span class="cline-any cline-no">&nbsp;</span>
807
- <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-neutral">&nbsp;</span>
809
- <span class="cline-any cline-yes">26x</span>
810
- <span class="cline-any cline-yes">1x</span>
811
- <span class="cline-any cline-neutral">&nbsp;</span>
812
- <span class="cline-any cline-neutral">&nbsp;</span>
813
- <span class="cline-any cline-yes">25x</span>
814
- <span class="cline-any cline-yes">1x</span>
815
- <span class="cline-any cline-neutral">&nbsp;</span>
816
- <span class="cline-any cline-neutral">&nbsp;</span>
817
- <span class="cline-any cline-yes">24x</span>
818
- <span class="cline-any cline-yes">1x</span>
819
- <span class="cline-any cline-neutral">&nbsp;</span>
820
- <span class="cline-any cline-neutral">&nbsp;</span>
821
- <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-yes">23x</span>
823
- <span class="cline-any cline-yes">14x</span>
824
- <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-yes">9x</span>
827
- <span class="cline-any cline-yes">9x</span>
828
- <span class="cline-any cline-yes">1x</span>
829
- <span class="cline-any cline-neutral">&nbsp;</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-yes">8x</span>
832
- <span class="cline-any cline-neutral">&nbsp;</span>
833
- <span class="cline-any cline-neutral">&nbsp;</span>
834
- <span class="cline-any cline-neutral">&nbsp;</span>
835
- <span class="cline-any cline-neutral">&nbsp;</span>
836
- <span class="cline-any cline-neutral">&nbsp;</span>
837
- <span class="cline-any cline-yes">22x</span>
838
- <span class="cline-any cline-yes">22x</span>
839
- <span class="cline-any cline-yes">22x</span>
840
- <span class="cline-any cline-yes">14x</span>
841
- <span class="cline-any cline-neutral">&nbsp;</span>
842
- <span class="cline-any cline-yes">12x</span>
843
- <span class="cline-any cline-yes">12x</span>
844
- <span class="cline-any cline-yes">12x</span>
845
- <span class="cline-any cline-neutral">&nbsp;</span>
846
- <span class="cline-any cline-yes">1x</span>
847
- <span class="cline-any cline-yes">1x</span>
848
- <span class="cline-any cline-yes">1x</span>
849
- <span class="cline-any cline-neutral">&nbsp;</span>
850
- <span class="cline-any cline-yes">1x</span>
851
- <span class="cline-any cline-yes">1x</span>
852
- <span class="cline-any cline-yes">1x</span>
853
- <span class="cline-any cline-neutral">&nbsp;</span>
854
- <span class="cline-any cline-neutral">&nbsp;</span>
855
- <span class="cline-any cline-yes">22x</span>
856
- <span class="cline-any cline-neutral">&nbsp;</span>
857
- <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-neutral">&nbsp;</span>
859
- <span class="cline-any cline-yes">22x</span>
860
- <span class="cline-any cline-yes">22x</span>
861
- <span class="cline-any cline-yes">19x</span>
862
- <span class="cline-any cline-neutral">&nbsp;</span>
863
- <span class="cline-any cline-neutral">&nbsp;</span>
864
- <span class="cline-any cline-yes">3x</span>
865
- <span class="cline-any cline-yes">3x</span>
866
- <span class="cline-any cline-neutral">&nbsp;</span>
867
- <span class="cline-any cline-yes">3x</span>
868
- <span class="cline-any cline-neutral">&nbsp;</span>
869
- <span class="cline-any cline-yes">3x</span>
870
- <span class="cline-any cline-yes">2x</span>
871
- <span class="cline-any cline-neutral">&nbsp;</span>
872
- <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-yes">3x</span>
874
- <span class="cline-any cline-yes">2x</span>
875
- <span class="cline-any cline-neutral">&nbsp;</span>
876
- <span class="cline-any cline-neutral">&nbsp;</span>
877
- <span class="cline-any cline-yes">3x</span>
878
- <span class="cline-any cline-neutral">&nbsp;</span>
879
- <span class="cline-any cline-neutral">&nbsp;</span>
880
- <span class="cline-any cline-neutral">&nbsp;</span>
881
- <span class="cline-any cline-yes">22x</span>
882
- <span class="cline-any cline-yes">1x</span>
883
- <span class="cline-any cline-neutral">&nbsp;</span>
884
- <span class="cline-any cline-yes">22x</span>
885
- <span class="cline-any cline-neutral">&nbsp;</span>
886
- <span class="cline-any cline-yes">44x</span>
887
- <span class="cline-any cline-neutral">&nbsp;</span>
888
- <span class="cline-any cline-neutral">&nbsp;</span>
889
- <span class="cline-any cline-neutral">&nbsp;</span>
890
- <span class="cline-any cline-neutral">&nbsp;</span>
891
- <span class="cline-any cline-neutral">&nbsp;</span>
892
- <span class="cline-any cline-yes">22x</span>
893
- <span class="cline-any cline-yes">20x</span>
894
- <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-neutral">&nbsp;</span>
896
- <span class="cline-any cline-yes">2x</span>
897
- <span class="cline-any cline-yes">2x</span>
898
- <span class="cline-any cline-yes">2x</span>
899
- <span class="cline-any cline-neutral">&nbsp;</span>
900
- <span class="cline-any cline-neutral">&nbsp;</span>
901
- <span class="cline-any cline-yes">2x</span>
902
- <span class="cline-any cline-yes">1x</span>
903
- <span class="cline-any cline-neutral">&nbsp;</span>
904
- <span class="cline-any cline-neutral">&nbsp;</span>
905
- <span class="cline-any cline-yes">2x</span>
906
- <span class="cline-any cline-neutral">&nbsp;</span>
907
- <span class="cline-any cline-neutral">&nbsp;</span>
908
- <span class="cline-any cline-neutral">&nbsp;</span>
909
- <span class="cline-any cline-yes">22x</span>
910
- <span class="cline-any cline-neutral">&nbsp;</span>
911
- <span class="cline-any cline-neutral">&nbsp;</span>
912
- <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-neutral">&nbsp;</span>
914
- <span class="cline-any cline-yes">22x</span>
915
- <span class="cline-any cline-neutral">&nbsp;</span>
916
- <span class="cline-any cline-neutral">&nbsp;</span>
917
- <span class="cline-any cline-no">&nbsp;</span>
918
- <span class="cline-any cline-neutral">&nbsp;</span>
919
- <span class="cline-any cline-neutral">&nbsp;</span>
920
- <span class="cline-any cline-yes">22x</span>
921
- <span class="cline-any cline-no">&nbsp;</span>
922
- <span class="cline-any cline-neutral">&nbsp;</span>
923
- <span class="cline-any cline-neutral">&nbsp;</span>
924
- <span class="cline-any cline-neutral">&nbsp;</span>
925
- <span class="cline-any cline-yes">23x</span>
926
- <span class="cline-any cline-yes">23x</span>
927
- <span class="cline-any cline-neutral">&nbsp;</span>
928
- <span class="cline-any cline-neutral">&nbsp;</span>
929
- <span class="cline-any cline-neutral">&nbsp;</span>
930
- <span class="cline-any cline-neutral">&nbsp;</span>
931
- <span class="cline-any cline-neutral">&nbsp;</span>
932
- <span class="cline-any cline-neutral">&nbsp;</span>
933
- <span class="cline-any cline-neutral">&nbsp;</span>
934
- <span class="cline-any cline-neutral">&nbsp;</span>
935
- <span class="cline-any cline-neutral">&nbsp;</span>
936
- <span class="cline-any cline-neutral">&nbsp;</span>
937
- <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-yes">22x</span>
939
- <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-neutral">&nbsp;</span>
941
- <span class="cline-any cline-yes">132x</span>
942
- <span class="cline-any cline-neutral">&nbsp;</span>
943
- <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-yes">22x</span>
945
- <span class="cline-any cline-yes">1x</span>
946
- <span class="cline-any cline-yes">1x</span>
947
- <span class="cline-any cline-neutral">&nbsp;</span>
948
- <span class="cline-any cline-neutral">&nbsp;</span>
949
- <span class="cline-any cline-yes">22x</span>
950
- <span class="cline-any cline-yes">22x</span>
951
- <span class="cline-any cline-neutral">&nbsp;</span>
952
- <span class="cline-any cline-yes">22x</span>
953
- <span class="cline-any cline-no">&nbsp;</span>
954
- <span class="cline-any cline-yes">22x</span>
955
- <span class="cline-any cline-no">&nbsp;</span>
956
- <span class="cline-any cline-yes">22x</span>
957
- <span class="cline-any cline-yes">1x</span>
958
- <span class="cline-any cline-neutral">&nbsp;</span>
959
- <span class="cline-any cline-neutral">&nbsp;</span>
960
- <span class="cline-any cline-yes">22x</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-yes">22x</span>
963
- <span class="cline-any cline-yes">22x</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-yes">22x</span>
966
- <span class="cline-any cline-yes">21x</span>
967
- <span class="cline-any cline-yes">21x</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-neutral">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-neutral">&nbsp;</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-yes">63x</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-yes">21x</span>
980
- <span class="cline-any cline-yes">21x</span>
981
- <span class="cline-any cline-neutral">&nbsp;</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-yes">1x</span>
984
- <span class="cline-any cline-no">&nbsp;</span>
985
- <span class="cline-any cline-neutral">&nbsp;</span>
986
- <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-yes">22x</span>
988
- <span class="cline-any cline-neutral">&nbsp;</span>
989
- <span class="cline-any cline-neutral">&nbsp;</span>
990
- <span class="cline-any cline-neutral">&nbsp;</span>
991
- <span class="cline-any cline-neutral">&nbsp;</span>
992
- <span class="cline-any cline-neutral">&nbsp;</span>
993
- <span class="cline-any cline-no">&nbsp;</span>
994
- <span class="cline-any cline-neutral">&nbsp;</span>
995
- <span class="cline-any cline-neutral">&nbsp;</span>
996
- <span class="cline-any cline-neutral">&nbsp;</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-neutral">&nbsp;</span>
999
- <span class="cline-any cline-neutral">&nbsp;</span>
1000
- <span class="cline-any cline-yes">8x</span>
1001
- <span class="cline-any cline-yes">8x</span>
1002
- <span class="cline-any cline-neutral">&nbsp;</span>
1003
- <span class="cline-any cline-yes">8x</span>
1004
- <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-neutral">&nbsp;</span>
1006
- <span class="cline-any cline-neutral">&nbsp;</span>
1007
- <span class="cline-any cline-neutral">&nbsp;</span>
1008
- <span class="cline-any cline-neutral">&nbsp;</span>
1009
- <span class="cline-any cline-neutral">&nbsp;</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-neutral">&nbsp;</span>
1012
- <span class="cline-any cline-neutral">&nbsp;</span>
1013
- <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-neutral">&nbsp;</span>
1015
- <span class="cline-any cline-neutral">&nbsp;</span>
1016
- <span class="cline-any cline-yes">8x</span>
1017
- <span class="cline-any cline-neutral">&nbsp;</span>
1018
- <span class="cline-any cline-yes">8x</span>
1019
- <span class="cline-any cline-yes">1x</span>
1020
- <span class="cline-any cline-neutral">&nbsp;</span>
1021
- <span class="cline-any cline-neutral">&nbsp;</span>
1022
- <span class="cline-any cline-yes">7x</span>
1023
- <span class="cline-any cline-yes">1x</span>
1024
- <span class="cline-any cline-neutral">&nbsp;</span>
1025
- <span class="cline-any cline-neutral">&nbsp;</span>
1026
- <span class="cline-any cline-neutral">&nbsp;</span>
1027
- <span class="cline-any cline-yes">6x</span>
1028
- <span class="cline-any cline-yes">2x</span>
1029
- <span class="cline-any cline-neutral">&nbsp;</span>
1030
- <span class="cline-any cline-yes">4x</span>
1031
- <span class="cline-any cline-neutral">&nbsp;</span>
1032
- <span class="cline-any cline-neutral">&nbsp;</span>
1033
- <span class="cline-any cline-yes">6x</span>
1034
- <span class="cline-any cline-neutral">&nbsp;</span>
1035
- <span class="cline-any cline-yes">4x</span>
1036
- <span class="cline-any cline-yes">4x</span>
1037
- <span class="cline-any cline-neutral">&nbsp;</span>
1038
- <span class="cline-any cline-yes">1x</span>
1039
- <span class="cline-any cline-yes">1x</span>
1040
- <span class="cline-any cline-neutral">&nbsp;</span>
1041
- <span class="cline-any cline-yes">1x</span>
1042
- <span class="cline-any cline-yes">1x</span>
1043
- <span class="cline-any cline-neutral">&nbsp;</span>
1044
- <span class="cline-any cline-yes">1x</span>
1045
- <span class="cline-any cline-neutral">&nbsp;</span>
1046
- <span class="cline-any cline-neutral">&nbsp;</span>
1047
- <span class="cline-any cline-yes">5x</span>
1048
- <span class="cline-any cline-neutral">&nbsp;</span>
1049
- <span class="cline-any cline-neutral">&nbsp;</span>
1050
- <span class="cline-any cline-neutral">&nbsp;</span>
1051
- <span class="cline-any cline-neutral">&nbsp;</span>
1052
- <span class="cline-any cline-neutral">&nbsp;</span>
1053
- <span class="cline-any cline-neutral">&nbsp;</span>
1054
- <span class="cline-any cline-neutral">&nbsp;</span>
1055
- <span class="cline-any cline-neutral">&nbsp;</span>
1056
- <span class="cline-any cline-neutral">&nbsp;</span>
1057
- <span class="cline-any cline-yes">5x</span>
1058
- <span class="cline-any cline-neutral">&nbsp;</span>
1059
- <span class="cline-any cline-neutral">&nbsp;</span>
1060
- <span class="cline-any cline-yes">5x</span>
1061
- <span class="cline-any cline-neutral">&nbsp;</span>
1062
- <span class="cline-any cline-yes">5x</span>
1063
- <span class="cline-any cline-yes">5x</span>
1064
- <span class="cline-any cline-yes">5x</span>
1065
- <span class="cline-any cline-yes">5x</span>
1066
- <span class="cline-any cline-yes">3x</span>
1067
- <span class="cline-any cline-neutral">&nbsp;</span>
1068
- <span class="cline-any cline-neutral">&nbsp;</span>
1069
- <span class="cline-any cline-yes">5x</span>
1070
- <span class="cline-any cline-yes">5x</span>
1071
- <span class="cline-any cline-no">&nbsp;</span>
1072
- <span class="cline-any cline-neutral">&nbsp;</span>
1073
- <span class="cline-any cline-neutral">&nbsp;</span>
1074
- <span class="cline-any cline-yes">5x</span>
1075
- <span class="cline-any cline-yes">5x</span>
1076
- <span class="cline-any cline-neutral">&nbsp;</span>
1077
- <span class="cline-any cline-yes">2x</span>
1078
- <span class="cline-any cline-yes">2x</span>
1079
- <span class="cline-any cline-neutral">&nbsp;</span>
1080
- <span class="cline-any cline-no">&nbsp;</span>
1081
- <span class="cline-any cline-no">&nbsp;</span>
1082
- <span class="cline-any cline-neutral">&nbsp;</span>
1083
- <span class="cline-any cline-no">&nbsp;</span>
1084
- <span class="cline-any cline-no">&nbsp;</span>
1085
- <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-no">&nbsp;</span>
1087
- <span class="cline-any cline-no">&nbsp;</span>
1088
- <span class="cline-any cline-neutral">&nbsp;</span>
1089
- <span class="cline-any cline-no">&nbsp;</span>
1090
- <span class="cline-any cline-no">&nbsp;</span>
1091
- <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-no">&nbsp;</span>
1093
- <span class="cline-any cline-no">&nbsp;</span>
1094
- <span class="cline-any cline-neutral">&nbsp;</span>
1095
- <span class="cline-any cline-yes">5x</span>
1096
- <span class="cline-any cline-yes">5x</span>
1097
- <span class="cline-any cline-yes">5x</span>
1098
- <span class="cline-any cline-yes">2x</span>
1099
- <span class="cline-any cline-neutral">&nbsp;</span>
1100
- <span class="cline-any cline-neutral">&nbsp;</span>
1101
- <span class="cline-any cline-yes">5x</span>
1102
- <span class="cline-any cline-yes">5x</span>
1103
- <span class="cline-any cline-neutral">&nbsp;</span>
1104
- <span class="cline-any cline-neutral">&nbsp;</span>
1105
- <span class="cline-any cline-neutral">&nbsp;</span>
1106
- <span class="cline-any cline-neutral">&nbsp;</span>
1107
- <span class="cline-any cline-yes">2x</span>
1108
- <span class="cline-any cline-yes">2x</span>
1109
- <span class="cline-any cline-neutral">&nbsp;</span>
1110
- <span class="cline-any cline-neutral">&nbsp;</span>
1111
- <span class="cline-any cline-no">&nbsp;</span>
1112
- <span class="cline-any cline-no">&nbsp;</span>
1113
- <span class="cline-any cline-neutral">&nbsp;</span>
1114
- <span class="cline-any cline-neutral">&nbsp;</span>
1115
- <span class="cline-any cline-neutral">&nbsp;</span>
1116
- <span class="cline-any cline-neutral">&nbsp;</span>
1117
- <span class="cline-any cline-yes">5x</span>
1118
- <span class="cline-any cline-neutral">&nbsp;</span>
1119
- <span class="cline-any cline-yes">1x</span>
1120
- <span class="cline-any cline-yes">1x</span>
1121
- <span class="cline-any cline-neutral">&nbsp;</span>
1122
- <span class="cline-any cline-yes">1x</span>
1123
- <span class="cline-any cline-yes">1x</span>
1124
- <span class="cline-any cline-neutral">&nbsp;</span>
1125
- <span class="cline-any cline-yes">5x</span>
1126
- <span class="cline-any cline-yes">2x</span>
1127
- <span class="cline-any cline-neutral">&nbsp;</span>
1128
- <span class="cline-any cline-neutral">&nbsp;</span>
1129
- <span class="cline-any cline-yes">5x</span>
1130
- <span class="cline-any cline-yes">1x</span>
1131
- <span class="cline-any cline-neutral">&nbsp;</span>
1132
- <span class="cline-any cline-neutral">&nbsp;</span>
1133
- <span class="cline-any cline-yes">5x</span>
1134
- <span class="cline-any cline-yes">1x</span>
1135
- <span class="cline-any cline-neutral">&nbsp;</span>
1136
- <span class="cline-any cline-neutral">&nbsp;</span>
1137
- <span class="cline-any cline-yes">5x</span>
1138
- <span class="cline-any cline-no">&nbsp;</span>
1139
- <span class="cline-any cline-neutral">&nbsp;</span>
1140
- <span class="cline-any cline-neutral">&nbsp;</span>
1141
- <span class="cline-any cline-yes">5x</span>
1142
- <span class="cline-any cline-neutral">&nbsp;</span>
1143
- <span class="cline-any cline-no">&nbsp;</span>
1144
- <span class="cline-any cline-no">&nbsp;</span>
1145
- <span class="cline-any cline-neutral">&nbsp;</span>
1146
- <span class="cline-any cline-no">&nbsp;</span>
1147
- <span class="cline-any cline-no">&nbsp;</span>
1148
- <span class="cline-any cline-neutral">&nbsp;</span>
1149
- <span class="cline-any cline-no">&nbsp;</span>
1150
- <span class="cline-any cline-no">&nbsp;</span>
1151
- <span class="cline-any cline-neutral">&nbsp;</span>
1152
- <span class="cline-any cline-yes">2x</span>
1153
- <span class="cline-any cline-yes">2x</span>
1154
- <span class="cline-any cline-neutral">&nbsp;</span>
1155
- <span class="cline-any cline-no">&nbsp;</span>
1156
- <span class="cline-any cline-no">&nbsp;</span>
1157
- <span class="cline-any cline-neutral">&nbsp;</span>
1158
- <span class="cline-any cline-no">&nbsp;</span>
1159
- <span class="cline-any cline-no">&nbsp;</span>
1160
- <span class="cline-any cline-neutral">&nbsp;</span>
1161
- <span class="cline-any cline-neutral">&nbsp;</span>
1162
- <span class="cline-any cline-yes">5x</span>
1163
- <span class="cline-any cline-yes">5x</span>
1164
- <span class="cline-any cline-yes">2x</span>
1165
- <span class="cline-any cline-neutral">&nbsp;</span>
1166
- <span class="cline-any cline-neutral">&nbsp;</span>
1167
- <span class="cline-any cline-yes">5x</span>
1168
- <span class="cline-any cline-neutral">&nbsp;</span>
1169
- <span class="cline-any cline-neutral">&nbsp;</span>
1170
- <span class="cline-any cline-neutral">&nbsp;</span>
1171
- <span class="cline-any cline-neutral">&nbsp;</span>
1172
- <span class="cline-any cline-neutral">&nbsp;</span>
1173
- <span class="cline-any cline-neutral">&nbsp;</span>
1174
- <span class="cline-any cline-neutral">&nbsp;</span>
1175
- <span class="cline-any cline-yes">5x</span>
1176
- <span class="cline-any cline-neutral">&nbsp;</span>
1177
- <span class="cline-any cline-neutral">&nbsp;</span>
1178
- <span class="cline-any cline-neutral">&nbsp;</span>
1179
- <span class="cline-any cline-neutral">&nbsp;</span>
1180
- <span class="cline-any cline-neutral">&nbsp;</span>
1181
- <span class="cline-any cline-neutral">&nbsp;</span>
1182
- <span class="cline-any cline-neutral">&nbsp;</span>
1183
- <span class="cline-any cline-yes">4x</span>
1184
- <span class="cline-any cline-yes">4x</span>
1185
- <span class="cline-any cline-yes">4x</span>
1186
- <span class="cline-any cline-neutral">&nbsp;</span>
1187
- <span class="cline-any cline-neutral">&nbsp;</span>
1188
- <span class="cline-any cline-neutral">&nbsp;</span>
1189
- <span class="cline-any cline-neutral">&nbsp;</span>
1190
- <span class="cline-any cline-neutral">&nbsp;</span>
1191
- <span class="cline-any cline-yes">4x</span>
1192
- <span class="cline-any cline-yes">8x</span>
1193
- <span class="cline-any cline-yes">8x</span>
1194
- <span class="cline-any cline-yes">7x</span>
1195
- <span class="cline-any cline-yes">4x</span>
1196
- <span class="cline-any cline-yes">2x</span>
1197
- <span class="cline-any cline-neutral">&nbsp;</span>
1198
- <span class="cline-any cline-yes">4x</span>
1199
- <span class="cline-any cline-yes">2x</span>
1200
- <span class="cline-any cline-neutral">&nbsp;</span>
1201
- <span class="cline-any cline-neutral">&nbsp;</span>
1202
- <span class="cline-any cline-yes">3x</span>
1203
- <span class="cline-any cline-neutral">&nbsp;</span>
1204
- <span class="cline-any cline-neutral">&nbsp;</span>
1205
- <span class="cline-any cline-neutral">&nbsp;</span>
1206
- <span class="cline-any cline-yes">4x</span>
1207
- <span class="cline-any cline-yes">4x</span>
1208
- <span class="cline-any cline-neutral">&nbsp;</span>
1209
- <span class="cline-any cline-neutral">&nbsp;</span>
1210
- <span class="cline-any cline-neutral">&nbsp;</span>
1211
- <span class="cline-any cline-neutral">&nbsp;</span>
1212
- <span class="cline-any cline-neutral">&nbsp;</span>
1213
- <span class="cline-any cline-neutral">&nbsp;</span>
1214
- <span class="cline-any cline-neutral">&nbsp;</span>
1215
- <span class="cline-any cline-yes">4x</span>
1216
- <span class="cline-any cline-neutral">&nbsp;</span>
1217
- <span class="cline-any cline-neutral">&nbsp;</span>
1218
- <span class="cline-any cline-neutral">&nbsp;</span>
1219
- <span class="cline-any cline-yes">1x</span>
1220
- <span class="cline-any cline-yes">3x</span>
1221
- <span class="cline-any cline-yes">2x</span>
1222
- <span class="cline-any cline-yes">1x</span>
1223
- <span class="cline-any cline-yes">1x</span>
1224
- <span class="cline-any cline-neutral">&nbsp;</span>
1225
- <span class="cline-any cline-yes">4x</span>
1226
- <span class="cline-any cline-yes">3x</span>
1227
- <span class="cline-any cline-yes">3x</span>
1228
- <span class="cline-any cline-neutral">&nbsp;</span>
1229
- <span class="cline-any cline-yes">4x</span>
1230
- <span class="cline-any cline-yes">3x</span>
1231
- <span class="cline-any cline-neutral">&nbsp;</span>
1232
- <span class="cline-any cline-yes">4x</span>
1233
- <span class="cline-any cline-neutral">&nbsp;</span>
1234
- <span class="cline-any cline-neutral">&nbsp;</span>
1235
- <span class="cline-any cline-neutral">&nbsp;</span>
1236
- <span class="cline-any cline-neutral">&nbsp;</span>
1237
- <span class="cline-any cline-neutral">&nbsp;</span>
1238
- <span class="cline-any cline-neutral">&nbsp;</span>
1239
- <span class="cline-any cline-neutral">&nbsp;</span>
1240
- <span class="cline-any cline-yes">1x</span>
1241
- <span class="cline-any cline-neutral">&nbsp;</span>
1242
- <span class="cline-any cline-yes">1x</span>
1243
- <span class="cline-any cline-yes">1x</span>
1244
- <span class="cline-any cline-neutral">&nbsp;</span>
1245
- <span class="cline-any cline-yes">1x</span>
1246
- <span class="cline-any cline-yes">1x</span>
1247
- <span class="cline-any cline-neutral">&nbsp;</span>
1248
- <span class="cline-any cline-yes">1x</span>
1249
- <span class="cline-any cline-neutral">&nbsp;</span>
1250
- <span class="cline-any cline-yes">1x</span>
1251
- <span class="cline-any cline-neutral">&nbsp;</span>
1252
- <span class="cline-any cline-neutral">&nbsp;</span>
1253
- <span class="cline-any cline-neutral">&nbsp;</span>
1254
- <span class="cline-any cline-neutral">&nbsp;</span>
1255
- <span class="cline-any cline-neutral">&nbsp;</span>
1256
- <span class="cline-any cline-neutral">&nbsp;</span>
1257
- <span class="cline-any cline-neutral">&nbsp;</span>
1258
- <span class="cline-any cline-neutral">&nbsp;</span>
1259
- <span class="cline-any cline-neutral">&nbsp;</span>
1260
- <span class="cline-any cline-neutral">&nbsp;</span>
1261
- <span class="cline-any cline-neutral">&nbsp;</span>
1262
- <span class="cline-any cline-neutral">&nbsp;</span>
1263
- <span class="cline-any cline-yes">1x</span>
1264
- <span class="cline-any cline-neutral">&nbsp;</span>
1265
- <span class="cline-any cline-neutral">&nbsp;</span>
1266
- <span class="cline-any cline-neutral">&nbsp;</span>
1267
- <span class="cline-any cline-neutral">&nbsp;</span>
1268
- <span class="cline-any cline-neutral">&nbsp;</span>
1269
- <span class="cline-any cline-neutral">&nbsp;</span>
1270
- <span class="cline-any cline-neutral">&nbsp;</span>
1271
- <span class="cline-any cline-yes">15x</span>
1272
- <span class="cline-any cline-neutral">&nbsp;</span>
1273
- <span class="cline-any cline-yes">15x</span>
1274
- <span class="cline-any cline-neutral">&nbsp;</span>
1275
- <span class="cline-any cline-yes">15x</span>
1276
- <span class="cline-any cline-neutral">&nbsp;</span>
1277
- <span class="cline-any cline-neutral">&nbsp;</span>
1278
- <span class="cline-any cline-neutral">&nbsp;</span>
1279
- <span class="cline-any cline-neutral">&nbsp;</span>
1280
- <span class="cline-any cline-neutral">&nbsp;</span>
1281
- <span class="cline-any cline-neutral">&nbsp;</span>
1282
- <span class="cline-any cline-neutral">&nbsp;</span>
1283
- <span class="cline-any cline-neutral">&nbsp;</span>
1284
- <span class="cline-any cline-neutral">&nbsp;</span>
1285
- <span class="cline-any cline-neutral">&nbsp;</span>
1286
- <span class="cline-any cline-neutral">&nbsp;</span>
1287
- <span class="cline-any cline-neutral">&nbsp;</span>
1288
- <span class="cline-any cline-neutral">&nbsp;</span>
1289
- <span class="cline-any cline-neutral">&nbsp;</span>
1290
- <span class="cline-any cline-neutral">&nbsp;</span>
1291
- <span class="cline-any cline-neutral">&nbsp;</span>
1292
- <span class="cline-any cline-neutral">&nbsp;</span>
1293
- <span class="cline-any cline-neutral">&nbsp;</span>
1294
- <span class="cline-any cline-neutral">&nbsp;</span>
1295
- <span class="cline-any cline-neutral">&nbsp;</span>
1296
- <span class="cline-any cline-neutral">&nbsp;</span>
1297
- <span class="cline-any cline-neutral">&nbsp;</span>
1298
- <span class="cline-any cline-neutral">&nbsp;</span>
1299
- <span class="cline-any cline-neutral">&nbsp;</span>
1300
- <span class="cline-any cline-neutral">&nbsp;</span>
1301
- <span class="cline-any cline-neutral">&nbsp;</span>
1302
- <span class="cline-any cline-yes">15x</span>
1303
- <span class="cline-any cline-neutral">&nbsp;</span>
1304
- <span class="cline-any cline-yes">15x</span>
1305
- <span class="cline-any cline-yes">2x</span>
1306
- <span class="cline-any cline-neutral">&nbsp;</span>
1307
- <span class="cline-any cline-neutral">&nbsp;</span>
1308
- <span class="cline-any cline-yes">15x</span>
1309
- <span class="cline-any cline-yes">1x</span>
1310
- <span class="cline-any cline-neutral">&nbsp;</span>
1311
- <span class="cline-any cline-neutral">&nbsp;</span>
1312
- <span class="cline-any cline-yes">15x</span>
1313
- <span class="cline-any cline-yes">3x</span>
1314
- <span class="cline-any cline-yes">3x</span>
1315
- <span class="cline-any cline-yes">3x</span>
1316
- <span class="cline-any cline-neutral">&nbsp;</span>
1317
- <span class="cline-any cline-neutral">&nbsp;</span>
1318
- <span class="cline-any cline-yes">15x</span>
1319
- <span class="cline-any cline-yes">3x</span>
1320
- <span class="cline-any cline-neutral">&nbsp;</span>
1321
- <span class="cline-any cline-neutral">&nbsp;</span>
1322
- <span class="cline-any cline-yes">15x</span>
1323
- <span class="cline-any cline-yes">4x</span>
1324
- <span class="cline-any cline-neutral">&nbsp;</span>
1325
- <span class="cline-any cline-neutral">&nbsp;</span>
1326
- <span class="cline-any cline-yes">15x</span>
1327
- <span class="cline-any cline-yes">1x</span>
1328
- <span class="cline-any cline-neutral">&nbsp;</span>
1329
- <span class="cline-any cline-yes">15x</span>
1330
- <span class="cline-any cline-yes">1x</span>
1331
- <span class="cline-any cline-yes">1x</span>
1332
- <span class="cline-any cline-neutral">&nbsp;</span>
1333
- <span class="cline-any cline-yes">15x</span>
1334
- <span class="cline-any cline-yes">2x</span>
1335
- <span class="cline-any cline-neutral">&nbsp;</span>
1336
- <span class="cline-any cline-yes">15x</span>
1337
- <span class="cline-any cline-yes">4x</span>
1338
- <span class="cline-any cline-neutral">&nbsp;</span>
1339
- <span class="cline-any cline-neutral">&nbsp;</span>
1340
- <span class="cline-any cline-neutral">&nbsp;</span>
1341
- <span class="cline-any cline-neutral">&nbsp;</span>
1342
- <span class="cline-any cline-yes">15x</span>
1343
- <span class="cline-any cline-yes">3x</span>
1344
- <span class="cline-any cline-neutral">&nbsp;</span>
1345
- <span class="cline-any cline-yes">15x</span>
1346
- <span class="cline-any cline-yes">3x</span>
1347
- <span class="cline-any cline-neutral">&nbsp;</span>
1348
- <span class="cline-any cline-yes">15x</span>
1349
- <span class="cline-any cline-yes">2x</span>
1350
- <span class="cline-any cline-neutral">&nbsp;</span>
1351
- <span class="cline-any cline-neutral">&nbsp;</span>
1352
- <span class="cline-any cline-yes">15x</span>
1353
- <span class="cline-any cline-neutral">&nbsp;</span>
1354
- <span class="cline-any cline-yes">15x</span>
1355
- <span class="cline-any cline-yes">15x</span>
1356
- <span class="cline-any cline-neutral">&nbsp;</span>
1357
- <span class="cline-any cline-neutral">&nbsp;</span>
1358
- <span class="cline-any cline-neutral">&nbsp;</span>
1359
- <span class="cline-any cline-neutral">&nbsp;</span>
1360
- <span class="cline-any cline-neutral">&nbsp;</span>
1361
- <span class="cline-any cline-neutral">&nbsp;</span>
1362
- <span class="cline-any cline-neutral">&nbsp;</span>
1363
- <span class="cline-any cline-yes">15x</span>
1364
- <span class="cline-any cline-neutral">&nbsp;</span>
1365
- <span class="cline-any cline-neutral">&nbsp;</span>
1366
- <span class="cline-any cline-neutral">&nbsp;</span>
1367
- <span class="cline-any cline-neutral">&nbsp;</span>
1368
- <span class="cline-any cline-neutral">&nbsp;</span>
1369
- <span class="cline-any cline-neutral">&nbsp;</span>
1370
- <span class="cline-any cline-neutral">&nbsp;</span>
1371
- <span class="cline-any cline-neutral">&nbsp;</span>
1372
- <span class="cline-any cline-neutral">&nbsp;</span>
1373
- <span class="cline-any cline-yes">1x</span>
1374
- <span class="cline-any cline-yes">1x</span>
1375
- <span class="cline-any cline-yes">2x</span>
1376
- <span class="cline-any cline-neutral">&nbsp;</span>
1377
- <span class="cline-any cline-yes">1x</span>
1378
- <span class="cline-any cline-neutral">&nbsp;</span>
1379
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import _ from "lodash";
1380
- import File from "./File";
1381
- import Model from "./Model";
1382
- import { mediaType } from "./fileType";
1383
- import { clone, keys, flatten, filter, values } from "ramda";
1384
- &nbsp;
1385
- /**
1386
- * [media description]
1387
- * @type {[type]}
1388
- */
1389
- export default class Ingest extends Model {
1390
- constructor(data) {
1391
- super(data);
1392
- this._resource = "ingests";
1393
- }
1394
- <span class="fstat-no" title="function not covered" > st</span>atic get _resource() {
1395
- <span class="cstat-no" title="statement not covered" > return "ingests";</span>
1396
- }
1397
- /**
1398
- * Returns path given an ingest record
1399
- *
1400
- */
1401
- renderPath() {
1402
- let ingest = this.data();
1403
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!ingest.asset.project.studio.slug) {
1404
- <span class="cstat-no" title="statement not covered" > throw new Error("missing studio slug");</span>
1405
- }
1406
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!ingest.asset.project.slug) {
1407
- <span class="cstat-no" title="statement not covered" > throw new Error("missing asset.project.slug");</span>
1408
- }
1409
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!ingest.asset.project.slug) {
1410
- <span class="cstat-no" title="statement not covered" > throw new Error("missing asset.project.slug");</span>
1411
- }
1412
- return [
1413
- ingest.asset.project.studio.slug,
1414
- ingest.asset.project.slug,
1415
- ingest.asset.type
1416
- ].join("/");
1417
- }
1418
- /**
1419
- * Create a File from an Ingest object with path and filename
1420
- *
1421
- * @param {object} params
1422
- */
1423
- renderFilename({ allTags, allTypes, extension } = (<span class="branch-0 cbranch-no" title="branch not covered" >params = {})</span>) {
1424
- let asset = this.data().asset;
1425
- let options = this.data().selected.download;
1426
- let mediaType = this.data().asset.mediaType;
1427
- &nbsp;
1428
- if (!asset.project) {
1429
- throw new Error("missing asset.project");
1430
- }
1431
- &nbsp;
1432
- if (asset.project &amp;&amp; !asset.project.filePrefix) {
1433
- throw new Error("missing asset.project.filePrefix");
1434
- }
1435
- &nbsp;
1436
- if (!asset.name) {
1437
- throw new Error("missing asset.name");
1438
- }
1439
- &nbsp;
1440
- if (!asset.type) {
1441
- throw new Error("missing asset.type");
1442
- }
1443
- &nbsp;
1444
- let defaults = {
1445
- language: null,
1446
- country: null,
1447
- version: null,
1448
- tags: {
1449
- Usage: null,
1450
- Aspect: null,
1451
- Standard: null,
1452
- SubDub: {
1453
- sub: null,
1454
- dub: null
1455
- },
1456
- Resolution: null,
1457
- "Frame Mode": null,
1458
- Framerate: null,
1459
- Text: null,
1460
- Codec: null,
1461
- Extra: []
1462
- }
1463
- };
1464
- options = _.merge(defaults, options);
1465
- &nbsp;
1466
- if (!options.language) {
1467
- throw new Error("missing options.language");
1468
- }
1469
- &nbsp;
1470
- <span class="missing-if-branch" title="if path not taken" >I</span>if (mediaType &amp;&amp; mediaType == "video" &amp;&amp; !options.tags.Codec) {
1471
- <span class="cstat-no" title="statement not covered" > throw new Error("missing options.tags.Codec");</span>
1472
- }
1473
- &nbsp;
1474
- if (mediaType &amp;&amp; mediaType == "video" &amp;&amp; !options.tags.Resolution) {
1475
- throw new Error("missing options.tags.Resolution");
1476
- }
1477
- &nbsp;
1478
- if (mediaType &amp;&amp; mediaType == "video" &amp;&amp; !options.tags.Framerate) {
1479
- throw new Error("missing options.tags.Framerate");
1480
- }
1481
- &nbsp;
1482
- if (mediaType == "video" &amp;&amp; !options.tags["Frame Mode"]) {
1483
- throw new Error("missing options.tags[Frame Mode]");
1484
- }
1485
- &nbsp;
1486
- function assetType(asset, types) {
1487
- if (/trailer/.test(asset.type)) {
1488
- return false;
1489
- }
1490
- &nbsp;
1491
- let matchingType = _.find(types, { name: asset.type });
1492
- if (!matchingType) {
1493
- throw new Error(`Asset type "${asset.type}" could not be found`);
1494
- }
1495
- &nbsp;
1496
- return (
1497
- matchingType.file || matchingType.name.replace(".", "-").toUpperCase()
1498
- );
1499
- }
1500
- &nbsp;
1501
- function assetTitle(asset) {
1502
- let prefix = "";
1503
- let name = asset.slug.toUpperCase().replace("INT-L", "INTL");
1504
- if (/trailer/.test(asset.type)) {
1505
- switch (asset.type) {
1506
- case "trailer.intl":
1507
- prefix = "ITR-";
1508
- name = name.replace(/INTL-TRAILER-/, "");
1509
- break;
1510
- case "trailer":
1511
- prefix = "TR-";
1512
- name = name.replace(/TRAILER-/, "");
1513
- break;
1514
- case "trailer.us":
1515
- prefix = "DTR-";
1516
- name = name.replace(/DOMESTIC-TRAILER-/, "");
1517
- break;
1518
- }
1519
- }
1520
- return prefix + name;
1521
- }
1522
- &nbsp;
1523
- function runningTime(asset) {
1524
- let matches = asset.type.match(/^film-clip|^featurette/);
1525
- if (!matches) {
1526
- return;
1527
- }
1528
- &nbsp;
1529
- let minutes = Math.floor(asset.length / 60);
1530
- let seconds = asset.length % 60;
1531
- &nbsp;
1532
- let result = "";
1533
- &nbsp;
1534
- if (minutes &gt; 0) {
1535
- result += minutes + "min";
1536
- }
1537
- &nbsp;
1538
- if (seconds &gt; 0) {
1539
- result += seconds + "sec";
1540
- }
1541
- &nbsp;
1542
- return result;
1543
- }
1544
- &nbsp;
1545
- function locale(country, language) {
1546
- if (language.includes("-")) {
1547
- country = "";
1548
- }
1549
- return [language, country]
1550
- .filter(str =&gt; {
1551
- return !!str &amp;&amp; str !== "WW";
1552
- })
1553
- .join("-");
1554
- }
1555
- &nbsp;
1556
- function textType(subDub, text) {
1557
- if (!subDub || (!subDub.sub &amp;&amp; !subDub.dub)) {
1558
- return text;
1559
- }
1560
- &nbsp;
1561
- let result = [];
1562
- <span class="missing-if-branch" title="else path not taken" >E</span>if (subDub.sub) {
1563
- result.push("sub");
1564
- }
1565
- &nbsp;
1566
- if (subDub.dub) {
1567
- result.push("dub");
1568
- }
1569
- &nbsp;
1570
- return result;
1571
- }
1572
- &nbsp;
1573
- function matchSet(allTags, tags) {
1574
- let selectedTags = _(tags)
1575
- .values()
1576
- .flatten()
1577
- .value();
1578
- &nbsp;
1579
- let setTag = _(allTags)
1580
- .filter("set")
1581
- .find(<span class="fstat-no" title="function not covered" >se</span>tTag =&gt; {
1582
- <span class="cstat-no" title="statement not covered" > return _.difference(setTag.set, selectedTags).length === 0;</span>
1583
- });
1584
- &nbsp;
1585
- <span class="missing-if-branch" title="if path not taken" >I</span>if (setTag) {
1586
- <span class="cstat-no" title="statement not covered" > return setTag.name;</span>
1587
- }
1588
- }
1589
- &nbsp;
1590
- let tags = options.tags,
1591
- parts = [
1592
- asset.project.filePrefix,
1593
- assetType(asset, allTypes),
1594
- assetTitle(asset),
1595
- runningTime(asset),
1596
- locale(options.country, options.language),
1597
- textType(tags.SubDub, tags.Text),
1598
- tags.Extra.join("_"),
1599
- options.version,
1600
- tags.Codec
1601
- ];
1602
- &nbsp;
1603
- parts = _(parts)
1604
- .flatten()
1605
- .filter()
1606
- .map(part =&gt; part.toUpperCase());
1607
- &nbsp;
1608
- // if Aspect and Standard are available, then set the encodeName accoring to naming standard
1609
- if (mediaType == 'video' &amp;&amp; tags.Aspect &amp;&amp; tags.Standard) {
1610
- let encodeName = `${tags.Standard.toUpperCase()}-${tags.Aspect.replace(':', 'X')}`;
1611
- parts = parts.push(`${encodeName}`);
1612
- }
1613
- &nbsp;
1614
- let matchedSet = matchSet(allTags, options.tags);
1615
- let requiredInfo = tags.Resolution &amp;&amp; tags["Frame Mode"] &amp;&amp; tags.Framerate;
1616
- &nbsp;
1617
- <span class="missing-if-branch" title="if path not taken" >I</span>if (matchedSet) {
1618
- <span class="cstat-no" title="statement not covered" > parts = parts.push(matchedSet);</span>
1619
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (mediaType == "video" &amp;&amp; tags.Resolution &amp;&amp; !requiredInfo) {
1620
- <span class="cstat-no" title="statement not covered" > parts = parts.push(tags.Resolution.replace(/\d+x/, ""));</span>
1621
- } else if (mediaType == "image" &amp;&amp; tags.Resolution) {
1622
- parts = parts.push(tags.Resolution);
1623
- }
1624
- &nbsp;
1625
- let name = parts.join("_");
1626
- &nbsp;
1627
- let hasResInfo = name.match(/\d+(i|p)/i);
1628
- let hasAllInfo = name.match(/\d+(i|p)\d+/i);
1629
- &nbsp;
1630
- if (requiredInfo &amp;&amp; !hasResInfo &amp;&amp; !hasAllInfo) {
1631
- let res = tags.Resolution;
1632
- let encodeTag = [
1633
- hasResInfo ? <span class="branch-0 cbranch-no" title="branch not covered" >"" </span>: res.indexOf("x") ? res.replace(/\d+x/, "") : <span class="branch-1 cbranch-no" title="branch not covered" >res,</span>
1634
- res.match(/i|p/i) &amp;&amp; !hasResInfo
1635
- ? ""
1636
- : tags["Frame Mode"].toLowerCase().slice(0, 1),
1637
- tags.Framerate.replace(".", "").toUpperCase()
1638
- ]
1639
- .filter(val =&gt; {
1640
- return val;
1641
- })
1642
- .join("");
1643
- &nbsp;
1644
- let match = new RegExp(encodeTag, "i");
1645
- name = name.match(match)
1646
- ? <span class="branch-0 cbranch-no" title="branch not covered" >name.replace(match, encodeTag)</span>
1647
- : name + "_" + encodeTag;
1648
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (hasResInfo &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!hasAllInfo </span>&amp;&amp; <span class="branch-2 cbranch-no" title="branch not covered" >tags.Framerate)</span> {
1649
- <span class="cstat-no" title="statement not covered" > name += tags.Framerate.replace(".", "").toUpperCase();</span>
1650
- }
1651
- &nbsp;
1652
- return `${name}.${extension}`;
1653
- }
1654
- /**
1655
- * Returns the mediaType of the ingest
1656
- */
1657
- <span class="fstat-no" title="function not covered" > me</span>diaType() {
1658
- <span class="cstat-no" title="statement not covered" > return this.src.mediaType;</span>
1659
- }
1660
- /**
1661
- * Maps mediainfo metadata into ingest Tag format
1662
- *
1663
- */
1664
- mapFromMediainfo() {
1665
- let info = this.mediainfo;
1666
- let mediaType = this.source.mediaType;
1667
- &nbsp;
1668
- let schema = {
1669
- Aspect: null,
1670
- Standard: null,
1671
- Resolution: null,
1672
- Codec: null,
1673
- "Frame Mode": null,
1674
- Text: null,
1675
- Usage: null,
1676
- Extra: [],
1677
- Framerate: null,
1678
- Duration: null
1679
- };
1680
- &nbsp;
1681
- let tags = {};
1682
- &nbsp;
1683
- if (!info.media) {
1684
- throw "missing info.media";
1685
- }
1686
- &nbsp;
1687
- if (!info.media.track) {
1688
- throw "missing info.media.track";
1689
- }
1690
- &nbsp;
1691
- let general;
1692
- if (!Array.isArray(info["media"]["track"])) {
1693
- general = info["media"]["track"];
1694
- } else {
1695
- general = _.find(info["media"]["track"], { '@type': "General" });
1696
- }
1697
- &nbsp;
1698
- switch (mediaType) {
1699
- case "video":
1700
- mediaType = "Video";
1701
- break;
1702
- case "image":
1703
- mediaType = "Image";
1704
- break;
1705
- default:
1706
- <span class="missing-if-branch" title="else path not taken" >E</span>if (general.Format &amp;&amp; general.Format == "MXF") {
1707
- tags.Usage = "broadcast";
1708
- }
1709
- return tags;
1710
- }
1711
- &nbsp;
1712
- let mediainfoDefaults = {
1713
- DisplayAspectRatio: "",
1714
- Format: "",
1715
- Standard: "",
1716
- Height: "",
1717
- Width: "",
1718
- FrameRate: "",
1719
- ScanType: ""
1720
- };
1721
- &nbsp;
1722
- let media = _.find(info["media"]["track"], {
1723
- '@type': mediaType
1724
- });
1725
- media = _.merge({}, mediainfoDefaults, media);
1726
- &nbsp;
1727
- let width = parseInt(media["Width"].replace(" ", "").match(/[0-9 ]+/));
1728
- let height = parseInt(media["Height"].replace(" ", "").match(/[0-9 ]+/));
1729
- let Resolution = width &amp;&amp; height ? `${width}x${height}` : null;
1730
- if (Resolution) {
1731
- tags.Resolution = Resolution;
1732
- }
1733
- &nbsp;
1734
- let Standard = media["Standard"] ? <span class="branch-0 cbranch-no" title="branch not covered" >media["Standard"].toLowerCase() </span>: null;
1735
- <span class="missing-if-branch" title="if path not taken" >I</span>if (Standard) {
1736
- <span class="cstat-no" title="statement not covered" > tags.Standard = Standard;</span>
1737
- }
1738
- &nbsp;
1739
- let framerate = media["FrameRate"];
1740
- switch (framerate) {
1741
- case "23.976":
1742
- framerate = "23.98";
1743
- break;
1744
- <span class="branch-1 cbranch-no" title="branch not covered" > case "24.000":</span>
1745
- <span class="cstat-no" title="statement not covered" > framerate = "24";</span>
1746
- <span class="cstat-no" title="statement not covered" > break;</span>
1747
- <span class="branch-2 cbranch-no" title="branch not covered" > case "25.000":</span>
1748
- <span class="cstat-no" title="statement not covered" > framerate = "25";</span>
1749
- <span class="cstat-no" title="statement not covered" > break;</span>
1750
- <span class="branch-3 cbranch-no" title="branch not covered" > case "29.970":</span>
1751
- <span class="cstat-no" title="statement not covered" > framerate = "29.97";</span>
1752
- <span class="cstat-no" title="statement not covered" > break;</span>
1753
- <span class="branch-4 cbranch-no" title="branch not covered" > case "50.000":</span>
1754
- <span class="cstat-no" title="statement not covered" > framerate = "50";</span>
1755
- <span class="cstat-no" title="statement not covered" > break;</span>
1756
- <span class="branch-5 cbranch-no" title="branch not covered" > case "59.940":</span>
1757
- <span class="cstat-no" title="statement not covered" > framerate = "59.94";</span>
1758
- <span class="cstat-no" title="statement not covered" > break;</span>
1759
- }
1760
- framerate = parseFloat(framerate).toString();
1761
- framerate = framerate != "NaN" ? framerate : null;
1762
- if (framerate) {
1763
- tags.Framerate = framerate;
1764
- }
1765
- &nbsp;
1766
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!tags.Standard) {
1767
- switch (tags.Framerate) {
1768
- <span class="branch-0 cbranch-no" title="branch not covered" > case "24":</span>
1769
- case "23.98":
1770
- case "29.97":
1771
- case "59.94":
1772
- tags.Standard = "ntsc";
1773
- break;
1774
- <span class="branch-4 cbranch-no" title="branch not covered" > case "25":</span>
1775
- <span class="branch-5 cbranch-no" title="branch not covered" > case "50":</span>
1776
- <span class="cstat-no" title="statement not covered" > tags.Standard = "pal";</span>
1777
- <span class="cstat-no" title="statement not covered" > break;</span>
1778
- }
1779
- }
1780
- &nbsp;
1781
- let Codec;
1782
- switch (media["Format"]) {
1783
- case "AVC":
1784
- Codec = "h264";
1785
- break;
1786
- case "ProRes":
1787
- Codec = "prores";
1788
- break;
1789
- }
1790
- if (Codec) {
1791
- tags.Codec = Codec;
1792
- }
1793
- &nbsp;
1794
- if (tags.Codec == "h264") {
1795
- tags.Usage = "online";
1796
- }
1797
- &nbsp;
1798
- if (tags.Codec == "prores") {
1799
- tags.Usage = "broadcast";
1800
- }
1801
- &nbsp;
1802
- <span class="missing-if-branch" title="if path not taken" >I</span>if (general &amp;&amp; general["Format"] == "MXF") {
1803
- <span class="cstat-no" title="statement not covered" > tags.Usage = "broadcast";</span>
1804
- }
1805
- &nbsp;
1806
- switch (media["DisplayAspectRatio"]) {
1807
- <span class="branch-0 cbranch-no" title="branch not covered" > case "1.000":</span>
1808
- <span class="cstat-no" title="statement not covered" > tags.Aspect = "1:1";</span>
1809
- <span class="cstat-no" title="statement not covered" > break;</span>
1810
- <span class="branch-1 cbranch-no" title="branch not covered" > case "1.347":</span>
1811
- <span class="cstat-no" title="statement not covered" > tags.Aspect = "4:3";</span>
1812
- <span class="cstat-no" title="statement not covered" > break;</span>
1813
- <span class="branch-2 cbranch-no" title="branch not covered" > case "1.756":</span>
1814
- <span class="cstat-no" title="statement not covered" > tags.Aspect = "16:9";</span>
1815
- <span class="cstat-no" title="statement not covered" > break;</span>
1816
- case "1.778":
1817
- tags.Aspect = "16:9";
1818
- break;
1819
- <span class="branch-4 cbranch-no" title="branch not covered" > case "1.366":</span>
1820
- <span class="cstat-no" title="statement not covered" > tags.Aspect = "4:3";</span>
1821
- <span class="cstat-no" title="statement not covered" > break;</span>
1822
- <span class="branch-5 cbranch-no" title="branch not covered" > case "0.562":</span>
1823
- <span class="cstat-no" title="statement not covered" > tags.Aspect = "9:16";</span>
1824
- <span class="cstat-no" title="statement not covered" > break;</span>
1825
- }
1826
- &nbsp;
1827
- let ScanType = media["ScanType"].toLowerCase() || null;
1828
- if (ScanType) {
1829
- tags["Frame Mode"] = ScanType;
1830
- }
1831
- &nbsp;
1832
- let ingest = {
1833
- selected: {
1834
- download: {
1835
- tags: tags
1836
- }
1837
- }
1838
- };
1839
- &nbsp;
1840
- return ingest;
1841
- }
1842
- /**
1843
- * Maps parsed filename data to a partial ingest record for later merging
1844
- * @param {*} filename
1845
- * @param {*} allTags
1846
- */
1847
- mapFromFilename(params) {
1848
- let { allTags } = params;
1849
- let filename = this.filename;
1850
- let tags = {
1851
- SubDub: {
1852
- sub: null,
1853
- dub: null
1854
- }
1855
- };
1856
- filename.file.tags.forEach(tag =&gt; {
1857
- let foundTag = _.find(allTags, { name: tag });
1858
- if (foundTag) {
1859
- if (foundTag.type == "SubDub") {
1860
- if (foundTag.name == "sub") {
1861
- tags.SubDub.sub = true;
1862
- }
1863
- if (foundTag.name == "dub") {
1864
- tags.SubDub.dub = true;
1865
- }
1866
- } else {
1867
- tags[foundTag.type] = foundTag.name;
1868
- }
1869
- }
1870
- });
1871
- tags.Extra = filename.extra;
1872
- let ingest = {
1873
- selected: {
1874
- download: {
1875
- tags: tags
1876
- },
1877
- preview: {}
1878
- }
1879
- };
1880
- if (
1881
- filename.file.tags.includes("sub") &amp;&amp;
1882
- filename.file.tags.includes("dub")
1883
- ) {
1884
- ingest.selected.preview.type = "both";
1885
- } else if (filename.file.tags.includes("sub")) {
1886
- ingest.selected.preview.type = "sub";
1887
- } else <span class="missing-if-branch" title="else path not taken" >E</span>if (filename.file.tags.includes("dub")) {
1888
- ingest.selected.preview.type = "dub";
1889
- }
1890
- if (filename.file.language) {
1891
- ingest.selected.preview.language = filename.file.language;
1892
- ingest.selected.download.language = filename.file.language;
1893
- }
1894
- if (filename.file.country) {
1895
- ingest.selected.download.country = filename.file.country;
1896
- }
1897
- return ingest;
1898
- }
1899
- /**
1900
- * Create a File from an Ingest object
1901
- *
1902
- * @param {object} params
1903
- */
1904
- createFile(params) {
1905
- let { allTags, allTypes, order, extension } = params;
1906
- &nbsp;
1907
- let filename = this.mapFromFilename({ allTags });
1908
- let mediainfo = this.mapFromMediainfo();
1909
- &nbsp;
1910
- let assembled = this.assemble({ filename, mediainfo, order });
1911
- this.set(assembled);
1912
- &nbsp;
1913
- let name = this.renderFilename({ allTags, allTypes, extension });
1914
- &nbsp;
1915
- let file = new File({
1916
- name: name,
1917
- path: `${this.renderPath()}/${name}`,
1918
- asset: this.asset._id,
1919
- contextTag: this.context.tag,
1920
- language: this.selected.download.language,
1921
- country: this.selected.download.country,
1922
- tags: flatValues(this.selected.download.tags),
1923
- ingest: this._id,
1924
- workRequest: this.workRequest,
1925
- verified: true
1926
- });
1927
- &nbsp;
1928
- return file;
1929
- }
1930
- /**
1931
- * Merges ingest metadata sources
1932
- *
1933
- * @param {object} params
1934
- */
1935
- assemble(params) {
1936
- let { filename, mediainfo, order, watermarks = [] } = params;
1937
- &nbsp;
1938
- let original = this.data();
1939
- &nbsp;
1940
- let defaults = {
1941
- workRequest: order._id,
1942
- selected: {
1943
- download: {
1944
- enabled: true,
1945
- tags: {
1946
- Extra: []
1947
- },
1948
- embargo: {
1949
- enabled: false
1950
- }
1951
- },
1952
- preview: {
1953
- enabled: false,
1954
- revision: "Final",
1955
- type: "none",
1956
- embargo: {
1957
- enabled: false
1958
- }
1959
- },
1960
- thumbnail: {
1961
- enabled: false,
1962
- position: 50
1963
- }
1964
- }
1965
- };
1966
- &nbsp;
1967
- let ingest = _.merge(defaults, filename, original, mediainfo);
1968
- &nbsp;
1969
- if (original.asset &amp;&amp; original.asset.creative) {
1970
- ingest.selected.preview.revision = "Unfinished";
1971
- }
1972
- &nbsp;
1973
- if (!original.context.asset &amp;&amp; filename.asset &amp;&amp; filename.asset._id) {
1974
- ingest.selected.asset = filename.asset._id;
1975
- }
1976
- &nbsp;
1977
- if (ingest.workRequest) {
1978
- ingest.selected.project = ingest.context.project;
1979
- ingest.selected.asset = ingest.context.asset;
1980
- ingest.selected.assetType = ingest.context.assetType;
1981
- }
1982
- &nbsp;
1983
- if (ingest.workRequest) {
1984
- ingest.selected.download.tags.Extra = [];
1985
- }
1986
- &nbsp;
1987
- if (original.context.tag) {
1988
- ingest.selected.download.tags.Extra = [original.context.tag];
1989
- }
1990
- &nbsp;
1991
- if (order.territory) {
1992
- ingest.selected.download.country = order.territory;
1993
- }
1994
- if (order.language) {
1995
- ingest.selected.preview.language = order.language;
1996
- ingest.selected.download.language = order.language;
1997
- }
1998
- if (order._id) {
1999
- ingest.selected.download.tags.Text = "txtd";
2000
- }
2001
- if (order.isSub() || order.isDub()) {
2002
- ingest.selected.download.tags.SubDub = {
2003
- sub: order.isSub(),
2004
- dub: order.isDub()
2005
- };
2006
- }
2007
- if (order.isSub()) {
2008
- ingest.selected.preview.type = "sub";
2009
- }
2010
- if (order.isDub()) {
2011
- ingest.selected.preview.type = "dub";
2012
- }
2013
- if (order.isSub() &amp;&amp; order.isDub()) {
2014
- ingest.selected.preview.type = "both";
2015
- }
2016
- &nbsp;
2017
- ingest.selected.preview.watermark = watermarks[0] ? watermarks[0]._id : "";
2018
- &nbsp;
2019
- let tags = ingest.selected.download.tags;
2020
- ingest.selected.preview.enabled =
2021
- !!(
2022
- tags.Codec == "prores" &amp;&amp;
2023
- tags.Resolution.split("x")[1] == "1080" &amp;&amp;
2024
- (tags.Framerate == "23.98" || <span class="branch-3 cbranch-no" title="branch not covered" >tags.Framerate == "25")</span> &amp;&amp;
2025
- watermarks.length
2026
- ) || false;
2027
- &nbsp;
2028
- return ingest;
2029
- }
2030
- }
2031
- &nbsp;
2032
- /**
2033
- * Flattens ingest.selected.download.tags into a simple array
2034
- *
2035
- * @param {object} data
2036
- */
2037
- function flatValues(data) {
2038
- let copy = clone(data);
2039
- <span class="missing-if-branch" title="else path not taken" >E</span>if (copy.SubDub) {
2040
- copy.SubDub = keys(filter(val =&gt; !!val, copy.SubDub));
2041
- }
2042
- return flatten(values(copy));
2043
- }
2044
- &nbsp;</pre></td></tr>
2045
- </table></pre>
2046
- <div class='push'></div><!-- for sticky footer -->
2047
- </div><!-- /wrapper -->
2048
- <div class='footer quiet pad2 space-top1 center small'>
2049
- Code coverage
2050
- generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Sat Sep 07 2019 18:03:07 GMT-0500 (Central Daylight Time)
2051
- </div>
2052
- </div>
2053
- <script src="prettify.js"></script>
2054
- <script>
2055
- window.onload = function () {
2056
- if (typeof prettyPrint === 'function') {
2057
- prettyPrint();
2058
- }
2059
- };
2060
- </script>
2061
- <script src="sorter.js"></script>
2062
- <script src="block-navigation.js"></script>
2063
- </body>
2064
- </html>