@afixt/test-utils 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/.claude/settings.local.json +5 -1
  2. package/README.md +21 -1
  3. package/coverage/base.css +224 -0
  4. package/coverage/block-navigation.js +87 -0
  5. package/coverage/coverage-final.json +51 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +161 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +196 -0
  12. package/coverage/test-utils/docs/scripts/core.js.html +2263 -0
  13. package/coverage/test-utils/docs/scripts/core.min.js.html +151 -0
  14. package/coverage/test-utils/docs/scripts/index.html +176 -0
  15. package/coverage/test-utils/docs/scripts/resize.js.html +355 -0
  16. package/coverage/test-utils/docs/scripts/search.js.html +880 -0
  17. package/coverage/test-utils/docs/scripts/search.min.js.html +100 -0
  18. package/coverage/test-utils/docs/scripts/third-party/fuse.js.html +109 -0
  19. package/coverage/test-utils/docs/scripts/third-party/hljs-line-num-original.js.html +1192 -0
  20. package/coverage/test-utils/docs/scripts/third-party/hljs-line-num.js.html +85 -0
  21. package/coverage/test-utils/docs/scripts/third-party/hljs-original.js.html +15598 -0
  22. package/coverage/test-utils/docs/scripts/third-party/hljs.js.html +85 -0
  23. package/coverage/test-utils/docs/scripts/third-party/index.html +236 -0
  24. package/coverage/test-utils/docs/scripts/third-party/popper.js.html +100 -0
  25. package/coverage/test-utils/docs/scripts/third-party/tippy.js.html +88 -0
  26. package/coverage/test-utils/docs/scripts/third-party/tocbot.js.html +2098 -0
  27. package/coverage/test-utils/docs/scripts/third-party/tocbot.min.js.html +85 -0
  28. package/coverage/test-utils/index.html +131 -0
  29. package/coverage/test-utils/src/arrayUtils.js.html +283 -0
  30. package/coverage/test-utils/src/domUtils.js.html +622 -0
  31. package/coverage/test-utils/src/getAccessibleName.js.html +1444 -0
  32. package/coverage/test-utils/src/getAccessibleText.js.html +271 -0
  33. package/coverage/test-utils/src/getAriaAttributesByElement.js.html +142 -0
  34. package/coverage/test-utils/src/getCSSGeneratedContent.js.html +265 -0
  35. package/coverage/test-utils/src/getComputedRole.js.html +592 -0
  36. package/coverage/test-utils/src/getFocusableElements.js.html +163 -0
  37. package/coverage/test-utils/src/getGeneratedContent.js.html +130 -0
  38. package/coverage/test-utils/src/getImageText.js.html +160 -0
  39. package/coverage/test-utils/src/getStyleObject.js.html +220 -0
  40. package/coverage/test-utils/src/hasAccessibleName.js.html +166 -0
  41. package/coverage/test-utils/src/hasAttribute.js.html +130 -0
  42. package/coverage/test-utils/src/hasCSSGeneratedContent.js.html +145 -0
  43. package/coverage/test-utils/src/hasHiddenParent.js.html +172 -0
  44. package/coverage/test-utils/src/hasParent.js.html +247 -0
  45. package/coverage/test-utils/src/hasValidAriaAttributes.js.html +175 -0
  46. package/coverage/test-utils/src/hasValidAriaRole.js.html +172 -0
  47. package/coverage/test-utils/src/index.html +611 -0
  48. package/coverage/test-utils/src/index.js.html +274 -0
  49. package/coverage/test-utils/src/interactiveRoles.js.html +145 -0
  50. package/coverage/test-utils/src/isAriaAttributesValid.js.html +304 -0
  51. package/coverage/test-utils/src/isComplexTable.js.html +412 -0
  52. package/coverage/test-utils/src/isDataTable.js.html +799 -0
  53. package/coverage/test-utils/src/isFocusable.js.html +187 -0
  54. package/coverage/test-utils/src/isHidden.js.html +136 -0
  55. package/coverage/test-utils/src/isOffScreen.js.html +133 -0
  56. package/coverage/test-utils/src/isValidUrl.js.html +124 -0
  57. package/coverage/test-utils/src/isVisible.js.html +271 -0
  58. package/coverage/test-utils/src/listEventListeners.js.html +370 -0
  59. package/coverage/test-utils/src/queryCache.js.html +1156 -0
  60. package/coverage/test-utils/src/stringUtils.js.html +535 -0
  61. package/coverage/test-utils/src/testContrast.js.html +784 -0
  62. package/coverage/test-utils/src/testLang.js.html +1810 -0
  63. package/coverage/test-utils/src/testOrder.js.html +355 -0
  64. package/coverage/test-utils/vitest.config.browser.js.html +133 -0
  65. package/coverage/test-utils/vitest.config.js.html +157 -0
  66. package/package.json +6 -1
  67. package/src/arrayUtils.js +7 -12
  68. package/src/domUtils.js +1 -16
  69. package/src/getAccessibleName.js +3 -11
  70. package/src/getAccessibleText.js +3 -5
  71. package/src/getAriaAttributesByElement.js +1 -1
  72. package/src/getCSSGeneratedContent.js +6 -2
  73. package/src/getComputedRole.js +7 -2
  74. package/src/getFocusableElements.js +5 -1
  75. package/src/getGeneratedContent.js +5 -1
  76. package/src/getImageText.js +6 -2
  77. package/src/getStyleObject.js +5 -1
  78. package/src/hasAccessibleName.js +2 -10
  79. package/src/hasAttribute.js +5 -1
  80. package/src/hasCSSGeneratedContent.js +6 -2
  81. package/src/hasHiddenParent.js +2 -2
  82. package/src/hasParent.js +5 -1
  83. package/src/hasValidAriaAttributes.js +6 -2
  84. package/src/hasValidAriaRole.js +5 -1
  85. package/src/index.js +74 -31
  86. package/src/interactiveRoles.js +1 -1
  87. package/src/isAriaAttributesValid.js +6 -2
  88. package/src/isComplexTable.js +11 -4
  89. package/src/isDataTable.js +10 -5
  90. package/src/isFocusable.js +5 -1
  91. package/src/isHidden.js +1 -1
  92. package/src/isOffScreen.js +5 -1
  93. package/src/isValidUrl.js +5 -1
  94. package/src/isVisible.js +5 -1
  95. package/src/queryCache.js +358 -0
  96. package/src/testContrast.js +5 -1
  97. package/src/testLang.js +19 -7
  98. package/src/testOrder.js +8 -3
  99. package/test/hasCSSGeneratedContent.test.js +9 -7
  100. package/test/queryCache.test.js +465 -0
  101. package/test/setup.js +3 -1
  102. package/test/testOrder.test.js +10 -115
  103. package/todo.md +1 -0
  104. package/vitest.config.js +1 -0
@@ -0,0 +1,2263 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for test-utils/docs/scripts/core.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">test-utils/docs/scripts</a> core.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/726</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/1</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/726</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a>
575
+ <a name='L510'></a><a href='#L510'>510</a>
576
+ <a name='L511'></a><a href='#L511'>511</a>
577
+ <a name='L512'></a><a href='#L512'>512</a>
578
+ <a name='L513'></a><a href='#L513'>513</a>
579
+ <a name='L514'></a><a href='#L514'>514</a>
580
+ <a name='L515'></a><a href='#L515'>515</a>
581
+ <a name='L516'></a><a href='#L516'>516</a>
582
+ <a name='L517'></a><a href='#L517'>517</a>
583
+ <a name='L518'></a><a href='#L518'>518</a>
584
+ <a name='L519'></a><a href='#L519'>519</a>
585
+ <a name='L520'></a><a href='#L520'>520</a>
586
+ <a name='L521'></a><a href='#L521'>521</a>
587
+ <a name='L522'></a><a href='#L522'>522</a>
588
+ <a name='L523'></a><a href='#L523'>523</a>
589
+ <a name='L524'></a><a href='#L524'>524</a>
590
+ <a name='L525'></a><a href='#L525'>525</a>
591
+ <a name='L526'></a><a href='#L526'>526</a>
592
+ <a name='L527'></a><a href='#L527'>527</a>
593
+ <a name='L528'></a><a href='#L528'>528</a>
594
+ <a name='L529'></a><a href='#L529'>529</a>
595
+ <a name='L530'></a><a href='#L530'>530</a>
596
+ <a name='L531'></a><a href='#L531'>531</a>
597
+ <a name='L532'></a><a href='#L532'>532</a>
598
+ <a name='L533'></a><a href='#L533'>533</a>
599
+ <a name='L534'></a><a href='#L534'>534</a>
600
+ <a name='L535'></a><a href='#L535'>535</a>
601
+ <a name='L536'></a><a href='#L536'>536</a>
602
+ <a name='L537'></a><a href='#L537'>537</a>
603
+ <a name='L538'></a><a href='#L538'>538</a>
604
+ <a name='L539'></a><a href='#L539'>539</a>
605
+ <a name='L540'></a><a href='#L540'>540</a>
606
+ <a name='L541'></a><a href='#L541'>541</a>
607
+ <a name='L542'></a><a href='#L542'>542</a>
608
+ <a name='L543'></a><a href='#L543'>543</a>
609
+ <a name='L544'></a><a href='#L544'>544</a>
610
+ <a name='L545'></a><a href='#L545'>545</a>
611
+ <a name='L546'></a><a href='#L546'>546</a>
612
+ <a name='L547'></a><a href='#L547'>547</a>
613
+ <a name='L548'></a><a href='#L548'>548</a>
614
+ <a name='L549'></a><a href='#L549'>549</a>
615
+ <a name='L550'></a><a href='#L550'>550</a>
616
+ <a name='L551'></a><a href='#L551'>551</a>
617
+ <a name='L552'></a><a href='#L552'>552</a>
618
+ <a name='L553'></a><a href='#L553'>553</a>
619
+ <a name='L554'></a><a href='#L554'>554</a>
620
+ <a name='L555'></a><a href='#L555'>555</a>
621
+ <a name='L556'></a><a href='#L556'>556</a>
622
+ <a name='L557'></a><a href='#L557'>557</a>
623
+ <a name='L558'></a><a href='#L558'>558</a>
624
+ <a name='L559'></a><a href='#L559'>559</a>
625
+ <a name='L560'></a><a href='#L560'>560</a>
626
+ <a name='L561'></a><a href='#L561'>561</a>
627
+ <a name='L562'></a><a href='#L562'>562</a>
628
+ <a name='L563'></a><a href='#L563'>563</a>
629
+ <a name='L564'></a><a href='#L564'>564</a>
630
+ <a name='L565'></a><a href='#L565'>565</a>
631
+ <a name='L566'></a><a href='#L566'>566</a>
632
+ <a name='L567'></a><a href='#L567'>567</a>
633
+ <a name='L568'></a><a href='#L568'>568</a>
634
+ <a name='L569'></a><a href='#L569'>569</a>
635
+ <a name='L570'></a><a href='#L570'>570</a>
636
+ <a name='L571'></a><a href='#L571'>571</a>
637
+ <a name='L572'></a><a href='#L572'>572</a>
638
+ <a name='L573'></a><a href='#L573'>573</a>
639
+ <a name='L574'></a><a href='#L574'>574</a>
640
+ <a name='L575'></a><a href='#L575'>575</a>
641
+ <a name='L576'></a><a href='#L576'>576</a>
642
+ <a name='L577'></a><a href='#L577'>577</a>
643
+ <a name='L578'></a><a href='#L578'>578</a>
644
+ <a name='L579'></a><a href='#L579'>579</a>
645
+ <a name='L580'></a><a href='#L580'>580</a>
646
+ <a name='L581'></a><a href='#L581'>581</a>
647
+ <a name='L582'></a><a href='#L582'>582</a>
648
+ <a name='L583'></a><a href='#L583'>583</a>
649
+ <a name='L584'></a><a href='#L584'>584</a>
650
+ <a name='L585'></a><a href='#L585'>585</a>
651
+ <a name='L586'></a><a href='#L586'>586</a>
652
+ <a name='L587'></a><a href='#L587'>587</a>
653
+ <a name='L588'></a><a href='#L588'>588</a>
654
+ <a name='L589'></a><a href='#L589'>589</a>
655
+ <a name='L590'></a><a href='#L590'>590</a>
656
+ <a name='L591'></a><a href='#L591'>591</a>
657
+ <a name='L592'></a><a href='#L592'>592</a>
658
+ <a name='L593'></a><a href='#L593'>593</a>
659
+ <a name='L594'></a><a href='#L594'>594</a>
660
+ <a name='L595'></a><a href='#L595'>595</a>
661
+ <a name='L596'></a><a href='#L596'>596</a>
662
+ <a name='L597'></a><a href='#L597'>597</a>
663
+ <a name='L598'></a><a href='#L598'>598</a>
664
+ <a name='L599'></a><a href='#L599'>599</a>
665
+ <a name='L600'></a><a href='#L600'>600</a>
666
+ <a name='L601'></a><a href='#L601'>601</a>
667
+ <a name='L602'></a><a href='#L602'>602</a>
668
+ <a name='L603'></a><a href='#L603'>603</a>
669
+ <a name='L604'></a><a href='#L604'>604</a>
670
+ <a name='L605'></a><a href='#L605'>605</a>
671
+ <a name='L606'></a><a href='#L606'>606</a>
672
+ <a name='L607'></a><a href='#L607'>607</a>
673
+ <a name='L608'></a><a href='#L608'>608</a>
674
+ <a name='L609'></a><a href='#L609'>609</a>
675
+ <a name='L610'></a><a href='#L610'>610</a>
676
+ <a name='L611'></a><a href='#L611'>611</a>
677
+ <a name='L612'></a><a href='#L612'>612</a>
678
+ <a name='L613'></a><a href='#L613'>613</a>
679
+ <a name='L614'></a><a href='#L614'>614</a>
680
+ <a name='L615'></a><a href='#L615'>615</a>
681
+ <a name='L616'></a><a href='#L616'>616</a>
682
+ <a name='L617'></a><a href='#L617'>617</a>
683
+ <a name='L618'></a><a href='#L618'>618</a>
684
+ <a name='L619'></a><a href='#L619'>619</a>
685
+ <a name='L620'></a><a href='#L620'>620</a>
686
+ <a name='L621'></a><a href='#L621'>621</a>
687
+ <a name='L622'></a><a href='#L622'>622</a>
688
+ <a name='L623'></a><a href='#L623'>623</a>
689
+ <a name='L624'></a><a href='#L624'>624</a>
690
+ <a name='L625'></a><a href='#L625'>625</a>
691
+ <a name='L626'></a><a href='#L626'>626</a>
692
+ <a name='L627'></a><a href='#L627'>627</a>
693
+ <a name='L628'></a><a href='#L628'>628</a>
694
+ <a name='L629'></a><a href='#L629'>629</a>
695
+ <a name='L630'></a><a href='#L630'>630</a>
696
+ <a name='L631'></a><a href='#L631'>631</a>
697
+ <a name='L632'></a><a href='#L632'>632</a>
698
+ <a name='L633'></a><a href='#L633'>633</a>
699
+ <a name='L634'></a><a href='#L634'>634</a>
700
+ <a name='L635'></a><a href='#L635'>635</a>
701
+ <a name='L636'></a><a href='#L636'>636</a>
702
+ <a name='L637'></a><a href='#L637'>637</a>
703
+ <a name='L638'></a><a href='#L638'>638</a>
704
+ <a name='L639'></a><a href='#L639'>639</a>
705
+ <a name='L640'></a><a href='#L640'>640</a>
706
+ <a name='L641'></a><a href='#L641'>641</a>
707
+ <a name='L642'></a><a href='#L642'>642</a>
708
+ <a name='L643'></a><a href='#L643'>643</a>
709
+ <a name='L644'></a><a href='#L644'>644</a>
710
+ <a name='L645'></a><a href='#L645'>645</a>
711
+ <a name='L646'></a><a href='#L646'>646</a>
712
+ <a name='L647'></a><a href='#L647'>647</a>
713
+ <a name='L648'></a><a href='#L648'>648</a>
714
+ <a name='L649'></a><a href='#L649'>649</a>
715
+ <a name='L650'></a><a href='#L650'>650</a>
716
+ <a name='L651'></a><a href='#L651'>651</a>
717
+ <a name='L652'></a><a href='#L652'>652</a>
718
+ <a name='L653'></a><a href='#L653'>653</a>
719
+ <a name='L654'></a><a href='#L654'>654</a>
720
+ <a name='L655'></a><a href='#L655'>655</a>
721
+ <a name='L656'></a><a href='#L656'>656</a>
722
+ <a name='L657'></a><a href='#L657'>657</a>
723
+ <a name='L658'></a><a href='#L658'>658</a>
724
+ <a name='L659'></a><a href='#L659'>659</a>
725
+ <a name='L660'></a><a href='#L660'>660</a>
726
+ <a name='L661'></a><a href='#L661'>661</a>
727
+ <a name='L662'></a><a href='#L662'>662</a>
728
+ <a name='L663'></a><a href='#L663'>663</a>
729
+ <a name='L664'></a><a href='#L664'>664</a>
730
+ <a name='L665'></a><a href='#L665'>665</a>
731
+ <a name='L666'></a><a href='#L666'>666</a>
732
+ <a name='L667'></a><a href='#L667'>667</a>
733
+ <a name='L668'></a><a href='#L668'>668</a>
734
+ <a name='L669'></a><a href='#L669'>669</a>
735
+ <a name='L670'></a><a href='#L670'>670</a>
736
+ <a name='L671'></a><a href='#L671'>671</a>
737
+ <a name='L672'></a><a href='#L672'>672</a>
738
+ <a name='L673'></a><a href='#L673'>673</a>
739
+ <a name='L674'></a><a href='#L674'>674</a>
740
+ <a name='L675'></a><a href='#L675'>675</a>
741
+ <a name='L676'></a><a href='#L676'>676</a>
742
+ <a name='L677'></a><a href='#L677'>677</a>
743
+ <a name='L678'></a><a href='#L678'>678</a>
744
+ <a name='L679'></a><a href='#L679'>679</a>
745
+ <a name='L680'></a><a href='#L680'>680</a>
746
+ <a name='L681'></a><a href='#L681'>681</a>
747
+ <a name='L682'></a><a href='#L682'>682</a>
748
+ <a name='L683'></a><a href='#L683'>683</a>
749
+ <a name='L684'></a><a href='#L684'>684</a>
750
+ <a name='L685'></a><a href='#L685'>685</a>
751
+ <a name='L686'></a><a href='#L686'>686</a>
752
+ <a name='L687'></a><a href='#L687'>687</a>
753
+ <a name='L688'></a><a href='#L688'>688</a>
754
+ <a name='L689'></a><a href='#L689'>689</a>
755
+ <a name='L690'></a><a href='#L690'>690</a>
756
+ <a name='L691'></a><a href='#L691'>691</a>
757
+ <a name='L692'></a><a href='#L692'>692</a>
758
+ <a name='L693'></a><a href='#L693'>693</a>
759
+ <a name='L694'></a><a href='#L694'>694</a>
760
+ <a name='L695'></a><a href='#L695'>695</a>
761
+ <a name='L696'></a><a href='#L696'>696</a>
762
+ <a name='L697'></a><a href='#L697'>697</a>
763
+ <a name='L698'></a><a href='#L698'>698</a>
764
+ <a name='L699'></a><a href='#L699'>699</a>
765
+ <a name='L700'></a><a href='#L700'>700</a>
766
+ <a name='L701'></a><a href='#L701'>701</a>
767
+ <a name='L702'></a><a href='#L702'>702</a>
768
+ <a name='L703'></a><a href='#L703'>703</a>
769
+ <a name='L704'></a><a href='#L704'>704</a>
770
+ <a name='L705'></a><a href='#L705'>705</a>
771
+ <a name='L706'></a><a href='#L706'>706</a>
772
+ <a name='L707'></a><a href='#L707'>707</a>
773
+ <a name='L708'></a><a href='#L708'>708</a>
774
+ <a name='L709'></a><a href='#L709'>709</a>
775
+ <a name='L710'></a><a href='#L710'>710</a>
776
+ <a name='L711'></a><a href='#L711'>711</a>
777
+ <a name='L712'></a><a href='#L712'>712</a>
778
+ <a name='L713'></a><a href='#L713'>713</a>
779
+ <a name='L714'></a><a href='#L714'>714</a>
780
+ <a name='L715'></a><a href='#L715'>715</a>
781
+ <a name='L716'></a><a href='#L716'>716</a>
782
+ <a name='L717'></a><a href='#L717'>717</a>
783
+ <a name='L718'></a><a href='#L718'>718</a>
784
+ <a name='L719'></a><a href='#L719'>719</a>
785
+ <a name='L720'></a><a href='#L720'>720</a>
786
+ <a name='L721'></a><a href='#L721'>721</a>
787
+ <a name='L722'></a><a href='#L722'>722</a>
788
+ <a name='L723'></a><a href='#L723'>723</a>
789
+ <a name='L724'></a><a href='#L724'>724</a>
790
+ <a name='L725'></a><a href='#L725'>725</a>
791
+ <a name='L726'></a><a href='#L726'>726</a>
792
+ <a name='L727'></a><a href='#L727'>727</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
793
+ <span class="cline-any cline-no">&nbsp;</span>
794
+ <span class="cline-any cline-no">&nbsp;</span>
795
+ <span class="cline-any cline-no">&nbsp;</span>
796
+ <span class="cline-any cline-no">&nbsp;</span>
797
+ <span class="cline-any cline-no">&nbsp;</span>
798
+ <span class="cline-any cline-no">&nbsp;</span>
799
+ <span class="cline-any cline-no">&nbsp;</span>
800
+ <span class="cline-any cline-no">&nbsp;</span>
801
+ <span class="cline-any cline-no">&nbsp;</span>
802
+ <span class="cline-any cline-no">&nbsp;</span>
803
+ <span class="cline-any cline-no">&nbsp;</span>
804
+ <span class="cline-any cline-no">&nbsp;</span>
805
+ <span class="cline-any cline-no">&nbsp;</span>
806
+ <span class="cline-any cline-no">&nbsp;</span>
807
+ <span class="cline-any cline-no">&nbsp;</span>
808
+ <span class="cline-any cline-no">&nbsp;</span>
809
+ <span class="cline-any cline-no">&nbsp;</span>
810
+ <span class="cline-any cline-no">&nbsp;</span>
811
+ <span class="cline-any cline-no">&nbsp;</span>
812
+ <span class="cline-any cline-no">&nbsp;</span>
813
+ <span class="cline-any cline-no">&nbsp;</span>
814
+ <span class="cline-any cline-no">&nbsp;</span>
815
+ <span class="cline-any cline-no">&nbsp;</span>
816
+ <span class="cline-any cline-no">&nbsp;</span>
817
+ <span class="cline-any cline-no">&nbsp;</span>
818
+ <span class="cline-any cline-no">&nbsp;</span>
819
+ <span class="cline-any cline-no">&nbsp;</span>
820
+ <span class="cline-any cline-no">&nbsp;</span>
821
+ <span class="cline-any cline-no">&nbsp;</span>
822
+ <span class="cline-any cline-no">&nbsp;</span>
823
+ <span class="cline-any cline-no">&nbsp;</span>
824
+ <span class="cline-any cline-no">&nbsp;</span>
825
+ <span class="cline-any cline-no">&nbsp;</span>
826
+ <span class="cline-any cline-no">&nbsp;</span>
827
+ <span class="cline-any cline-no">&nbsp;</span>
828
+ <span class="cline-any cline-no">&nbsp;</span>
829
+ <span class="cline-any cline-no">&nbsp;</span>
830
+ <span class="cline-any cline-no">&nbsp;</span>
831
+ <span class="cline-any cline-no">&nbsp;</span>
832
+ <span class="cline-any cline-no">&nbsp;</span>
833
+ <span class="cline-any cline-no">&nbsp;</span>
834
+ <span class="cline-any cline-no">&nbsp;</span>
835
+ <span class="cline-any cline-no">&nbsp;</span>
836
+ <span class="cline-any cline-no">&nbsp;</span>
837
+ <span class="cline-any cline-no">&nbsp;</span>
838
+ <span class="cline-any cline-no">&nbsp;</span>
839
+ <span class="cline-any cline-no">&nbsp;</span>
840
+ <span class="cline-any cline-no">&nbsp;</span>
841
+ <span class="cline-any cline-no">&nbsp;</span>
842
+ <span class="cline-any cline-no">&nbsp;</span>
843
+ <span class="cline-any cline-no">&nbsp;</span>
844
+ <span class="cline-any cline-no">&nbsp;</span>
845
+ <span class="cline-any cline-no">&nbsp;</span>
846
+ <span class="cline-any cline-no">&nbsp;</span>
847
+ <span class="cline-any cline-no">&nbsp;</span>
848
+ <span class="cline-any cline-no">&nbsp;</span>
849
+ <span class="cline-any cline-no">&nbsp;</span>
850
+ <span class="cline-any cline-no">&nbsp;</span>
851
+ <span class="cline-any cline-no">&nbsp;</span>
852
+ <span class="cline-any cline-no">&nbsp;</span>
853
+ <span class="cline-any cline-no">&nbsp;</span>
854
+ <span class="cline-any cline-no">&nbsp;</span>
855
+ <span class="cline-any cline-no">&nbsp;</span>
856
+ <span class="cline-any cline-no">&nbsp;</span>
857
+ <span class="cline-any cline-no">&nbsp;</span>
858
+ <span class="cline-any cline-no">&nbsp;</span>
859
+ <span class="cline-any cline-no">&nbsp;</span>
860
+ <span class="cline-any cline-no">&nbsp;</span>
861
+ <span class="cline-any cline-no">&nbsp;</span>
862
+ <span class="cline-any cline-no">&nbsp;</span>
863
+ <span class="cline-any cline-no">&nbsp;</span>
864
+ <span class="cline-any cline-no">&nbsp;</span>
865
+ <span class="cline-any cline-no">&nbsp;</span>
866
+ <span class="cline-any cline-no">&nbsp;</span>
867
+ <span class="cline-any cline-no">&nbsp;</span>
868
+ <span class="cline-any cline-no">&nbsp;</span>
869
+ <span class="cline-any cline-no">&nbsp;</span>
870
+ <span class="cline-any cline-no">&nbsp;</span>
871
+ <span class="cline-any cline-no">&nbsp;</span>
872
+ <span class="cline-any cline-no">&nbsp;</span>
873
+ <span class="cline-any cline-no">&nbsp;</span>
874
+ <span class="cline-any cline-no">&nbsp;</span>
875
+ <span class="cline-any cline-no">&nbsp;</span>
876
+ <span class="cline-any cline-no">&nbsp;</span>
877
+ <span class="cline-any cline-no">&nbsp;</span>
878
+ <span class="cline-any cline-no">&nbsp;</span>
879
+ <span class="cline-any cline-no">&nbsp;</span>
880
+ <span class="cline-any cline-no">&nbsp;</span>
881
+ <span class="cline-any cline-no">&nbsp;</span>
882
+ <span class="cline-any cline-no">&nbsp;</span>
883
+ <span class="cline-any cline-no">&nbsp;</span>
884
+ <span class="cline-any cline-no">&nbsp;</span>
885
+ <span class="cline-any cline-no">&nbsp;</span>
886
+ <span class="cline-any cline-no">&nbsp;</span>
887
+ <span class="cline-any cline-no">&nbsp;</span>
888
+ <span class="cline-any cline-no">&nbsp;</span>
889
+ <span class="cline-any cline-no">&nbsp;</span>
890
+ <span class="cline-any cline-no">&nbsp;</span>
891
+ <span class="cline-any cline-no">&nbsp;</span>
892
+ <span class="cline-any cline-no">&nbsp;</span>
893
+ <span class="cline-any cline-no">&nbsp;</span>
894
+ <span class="cline-any cline-no">&nbsp;</span>
895
+ <span class="cline-any cline-no">&nbsp;</span>
896
+ <span class="cline-any cline-no">&nbsp;</span>
897
+ <span class="cline-any cline-no">&nbsp;</span>
898
+ <span class="cline-any cline-no">&nbsp;</span>
899
+ <span class="cline-any cline-no">&nbsp;</span>
900
+ <span class="cline-any cline-no">&nbsp;</span>
901
+ <span class="cline-any cline-no">&nbsp;</span>
902
+ <span class="cline-any cline-no">&nbsp;</span>
903
+ <span class="cline-any cline-no">&nbsp;</span>
904
+ <span class="cline-any cline-no">&nbsp;</span>
905
+ <span class="cline-any cline-no">&nbsp;</span>
906
+ <span class="cline-any cline-no">&nbsp;</span>
907
+ <span class="cline-any cline-no">&nbsp;</span>
908
+ <span class="cline-any cline-no">&nbsp;</span>
909
+ <span class="cline-any cline-no">&nbsp;</span>
910
+ <span class="cline-any cline-no">&nbsp;</span>
911
+ <span class="cline-any cline-no">&nbsp;</span>
912
+ <span class="cline-any cline-no">&nbsp;</span>
913
+ <span class="cline-any cline-no">&nbsp;</span>
914
+ <span class="cline-any cline-no">&nbsp;</span>
915
+ <span class="cline-any cline-no">&nbsp;</span>
916
+ <span class="cline-any cline-no">&nbsp;</span>
917
+ <span class="cline-any cline-no">&nbsp;</span>
918
+ <span class="cline-any cline-no">&nbsp;</span>
919
+ <span class="cline-any cline-no">&nbsp;</span>
920
+ <span class="cline-any cline-no">&nbsp;</span>
921
+ <span class="cline-any cline-no">&nbsp;</span>
922
+ <span class="cline-any cline-no">&nbsp;</span>
923
+ <span class="cline-any cline-no">&nbsp;</span>
924
+ <span class="cline-any cline-no">&nbsp;</span>
925
+ <span class="cline-any cline-no">&nbsp;</span>
926
+ <span class="cline-any cline-no">&nbsp;</span>
927
+ <span class="cline-any cline-no">&nbsp;</span>
928
+ <span class="cline-any cline-no">&nbsp;</span>
929
+ <span class="cline-any cline-no">&nbsp;</span>
930
+ <span class="cline-any cline-no">&nbsp;</span>
931
+ <span class="cline-any cline-no">&nbsp;</span>
932
+ <span class="cline-any cline-no">&nbsp;</span>
933
+ <span class="cline-any cline-no">&nbsp;</span>
934
+ <span class="cline-any cline-no">&nbsp;</span>
935
+ <span class="cline-any cline-no">&nbsp;</span>
936
+ <span class="cline-any cline-no">&nbsp;</span>
937
+ <span class="cline-any cline-no">&nbsp;</span>
938
+ <span class="cline-any cline-no">&nbsp;</span>
939
+ <span class="cline-any cline-no">&nbsp;</span>
940
+ <span class="cline-any cline-no">&nbsp;</span>
941
+ <span class="cline-any cline-no">&nbsp;</span>
942
+ <span class="cline-any cline-no">&nbsp;</span>
943
+ <span class="cline-any cline-no">&nbsp;</span>
944
+ <span class="cline-any cline-no">&nbsp;</span>
945
+ <span class="cline-any cline-no">&nbsp;</span>
946
+ <span class="cline-any cline-no">&nbsp;</span>
947
+ <span class="cline-any cline-no">&nbsp;</span>
948
+ <span class="cline-any cline-no">&nbsp;</span>
949
+ <span class="cline-any cline-no">&nbsp;</span>
950
+ <span class="cline-any cline-no">&nbsp;</span>
951
+ <span class="cline-any cline-no">&nbsp;</span>
952
+ <span class="cline-any cline-no">&nbsp;</span>
953
+ <span class="cline-any cline-no">&nbsp;</span>
954
+ <span class="cline-any cline-no">&nbsp;</span>
955
+ <span class="cline-any cline-no">&nbsp;</span>
956
+ <span class="cline-any cline-no">&nbsp;</span>
957
+ <span class="cline-any cline-no">&nbsp;</span>
958
+ <span class="cline-any cline-no">&nbsp;</span>
959
+ <span class="cline-any cline-no">&nbsp;</span>
960
+ <span class="cline-any cline-no">&nbsp;</span>
961
+ <span class="cline-any cline-no">&nbsp;</span>
962
+ <span class="cline-any cline-no">&nbsp;</span>
963
+ <span class="cline-any cline-no">&nbsp;</span>
964
+ <span class="cline-any cline-no">&nbsp;</span>
965
+ <span class="cline-any cline-no">&nbsp;</span>
966
+ <span class="cline-any cline-no">&nbsp;</span>
967
+ <span class="cline-any cline-no">&nbsp;</span>
968
+ <span class="cline-any cline-no">&nbsp;</span>
969
+ <span class="cline-any cline-no">&nbsp;</span>
970
+ <span class="cline-any cline-no">&nbsp;</span>
971
+ <span class="cline-any cline-no">&nbsp;</span>
972
+ <span class="cline-any cline-no">&nbsp;</span>
973
+ <span class="cline-any cline-no">&nbsp;</span>
974
+ <span class="cline-any cline-no">&nbsp;</span>
975
+ <span class="cline-any cline-no">&nbsp;</span>
976
+ <span class="cline-any cline-no">&nbsp;</span>
977
+ <span class="cline-any cline-no">&nbsp;</span>
978
+ <span class="cline-any cline-no">&nbsp;</span>
979
+ <span class="cline-any cline-no">&nbsp;</span>
980
+ <span class="cline-any cline-no">&nbsp;</span>
981
+ <span class="cline-any cline-no">&nbsp;</span>
982
+ <span class="cline-any cline-no">&nbsp;</span>
983
+ <span class="cline-any cline-no">&nbsp;</span>
984
+ <span class="cline-any cline-no">&nbsp;</span>
985
+ <span class="cline-any cline-no">&nbsp;</span>
986
+ <span class="cline-any cline-no">&nbsp;</span>
987
+ <span class="cline-any cline-no">&nbsp;</span>
988
+ <span class="cline-any cline-no">&nbsp;</span>
989
+ <span class="cline-any cline-no">&nbsp;</span>
990
+ <span class="cline-any cline-no">&nbsp;</span>
991
+ <span class="cline-any cline-no">&nbsp;</span>
992
+ <span class="cline-any cline-no">&nbsp;</span>
993
+ <span class="cline-any cline-no">&nbsp;</span>
994
+ <span class="cline-any cline-no">&nbsp;</span>
995
+ <span class="cline-any cline-no">&nbsp;</span>
996
+ <span class="cline-any cline-no">&nbsp;</span>
997
+ <span class="cline-any cline-no">&nbsp;</span>
998
+ <span class="cline-any cline-no">&nbsp;</span>
999
+ <span class="cline-any cline-no">&nbsp;</span>
1000
+ <span class="cline-any cline-no">&nbsp;</span>
1001
+ <span class="cline-any cline-no">&nbsp;</span>
1002
+ <span class="cline-any cline-no">&nbsp;</span>
1003
+ <span class="cline-any cline-no">&nbsp;</span>
1004
+ <span class="cline-any cline-no">&nbsp;</span>
1005
+ <span class="cline-any cline-no">&nbsp;</span>
1006
+ <span class="cline-any cline-no">&nbsp;</span>
1007
+ <span class="cline-any cline-no">&nbsp;</span>
1008
+ <span class="cline-any cline-no">&nbsp;</span>
1009
+ <span class="cline-any cline-no">&nbsp;</span>
1010
+ <span class="cline-any cline-no">&nbsp;</span>
1011
+ <span class="cline-any cline-no">&nbsp;</span>
1012
+ <span class="cline-any cline-no">&nbsp;</span>
1013
+ <span class="cline-any cline-no">&nbsp;</span>
1014
+ <span class="cline-any cline-no">&nbsp;</span>
1015
+ <span class="cline-any cline-no">&nbsp;</span>
1016
+ <span class="cline-any cline-no">&nbsp;</span>
1017
+ <span class="cline-any cline-no">&nbsp;</span>
1018
+ <span class="cline-any cline-no">&nbsp;</span>
1019
+ <span class="cline-any cline-no">&nbsp;</span>
1020
+ <span class="cline-any cline-no">&nbsp;</span>
1021
+ <span class="cline-any cline-no">&nbsp;</span>
1022
+ <span class="cline-any cline-no">&nbsp;</span>
1023
+ <span class="cline-any cline-no">&nbsp;</span>
1024
+ <span class="cline-any cline-no">&nbsp;</span>
1025
+ <span class="cline-any cline-no">&nbsp;</span>
1026
+ <span class="cline-any cline-no">&nbsp;</span>
1027
+ <span class="cline-any cline-no">&nbsp;</span>
1028
+ <span class="cline-any cline-no">&nbsp;</span>
1029
+ <span class="cline-any cline-no">&nbsp;</span>
1030
+ <span class="cline-any cline-no">&nbsp;</span>
1031
+ <span class="cline-any cline-no">&nbsp;</span>
1032
+ <span class="cline-any cline-no">&nbsp;</span>
1033
+ <span class="cline-any cline-no">&nbsp;</span>
1034
+ <span class="cline-any cline-no">&nbsp;</span>
1035
+ <span class="cline-any cline-no">&nbsp;</span>
1036
+ <span class="cline-any cline-no">&nbsp;</span>
1037
+ <span class="cline-any cline-no">&nbsp;</span>
1038
+ <span class="cline-any cline-no">&nbsp;</span>
1039
+ <span class="cline-any cline-no">&nbsp;</span>
1040
+ <span class="cline-any cline-no">&nbsp;</span>
1041
+ <span class="cline-any cline-no">&nbsp;</span>
1042
+ <span class="cline-any cline-no">&nbsp;</span>
1043
+ <span class="cline-any cline-no">&nbsp;</span>
1044
+ <span class="cline-any cline-no">&nbsp;</span>
1045
+ <span class="cline-any cline-no">&nbsp;</span>
1046
+ <span class="cline-any cline-no">&nbsp;</span>
1047
+ <span class="cline-any cline-no">&nbsp;</span>
1048
+ <span class="cline-any cline-no">&nbsp;</span>
1049
+ <span class="cline-any cline-no">&nbsp;</span>
1050
+ <span class="cline-any cline-no">&nbsp;</span>
1051
+ <span class="cline-any cline-no">&nbsp;</span>
1052
+ <span class="cline-any cline-no">&nbsp;</span>
1053
+ <span class="cline-any cline-no">&nbsp;</span>
1054
+ <span class="cline-any cline-no">&nbsp;</span>
1055
+ <span class="cline-any cline-no">&nbsp;</span>
1056
+ <span class="cline-any cline-no">&nbsp;</span>
1057
+ <span class="cline-any cline-no">&nbsp;</span>
1058
+ <span class="cline-any cline-no">&nbsp;</span>
1059
+ <span class="cline-any cline-no">&nbsp;</span>
1060
+ <span class="cline-any cline-no">&nbsp;</span>
1061
+ <span class="cline-any cline-no">&nbsp;</span>
1062
+ <span class="cline-any cline-no">&nbsp;</span>
1063
+ <span class="cline-any cline-no">&nbsp;</span>
1064
+ <span class="cline-any cline-no">&nbsp;</span>
1065
+ <span class="cline-any cline-no">&nbsp;</span>
1066
+ <span class="cline-any cline-no">&nbsp;</span>
1067
+ <span class="cline-any cline-no">&nbsp;</span>
1068
+ <span class="cline-any cline-no">&nbsp;</span>
1069
+ <span class="cline-any cline-no">&nbsp;</span>
1070
+ <span class="cline-any cline-no">&nbsp;</span>
1071
+ <span class="cline-any cline-no">&nbsp;</span>
1072
+ <span class="cline-any cline-no">&nbsp;</span>
1073
+ <span class="cline-any cline-no">&nbsp;</span>
1074
+ <span class="cline-any cline-no">&nbsp;</span>
1075
+ <span class="cline-any cline-no">&nbsp;</span>
1076
+ <span class="cline-any cline-no">&nbsp;</span>
1077
+ <span class="cline-any cline-no">&nbsp;</span>
1078
+ <span class="cline-any cline-no">&nbsp;</span>
1079
+ <span class="cline-any cline-no">&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-no">&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-no">&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-no">&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-no">&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-no">&nbsp;</span>
1095
+ <span class="cline-any cline-no">&nbsp;</span>
1096
+ <span class="cline-any cline-no">&nbsp;</span>
1097
+ <span class="cline-any cline-no">&nbsp;</span>
1098
+ <span class="cline-any cline-no">&nbsp;</span>
1099
+ <span class="cline-any cline-no">&nbsp;</span>
1100
+ <span class="cline-any cline-no">&nbsp;</span>
1101
+ <span class="cline-any cline-no">&nbsp;</span>
1102
+ <span class="cline-any cline-no">&nbsp;</span>
1103
+ <span class="cline-any cline-no">&nbsp;</span>
1104
+ <span class="cline-any cline-no">&nbsp;</span>
1105
+ <span class="cline-any cline-no">&nbsp;</span>
1106
+ <span class="cline-any cline-no">&nbsp;</span>
1107
+ <span class="cline-any cline-no">&nbsp;</span>
1108
+ <span class="cline-any cline-no">&nbsp;</span>
1109
+ <span class="cline-any cline-no">&nbsp;</span>
1110
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1114
+ <span class="cline-any cline-no">&nbsp;</span>
1115
+ <span class="cline-any cline-no">&nbsp;</span>
1116
+ <span class="cline-any cline-no">&nbsp;</span>
1117
+ <span class="cline-any cline-no">&nbsp;</span>
1118
+ <span class="cline-any cline-no">&nbsp;</span>
1119
+ <span class="cline-any cline-no">&nbsp;</span>
1120
+ <span class="cline-any cline-no">&nbsp;</span>
1121
+ <span class="cline-any cline-no">&nbsp;</span>
1122
+ <span class="cline-any cline-no">&nbsp;</span>
1123
+ <span class="cline-any cline-no">&nbsp;</span>
1124
+ <span class="cline-any cline-no">&nbsp;</span>
1125
+ <span class="cline-any cline-no">&nbsp;</span>
1126
+ <span class="cline-any cline-no">&nbsp;</span>
1127
+ <span class="cline-any cline-no">&nbsp;</span>
1128
+ <span class="cline-any cline-no">&nbsp;</span>
1129
+ <span class="cline-any cline-no">&nbsp;</span>
1130
+ <span class="cline-any cline-no">&nbsp;</span>
1131
+ <span class="cline-any cline-no">&nbsp;</span>
1132
+ <span class="cline-any cline-no">&nbsp;</span>
1133
+ <span class="cline-any cline-no">&nbsp;</span>
1134
+ <span class="cline-any cline-no">&nbsp;</span>
1135
+ <span class="cline-any cline-no">&nbsp;</span>
1136
+ <span class="cline-any cline-no">&nbsp;</span>
1137
+ <span class="cline-any cline-no">&nbsp;</span>
1138
+ <span class="cline-any cline-no">&nbsp;</span>
1139
+ <span class="cline-any cline-no">&nbsp;</span>
1140
+ <span class="cline-any cline-no">&nbsp;</span>
1141
+ <span class="cline-any cline-no">&nbsp;</span>
1142
+ <span class="cline-any cline-no">&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-no">&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-no">&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-no">&nbsp;</span>
1152
+ <span class="cline-any cline-no">&nbsp;</span>
1153
+ <span class="cline-any cline-no">&nbsp;</span>
1154
+ <span class="cline-any cline-no">&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-no">&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-no">&nbsp;</span>
1161
+ <span class="cline-any cline-no">&nbsp;</span>
1162
+ <span class="cline-any cline-no">&nbsp;</span>
1163
+ <span class="cline-any cline-no">&nbsp;</span>
1164
+ <span class="cline-any cline-no">&nbsp;</span>
1165
+ <span class="cline-any cline-no">&nbsp;</span>
1166
+ <span class="cline-any cline-no">&nbsp;</span>
1167
+ <span class="cline-any cline-no">&nbsp;</span>
1168
+ <span class="cline-any cline-no">&nbsp;</span>
1169
+ <span class="cline-any cline-no">&nbsp;</span>
1170
+ <span class="cline-any cline-no">&nbsp;</span>
1171
+ <span class="cline-any cline-no">&nbsp;</span>
1172
+ <span class="cline-any cline-no">&nbsp;</span>
1173
+ <span class="cline-any cline-no">&nbsp;</span>
1174
+ <span class="cline-any cline-no">&nbsp;</span>
1175
+ <span class="cline-any cline-no">&nbsp;</span>
1176
+ <span class="cline-any cline-no">&nbsp;</span>
1177
+ <span class="cline-any cline-no">&nbsp;</span>
1178
+ <span class="cline-any cline-no">&nbsp;</span>
1179
+ <span class="cline-any cline-no">&nbsp;</span>
1180
+ <span class="cline-any cline-no">&nbsp;</span>
1181
+ <span class="cline-any cline-no">&nbsp;</span>
1182
+ <span class="cline-any cline-no">&nbsp;</span>
1183
+ <span class="cline-any cline-no">&nbsp;</span>
1184
+ <span class="cline-any cline-no">&nbsp;</span>
1185
+ <span class="cline-any cline-no">&nbsp;</span>
1186
+ <span class="cline-any cline-no">&nbsp;</span>
1187
+ <span class="cline-any cline-no">&nbsp;</span>
1188
+ <span class="cline-any cline-no">&nbsp;</span>
1189
+ <span class="cline-any cline-no">&nbsp;</span>
1190
+ <span class="cline-any cline-no">&nbsp;</span>
1191
+ <span class="cline-any cline-no">&nbsp;</span>
1192
+ <span class="cline-any cline-no">&nbsp;</span>
1193
+ <span class="cline-any cline-no">&nbsp;</span>
1194
+ <span class="cline-any cline-no">&nbsp;</span>
1195
+ <span class="cline-any cline-no">&nbsp;</span>
1196
+ <span class="cline-any cline-no">&nbsp;</span>
1197
+ <span class="cline-any cline-no">&nbsp;</span>
1198
+ <span class="cline-any cline-no">&nbsp;</span>
1199
+ <span class="cline-any cline-no">&nbsp;</span>
1200
+ <span class="cline-any cline-no">&nbsp;</span>
1201
+ <span class="cline-any cline-no">&nbsp;</span>
1202
+ <span class="cline-any cline-no">&nbsp;</span>
1203
+ <span class="cline-any cline-no">&nbsp;</span>
1204
+ <span class="cline-any cline-no">&nbsp;</span>
1205
+ <span class="cline-any cline-no">&nbsp;</span>
1206
+ <span class="cline-any cline-no">&nbsp;</span>
1207
+ <span class="cline-any cline-no">&nbsp;</span>
1208
+ <span class="cline-any cline-no">&nbsp;</span>
1209
+ <span class="cline-any cline-no">&nbsp;</span>
1210
+ <span class="cline-any cline-no">&nbsp;</span>
1211
+ <span class="cline-any cline-no">&nbsp;</span>
1212
+ <span class="cline-any cline-no">&nbsp;</span>
1213
+ <span class="cline-any cline-no">&nbsp;</span>
1214
+ <span class="cline-any cline-no">&nbsp;</span>
1215
+ <span class="cline-any cline-no">&nbsp;</span>
1216
+ <span class="cline-any cline-no">&nbsp;</span>
1217
+ <span class="cline-any cline-no">&nbsp;</span>
1218
+ <span class="cline-any cline-no">&nbsp;</span>
1219
+ <span class="cline-any cline-no">&nbsp;</span>
1220
+ <span class="cline-any cline-no">&nbsp;</span>
1221
+ <span class="cline-any cline-no">&nbsp;</span>
1222
+ <span class="cline-any cline-no">&nbsp;</span>
1223
+ <span class="cline-any cline-no">&nbsp;</span>
1224
+ <span class="cline-any cline-no">&nbsp;</span>
1225
+ <span class="cline-any cline-no">&nbsp;</span>
1226
+ <span class="cline-any cline-no">&nbsp;</span>
1227
+ <span class="cline-any cline-no">&nbsp;</span>
1228
+ <span class="cline-any cline-no">&nbsp;</span>
1229
+ <span class="cline-any cline-no">&nbsp;</span>
1230
+ <span class="cline-any cline-no">&nbsp;</span>
1231
+ <span class="cline-any cline-no">&nbsp;</span>
1232
+ <span class="cline-any cline-no">&nbsp;</span>
1233
+ <span class="cline-any cline-no">&nbsp;</span>
1234
+ <span class="cline-any cline-no">&nbsp;</span>
1235
+ <span class="cline-any cline-no">&nbsp;</span>
1236
+ <span class="cline-any cline-no">&nbsp;</span>
1237
+ <span class="cline-any cline-no">&nbsp;</span>
1238
+ <span class="cline-any cline-no">&nbsp;</span>
1239
+ <span class="cline-any cline-no">&nbsp;</span>
1240
+ <span class="cline-any cline-no">&nbsp;</span>
1241
+ <span class="cline-any cline-no">&nbsp;</span>
1242
+ <span class="cline-any cline-no">&nbsp;</span>
1243
+ <span class="cline-any cline-no">&nbsp;</span>
1244
+ <span class="cline-any cline-no">&nbsp;</span>
1245
+ <span class="cline-any cline-no">&nbsp;</span>
1246
+ <span class="cline-any cline-no">&nbsp;</span>
1247
+ <span class="cline-any cline-no">&nbsp;</span>
1248
+ <span class="cline-any cline-no">&nbsp;</span>
1249
+ <span class="cline-any cline-no">&nbsp;</span>
1250
+ <span class="cline-any cline-no">&nbsp;</span>
1251
+ <span class="cline-any cline-no">&nbsp;</span>
1252
+ <span class="cline-any cline-no">&nbsp;</span>
1253
+ <span class="cline-any cline-no">&nbsp;</span>
1254
+ <span class="cline-any cline-no">&nbsp;</span>
1255
+ <span class="cline-any cline-no">&nbsp;</span>
1256
+ <span class="cline-any cline-no">&nbsp;</span>
1257
+ <span class="cline-any cline-no">&nbsp;</span>
1258
+ <span class="cline-any cline-no">&nbsp;</span>
1259
+ <span class="cline-any cline-no">&nbsp;</span>
1260
+ <span class="cline-any cline-no">&nbsp;</span>
1261
+ <span class="cline-any cline-no">&nbsp;</span>
1262
+ <span class="cline-any cline-no">&nbsp;</span>
1263
+ <span class="cline-any cline-no">&nbsp;</span>
1264
+ <span class="cline-any cline-no">&nbsp;</span>
1265
+ <span class="cline-any cline-no">&nbsp;</span>
1266
+ <span class="cline-any cline-no">&nbsp;</span>
1267
+ <span class="cline-any cline-no">&nbsp;</span>
1268
+ <span class="cline-any cline-no">&nbsp;</span>
1269
+ <span class="cline-any cline-no">&nbsp;</span>
1270
+ <span class="cline-any cline-no">&nbsp;</span>
1271
+ <span class="cline-any cline-no">&nbsp;</span>
1272
+ <span class="cline-any cline-no">&nbsp;</span>
1273
+ <span class="cline-any cline-no">&nbsp;</span>
1274
+ <span class="cline-any cline-no">&nbsp;</span>
1275
+ <span class="cline-any cline-no">&nbsp;</span>
1276
+ <span class="cline-any cline-no">&nbsp;</span>
1277
+ <span class="cline-any cline-no">&nbsp;</span>
1278
+ <span class="cline-any cline-no">&nbsp;</span>
1279
+ <span class="cline-any cline-no">&nbsp;</span>
1280
+ <span class="cline-any cline-no">&nbsp;</span>
1281
+ <span class="cline-any cline-no">&nbsp;</span>
1282
+ <span class="cline-any cline-no">&nbsp;</span>
1283
+ <span class="cline-any cline-no">&nbsp;</span>
1284
+ <span class="cline-any cline-no">&nbsp;</span>
1285
+ <span class="cline-any cline-no">&nbsp;</span>
1286
+ <span class="cline-any cline-no">&nbsp;</span>
1287
+ <span class="cline-any cline-no">&nbsp;</span>
1288
+ <span class="cline-any cline-no">&nbsp;</span>
1289
+ <span class="cline-any cline-no">&nbsp;</span>
1290
+ <span class="cline-any cline-no">&nbsp;</span>
1291
+ <span class="cline-any cline-no">&nbsp;</span>
1292
+ <span class="cline-any cline-no">&nbsp;</span>
1293
+ <span class="cline-any cline-no">&nbsp;</span>
1294
+ <span class="cline-any cline-no">&nbsp;</span>
1295
+ <span class="cline-any cline-no">&nbsp;</span>
1296
+ <span class="cline-any cline-no">&nbsp;</span>
1297
+ <span class="cline-any cline-no">&nbsp;</span>
1298
+ <span class="cline-any cline-no">&nbsp;</span>
1299
+ <span class="cline-any cline-no">&nbsp;</span>
1300
+ <span class="cline-any cline-no">&nbsp;</span>
1301
+ <span class="cline-any cline-no">&nbsp;</span>
1302
+ <span class="cline-any cline-no">&nbsp;</span>
1303
+ <span class="cline-any cline-no">&nbsp;</span>
1304
+ <span class="cline-any cline-no">&nbsp;</span>
1305
+ <span class="cline-any cline-no">&nbsp;</span>
1306
+ <span class="cline-any cline-no">&nbsp;</span>
1307
+ <span class="cline-any cline-no">&nbsp;</span>
1308
+ <span class="cline-any cline-no">&nbsp;</span>
1309
+ <span class="cline-any cline-no">&nbsp;</span>
1310
+ <span class="cline-any cline-no">&nbsp;</span>
1311
+ <span class="cline-any cline-no">&nbsp;</span>
1312
+ <span class="cline-any cline-no">&nbsp;</span>
1313
+ <span class="cline-any cline-no">&nbsp;</span>
1314
+ <span class="cline-any cline-no">&nbsp;</span>
1315
+ <span class="cline-any cline-no">&nbsp;</span>
1316
+ <span class="cline-any cline-no">&nbsp;</span>
1317
+ <span class="cline-any cline-no">&nbsp;</span>
1318
+ <span class="cline-any cline-no">&nbsp;</span>
1319
+ <span class="cline-any cline-no">&nbsp;</span>
1320
+ <span class="cline-any cline-no">&nbsp;</span>
1321
+ <span class="cline-any cline-no">&nbsp;</span>
1322
+ <span class="cline-any cline-no">&nbsp;</span>
1323
+ <span class="cline-any cline-no">&nbsp;</span>
1324
+ <span class="cline-any cline-no">&nbsp;</span>
1325
+ <span class="cline-any cline-no">&nbsp;</span>
1326
+ <span class="cline-any cline-no">&nbsp;</span>
1327
+ <span class="cline-any cline-no">&nbsp;</span>
1328
+ <span class="cline-any cline-no">&nbsp;</span>
1329
+ <span class="cline-any cline-no">&nbsp;</span>
1330
+ <span class="cline-any cline-no">&nbsp;</span>
1331
+ <span class="cline-any cline-no">&nbsp;</span>
1332
+ <span class="cline-any cline-no">&nbsp;</span>
1333
+ <span class="cline-any cline-no">&nbsp;</span>
1334
+ <span class="cline-any cline-no">&nbsp;</span>
1335
+ <span class="cline-any cline-no">&nbsp;</span>
1336
+ <span class="cline-any cline-no">&nbsp;</span>
1337
+ <span class="cline-any cline-no">&nbsp;</span>
1338
+ <span class="cline-any cline-no">&nbsp;</span>
1339
+ <span class="cline-any cline-no">&nbsp;</span>
1340
+ <span class="cline-any cline-no">&nbsp;</span>
1341
+ <span class="cline-any cline-no">&nbsp;</span>
1342
+ <span class="cline-any cline-no">&nbsp;</span>
1343
+ <span class="cline-any cline-no">&nbsp;</span>
1344
+ <span class="cline-any cline-no">&nbsp;</span>
1345
+ <span class="cline-any cline-no">&nbsp;</span>
1346
+ <span class="cline-any cline-no">&nbsp;</span>
1347
+ <span class="cline-any cline-no">&nbsp;</span>
1348
+ <span class="cline-any cline-no">&nbsp;</span>
1349
+ <span class="cline-any cline-no">&nbsp;</span>
1350
+ <span class="cline-any cline-no">&nbsp;</span>
1351
+ <span class="cline-any cline-no">&nbsp;</span>
1352
+ <span class="cline-any cline-no">&nbsp;</span>
1353
+ <span class="cline-any cline-no">&nbsp;</span>
1354
+ <span class="cline-any cline-no">&nbsp;</span>
1355
+ <span class="cline-any cline-no">&nbsp;</span>
1356
+ <span class="cline-any cline-no">&nbsp;</span>
1357
+ <span class="cline-any cline-no">&nbsp;</span>
1358
+ <span class="cline-any cline-no">&nbsp;</span>
1359
+ <span class="cline-any cline-no">&nbsp;</span>
1360
+ <span class="cline-any cline-no">&nbsp;</span>
1361
+ <span class="cline-any cline-no">&nbsp;</span>
1362
+ <span class="cline-any cline-no">&nbsp;</span>
1363
+ <span class="cline-any cline-no">&nbsp;</span>
1364
+ <span class="cline-any cline-no">&nbsp;</span>
1365
+ <span class="cline-any cline-no">&nbsp;</span>
1366
+ <span class="cline-any cline-no">&nbsp;</span>
1367
+ <span class="cline-any cline-no">&nbsp;</span>
1368
+ <span class="cline-any cline-no">&nbsp;</span>
1369
+ <span class="cline-any cline-no">&nbsp;</span>
1370
+ <span class="cline-any cline-no">&nbsp;</span>
1371
+ <span class="cline-any cline-no">&nbsp;</span>
1372
+ <span class="cline-any cline-no">&nbsp;</span>
1373
+ <span class="cline-any cline-no">&nbsp;</span>
1374
+ <span class="cline-any cline-no">&nbsp;</span>
1375
+ <span class="cline-any cline-no">&nbsp;</span>
1376
+ <span class="cline-any cline-no">&nbsp;</span>
1377
+ <span class="cline-any cline-no">&nbsp;</span>
1378
+ <span class="cline-any cline-no">&nbsp;</span>
1379
+ <span class="cline-any cline-no">&nbsp;</span>
1380
+ <span class="cline-any cline-no">&nbsp;</span>
1381
+ <span class="cline-any cline-no">&nbsp;</span>
1382
+ <span class="cline-any cline-no">&nbsp;</span>
1383
+ <span class="cline-any cline-no">&nbsp;</span>
1384
+ <span class="cline-any cline-no">&nbsp;</span>
1385
+ <span class="cline-any cline-no">&nbsp;</span>
1386
+ <span class="cline-any cline-no">&nbsp;</span>
1387
+ <span class="cline-any cline-no">&nbsp;</span>
1388
+ <span class="cline-any cline-no">&nbsp;</span>
1389
+ <span class="cline-any cline-no">&nbsp;</span>
1390
+ <span class="cline-any cline-no">&nbsp;</span>
1391
+ <span class="cline-any cline-no">&nbsp;</span>
1392
+ <span class="cline-any cline-no">&nbsp;</span>
1393
+ <span class="cline-any cline-no">&nbsp;</span>
1394
+ <span class="cline-any cline-no">&nbsp;</span>
1395
+ <span class="cline-any cline-no">&nbsp;</span>
1396
+ <span class="cline-any cline-no">&nbsp;</span>
1397
+ <span class="cline-any cline-no">&nbsp;</span>
1398
+ <span class="cline-any cline-no">&nbsp;</span>
1399
+ <span class="cline-any cline-no">&nbsp;</span>
1400
+ <span class="cline-any cline-no">&nbsp;</span>
1401
+ <span class="cline-any cline-no">&nbsp;</span>
1402
+ <span class="cline-any cline-no">&nbsp;</span>
1403
+ <span class="cline-any cline-no">&nbsp;</span>
1404
+ <span class="cline-any cline-no">&nbsp;</span>
1405
+ <span class="cline-any cline-no">&nbsp;</span>
1406
+ <span class="cline-any cline-no">&nbsp;</span>
1407
+ <span class="cline-any cline-no">&nbsp;</span>
1408
+ <span class="cline-any cline-no">&nbsp;</span>
1409
+ <span class="cline-any cline-no">&nbsp;</span>
1410
+ <span class="cline-any cline-no">&nbsp;</span>
1411
+ <span class="cline-any cline-no">&nbsp;</span>
1412
+ <span class="cline-any cline-no">&nbsp;</span>
1413
+ <span class="cline-any cline-no">&nbsp;</span>
1414
+ <span class="cline-any cline-no">&nbsp;</span>
1415
+ <span class="cline-any cline-no">&nbsp;</span>
1416
+ <span class="cline-any cline-no">&nbsp;</span>
1417
+ <span class="cline-any cline-no">&nbsp;</span>
1418
+ <span class="cline-any cline-no">&nbsp;</span>
1419
+ <span class="cline-any cline-no">&nbsp;</span>
1420
+ <span class="cline-any cline-no">&nbsp;</span>
1421
+ <span class="cline-any cline-no">&nbsp;</span>
1422
+ <span class="cline-any cline-no">&nbsp;</span>
1423
+ <span class="cline-any cline-no">&nbsp;</span>
1424
+ <span class="cline-any cline-no">&nbsp;</span>
1425
+ <span class="cline-any cline-no">&nbsp;</span>
1426
+ <span class="cline-any cline-no">&nbsp;</span>
1427
+ <span class="cline-any cline-no">&nbsp;</span>
1428
+ <span class="cline-any cline-no">&nbsp;</span>
1429
+ <span class="cline-any cline-no">&nbsp;</span>
1430
+ <span class="cline-any cline-no">&nbsp;</span>
1431
+ <span class="cline-any cline-no">&nbsp;</span>
1432
+ <span class="cline-any cline-no">&nbsp;</span>
1433
+ <span class="cline-any cline-no">&nbsp;</span>
1434
+ <span class="cline-any cline-no">&nbsp;</span>
1435
+ <span class="cline-any cline-no">&nbsp;</span>
1436
+ <span class="cline-any cline-no">&nbsp;</span>
1437
+ <span class="cline-any cline-no">&nbsp;</span>
1438
+ <span class="cline-any cline-no">&nbsp;</span>
1439
+ <span class="cline-any cline-no">&nbsp;</span>
1440
+ <span class="cline-any cline-no">&nbsp;</span>
1441
+ <span class="cline-any cline-no">&nbsp;</span>
1442
+ <span class="cline-any cline-no">&nbsp;</span>
1443
+ <span class="cline-any cline-no">&nbsp;</span>
1444
+ <span class="cline-any cline-no">&nbsp;</span>
1445
+ <span class="cline-any cline-no">&nbsp;</span>
1446
+ <span class="cline-any cline-no">&nbsp;</span>
1447
+ <span class="cline-any cline-no">&nbsp;</span>
1448
+ <span class="cline-any cline-no">&nbsp;</span>
1449
+ <span class="cline-any cline-no">&nbsp;</span>
1450
+ <span class="cline-any cline-no">&nbsp;</span>
1451
+ <span class="cline-any cline-no">&nbsp;</span>
1452
+ <span class="cline-any cline-no">&nbsp;</span>
1453
+ <span class="cline-any cline-no">&nbsp;</span>
1454
+ <span class="cline-any cline-no">&nbsp;</span>
1455
+ <span class="cline-any cline-no">&nbsp;</span>
1456
+ <span class="cline-any cline-no">&nbsp;</span>
1457
+ <span class="cline-any cline-no">&nbsp;</span>
1458
+ <span class="cline-any cline-no">&nbsp;</span>
1459
+ <span class="cline-any cline-no">&nbsp;</span>
1460
+ <span class="cline-any cline-no">&nbsp;</span>
1461
+ <span class="cline-any cline-no">&nbsp;</span>
1462
+ <span class="cline-any cline-no">&nbsp;</span>
1463
+ <span class="cline-any cline-no">&nbsp;</span>
1464
+ <span class="cline-any cline-no">&nbsp;</span>
1465
+ <span class="cline-any cline-no">&nbsp;</span>
1466
+ <span class="cline-any cline-no">&nbsp;</span>
1467
+ <span class="cline-any cline-no">&nbsp;</span>
1468
+ <span class="cline-any cline-no">&nbsp;</span>
1469
+ <span class="cline-any cline-no">&nbsp;</span>
1470
+ <span class="cline-any cline-no">&nbsp;</span>
1471
+ <span class="cline-any cline-no">&nbsp;</span>
1472
+ <span class="cline-any cline-no">&nbsp;</span>
1473
+ <span class="cline-any cline-no">&nbsp;</span>
1474
+ <span class="cline-any cline-no">&nbsp;</span>
1475
+ <span class="cline-any cline-no">&nbsp;</span>
1476
+ <span class="cline-any cline-no">&nbsp;</span>
1477
+ <span class="cline-any cline-no">&nbsp;</span>
1478
+ <span class="cline-any cline-no">&nbsp;</span>
1479
+ <span class="cline-any cline-no">&nbsp;</span>
1480
+ <span class="cline-any cline-no">&nbsp;</span>
1481
+ <span class="cline-any cline-no">&nbsp;</span>
1482
+ <span class="cline-any cline-no">&nbsp;</span>
1483
+ <span class="cline-any cline-no">&nbsp;</span>
1484
+ <span class="cline-any cline-no">&nbsp;</span>
1485
+ <span class="cline-any cline-no">&nbsp;</span>
1486
+ <span class="cline-any cline-no">&nbsp;</span>
1487
+ <span class="cline-any cline-no">&nbsp;</span>
1488
+ <span class="cline-any cline-no">&nbsp;</span>
1489
+ <span class="cline-any cline-no">&nbsp;</span>
1490
+ <span class="cline-any cline-no">&nbsp;</span>
1491
+ <span class="cline-any cline-no">&nbsp;</span>
1492
+ <span class="cline-any cline-no">&nbsp;</span>
1493
+ <span class="cline-any cline-no">&nbsp;</span>
1494
+ <span class="cline-any cline-no">&nbsp;</span>
1495
+ <span class="cline-any cline-no">&nbsp;</span>
1496
+ <span class="cline-any cline-no">&nbsp;</span>
1497
+ <span class="cline-any cline-no">&nbsp;</span>
1498
+ <span class="cline-any cline-no">&nbsp;</span>
1499
+ <span class="cline-any cline-no">&nbsp;</span>
1500
+ <span class="cline-any cline-no">&nbsp;</span>
1501
+ <span class="cline-any cline-no">&nbsp;</span>
1502
+ <span class="cline-any cline-no">&nbsp;</span>
1503
+ <span class="cline-any cline-no">&nbsp;</span>
1504
+ <span class="cline-any cline-no">&nbsp;</span>
1505
+ <span class="cline-any cline-no">&nbsp;</span>
1506
+ <span class="cline-any cline-no">&nbsp;</span>
1507
+ <span class="cline-any cline-no">&nbsp;</span>
1508
+ <span class="cline-any cline-no">&nbsp;</span>
1509
+ <span class="cline-any cline-no">&nbsp;</span>
1510
+ <span class="cline-any cline-no">&nbsp;</span>
1511
+ <span class="cline-any cline-no">&nbsp;</span>
1512
+ <span class="cline-any cline-no">&nbsp;</span>
1513
+ <span class="cline-any cline-no">&nbsp;</span>
1514
+ <span class="cline-any cline-no">&nbsp;</span>
1515
+ <span class="cline-any cline-no">&nbsp;</span>
1516
+ <span class="cline-any cline-no">&nbsp;</span>
1517
+ <span class="cline-any cline-no">&nbsp;</span>
1518
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >/* global document */</span></span></span>
1519
+ <span class="cstat-no" title="statement not covered" >var accordionLocalStorageKey = 'accordion-id';</span>
1520
+ <span class="cstat-no" title="statement not covered" >var themeLocalStorageKey = 'theme';</span>
1521
+ <span class="cstat-no" title="statement not covered" >var fontSizeLocalStorageKey = 'font-size';</span>
1522
+ <span class="cstat-no" title="statement not covered" >var html = document.querySelector('html');</span>
1523
+ <span class="cstat-no" title="statement not covered" ></span>
1524
+ <span class="cstat-no" title="statement not covered" >var MAX_FONT_SIZE = 30;</span>
1525
+ <span class="cstat-no" title="statement not covered" >var MIN_FONT_SIZE = 10;</span>
1526
+ <span class="cstat-no" title="statement not covered" ></span>
1527
+ <span class="cstat-no" title="statement not covered" >// eslint-disable-next-line no-undef</span>
1528
+ <span class="cstat-no" title="statement not covered" >var localStorage = window.localStorage;</span>
1529
+ <span class="cstat-no" title="statement not covered" ></span>
1530
+ <span class="cstat-no" title="statement not covered" >function getTheme() {</span>
1531
+ <span class="cstat-no" title="statement not covered" > var theme = localStorage.getItem(themeLocalStorageKey);</span>
1532
+ <span class="cstat-no" title="statement not covered" ></span>
1533
+ <span class="cstat-no" title="statement not covered" > if (theme) return theme;</span>
1534
+ <span class="cstat-no" title="statement not covered" ></span>
1535
+ <span class="cstat-no" title="statement not covered" > theme = document.body.getAttribute('data-theme');</span>
1536
+ <span class="cstat-no" title="statement not covered" ></span>
1537
+ <span class="cstat-no" title="statement not covered" > switch (theme) {</span>
1538
+ <span class="cstat-no" title="statement not covered" > case 'dark':</span>
1539
+ <span class="cstat-no" title="statement not covered" > case 'light':</span>
1540
+ <span class="cstat-no" title="statement not covered" > return theme;</span>
1541
+ <span class="cstat-no" title="statement not covered" > case 'fallback-dark':</span>
1542
+ <span class="cstat-no" title="statement not covered" > if (</span>
1543
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
1544
+ <span class="cstat-no" title="statement not covered" > window.matchMedia('(prefers-color-scheme)').matches &amp;&amp;</span>
1545
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
1546
+ <span class="cstat-no" title="statement not covered" > window.matchMedia('(prefers-color-scheme: light)').matches</span>
1547
+ <span class="cstat-no" title="statement not covered" > ) {</span>
1548
+ <span class="cstat-no" title="statement not covered" > return 'light';</span>
1549
+ <span class="cstat-no" title="statement not covered" > }</span>
1550
+ <span class="cstat-no" title="statement not covered" ></span>
1551
+ <span class="cstat-no" title="statement not covered" > return 'dark';</span>
1552
+ <span class="cstat-no" title="statement not covered" ></span>
1553
+ <span class="cstat-no" title="statement not covered" > case 'fallback-light':</span>
1554
+ <span class="cstat-no" title="statement not covered" > if (</span>
1555
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
1556
+ <span class="cstat-no" title="statement not covered" > window.matchMedia('(prefers-color-scheme)').matches &amp;&amp;</span>
1557
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
1558
+ <span class="cstat-no" title="statement not covered" > window.matchMedia('(prefers-color-scheme: dark)').matches</span>
1559
+ <span class="cstat-no" title="statement not covered" > ) {</span>
1560
+ <span class="cstat-no" title="statement not covered" > return 'dark';</span>
1561
+ <span class="cstat-no" title="statement not covered" > }</span>
1562
+ <span class="cstat-no" title="statement not covered" ></span>
1563
+ <span class="cstat-no" title="statement not covered" > return 'light';</span>
1564
+ <span class="cstat-no" title="statement not covered" ></span>
1565
+ <span class="cstat-no" title="statement not covered" > default:</span>
1566
+ <span class="cstat-no" title="statement not covered" > return 'dark';</span>
1567
+ <span class="cstat-no" title="statement not covered" > }</span>
1568
+ <span class="cstat-no" title="statement not covered" >}</span>
1569
+ <span class="cstat-no" title="statement not covered" ></span>
1570
+ <span class="cstat-no" title="statement not covered" >function localUpdateTheme(theme) {</span>
1571
+ <span class="cstat-no" title="statement not covered" > var body = document.body;</span>
1572
+ <span class="cstat-no" title="statement not covered" > var svgUse = document.querySelectorAll('.theme-svg-use');</span>
1573
+ <span class="cstat-no" title="statement not covered" > var iconID = theme === 'dark' ? '#light-theme-icon' : '#dark-theme-icon';</span>
1574
+ <span class="cstat-no" title="statement not covered" ></span>
1575
+ <span class="cstat-no" title="statement not covered" > body.setAttribute('data-theme', theme);</span>
1576
+ <span class="cstat-no" title="statement not covered" > body.classList.remove('dark', 'light');</span>
1577
+ <span class="cstat-no" title="statement not covered" > body.classList.add(theme);</span>
1578
+ <span class="cstat-no" title="statement not covered" ></span>
1579
+ <span class="cstat-no" title="statement not covered" > svgUse.forEach(function (svg) {</span>
1580
+ <span class="cstat-no" title="statement not covered" > svg.setAttribute('xlink:href', iconID);</span>
1581
+ <span class="cstat-no" title="statement not covered" > });</span>
1582
+ <span class="cstat-no" title="statement not covered" >}</span>
1583
+ <span class="cstat-no" title="statement not covered" ></span>
1584
+ <span class="cstat-no" title="statement not covered" >function updateTheme(theme) {</span>
1585
+ <span class="cstat-no" title="statement not covered" > localUpdateTheme(theme);</span>
1586
+ <span class="cstat-no" title="statement not covered" > localStorage.setItem(themeLocalStorageKey, theme);</span>
1587
+ <span class="cstat-no" title="statement not covered" >}</span>
1588
+ <span class="cstat-no" title="statement not covered" ></span>
1589
+ <span class="cstat-no" title="statement not covered" >function toggleTheme() {</span>
1590
+ <span class="cstat-no" title="statement not covered" > var body = document.body;</span>
1591
+ <span class="cstat-no" title="statement not covered" > var theme = body.getAttribute('data-theme');</span>
1592
+ <span class="cstat-no" title="statement not covered" ></span>
1593
+ <span class="cstat-no" title="statement not covered" > var newTheme = theme === 'dark' ? 'light' : 'dark';</span>
1594
+ <span class="cstat-no" title="statement not covered" ></span>
1595
+ <span class="cstat-no" title="statement not covered" > updateTheme(newTheme);</span>
1596
+ <span class="cstat-no" title="statement not covered" >}</span>
1597
+ <span class="cstat-no" title="statement not covered" ></span>
1598
+ <span class="cstat-no" title="statement not covered" >(function () {</span>
1599
+ <span class="cstat-no" title="statement not covered" > var theme = getTheme();</span>
1600
+ <span class="cstat-no" title="statement not covered" ></span>
1601
+ <span class="cstat-no" title="statement not covered" > updateTheme(theme);</span>
1602
+ <span class="cstat-no" title="statement not covered" >})();</span>
1603
+ <span class="cstat-no" title="statement not covered" ></span>
1604
+ <span class="cstat-no" title="statement not covered" >/**</span>
1605
+ <span class="cstat-no" title="statement not covered" > * Function to set accordion id to localStorage.</span>
1606
+ <span class="cstat-no" title="statement not covered" > * @param {string} id Accordion id</span>
1607
+ <span class="cstat-no" title="statement not covered" > */</span>
1608
+ <span class="cstat-no" title="statement not covered" >function setAccordionIdToLocalStorage(id) {</span>
1609
+ <span class="cstat-no" title="statement not covered" > /**</span>
1610
+ <span class="cstat-no" title="statement not covered" > * @type {object}</span>
1611
+ <span class="cstat-no" title="statement not covered" > */</span>
1612
+ <span class="cstat-no" title="statement not covered" > var ids = JSON.parse(localStorage.getItem(accordionLocalStorageKey));</span>
1613
+ <span class="cstat-no" title="statement not covered" ></span>
1614
+ <span class="cstat-no" title="statement not covered" > ids[id] = id;</span>
1615
+ <span class="cstat-no" title="statement not covered" > localStorage.setItem(accordionLocalStorageKey, JSON.stringify(ids));</span>
1616
+ <span class="cstat-no" title="statement not covered" >}</span>
1617
+ <span class="cstat-no" title="statement not covered" ></span>
1618
+ <span class="cstat-no" title="statement not covered" >/**</span>
1619
+ <span class="cstat-no" title="statement not covered" > * Function to remove accordion id from localStorage.</span>
1620
+ <span class="cstat-no" title="statement not covered" > * @param {string} id Accordion id</span>
1621
+ <span class="cstat-no" title="statement not covered" > */</span>
1622
+ <span class="cstat-no" title="statement not covered" >function removeAccordionIdFromLocalStorage(id) {</span>
1623
+ <span class="cstat-no" title="statement not covered" > /**</span>
1624
+ <span class="cstat-no" title="statement not covered" > * @type {object}</span>
1625
+ <span class="cstat-no" title="statement not covered" > */</span>
1626
+ <span class="cstat-no" title="statement not covered" > var ids = JSON.parse(localStorage.getItem(accordionLocalStorageKey));</span>
1627
+ <span class="cstat-no" title="statement not covered" ></span>
1628
+ <span class="cstat-no" title="statement not covered" > delete ids[id];</span>
1629
+ <span class="cstat-no" title="statement not covered" > localStorage.setItem(accordionLocalStorageKey, JSON.stringify(ids));</span>
1630
+ <span class="cstat-no" title="statement not covered" >}</span>
1631
+ <span class="cstat-no" title="statement not covered" ></span>
1632
+ <span class="cstat-no" title="statement not covered" >/**</span>
1633
+ <span class="cstat-no" title="statement not covered" > * Function to get all accordion ids from localStorage.</span>
1634
+ <span class="cstat-no" title="statement not covered" > *</span>
1635
+ <span class="cstat-no" title="statement not covered" > * @returns {object}</span>
1636
+ <span class="cstat-no" title="statement not covered" > */</span>
1637
+ <span class="cstat-no" title="statement not covered" >function getAccordionIdsFromLocalStorage() {</span>
1638
+ <span class="cstat-no" title="statement not covered" > /**</span>
1639
+ <span class="cstat-no" title="statement not covered" > * @type {object}</span>
1640
+ <span class="cstat-no" title="statement not covered" > */</span>
1641
+ <span class="cstat-no" title="statement not covered" > var ids = JSON.parse(localStorage.getItem(accordionLocalStorageKey));</span>
1642
+ <span class="cstat-no" title="statement not covered" ></span>
1643
+ <span class="cstat-no" title="statement not covered" > return ids || {};</span>
1644
+ <span class="cstat-no" title="statement not covered" >}</span>
1645
+ <span class="cstat-no" title="statement not covered" ></span>
1646
+ <span class="cstat-no" title="statement not covered" >function toggleAccordion(element) {</span>
1647
+ <span class="cstat-no" title="statement not covered" > var currentNode = element;</span>
1648
+ <span class="cstat-no" title="statement not covered" > var isCollapsed = currentNode.getAttribute('data-isopen') === 'false';</span>
1649
+ <span class="cstat-no" title="statement not covered" ></span>
1650
+ <span class="cstat-no" title="statement not covered" > if (isCollapsed) {</span>
1651
+ <span class="cstat-no" title="statement not covered" > currentNode.setAttribute('data-isopen', 'true');</span>
1652
+ <span class="cstat-no" title="statement not covered" > setAccordionIdToLocalStorage(currentNode.id);</span>
1653
+ <span class="cstat-no" title="statement not covered" > } else {</span>
1654
+ <span class="cstat-no" title="statement not covered" > currentNode.setAttribute('data-isopen', 'false');</span>
1655
+ <span class="cstat-no" title="statement not covered" > removeAccordionIdFromLocalStorage(currentNode.id);</span>
1656
+ <span class="cstat-no" title="statement not covered" > }</span>
1657
+ <span class="cstat-no" title="statement not covered" >}</span>
1658
+ <span class="cstat-no" title="statement not covered" ></span>
1659
+ <span class="cstat-no" title="statement not covered" >function initAccordion() {</span>
1660
+ <span class="cstat-no" title="statement not covered" > if (</span>
1661
+ <span class="cstat-no" title="statement not covered" > localStorage.getItem(accordionLocalStorageKey) === undefined ||</span>
1662
+ <span class="cstat-no" title="statement not covered" > localStorage.getItem(accordionLocalStorageKey) === null</span>
1663
+ <span class="cstat-no" title="statement not covered" > ) {</span>
1664
+ <span class="cstat-no" title="statement not covered" > localStorage.setItem(accordionLocalStorageKey, '{}');</span>
1665
+ <span class="cstat-no" title="statement not covered" > }</span>
1666
+ <span class="cstat-no" title="statement not covered" > var allAccordion = document.querySelectorAll('.sidebar-section-title');</span>
1667
+ <span class="cstat-no" title="statement not covered" > var ids = getAccordionIdsFromLocalStorage();</span>
1668
+ <span class="cstat-no" title="statement not covered" ></span>
1669
+ <span class="cstat-no" title="statement not covered" > allAccordion.forEach(function (item) {</span>
1670
+ <span class="cstat-no" title="statement not covered" > item.addEventListener('click', function () {</span>
1671
+ <span class="cstat-no" title="statement not covered" > toggleAccordion(item);</span>
1672
+ <span class="cstat-no" title="statement not covered" > });</span>
1673
+ <span class="cstat-no" title="statement not covered" > if (item.id in ids) {</span>
1674
+ <span class="cstat-no" title="statement not covered" > toggleAccordion(item);</span>
1675
+ <span class="cstat-no" title="statement not covered" > }</span>
1676
+ <span class="cstat-no" title="statement not covered" > });</span>
1677
+ <span class="cstat-no" title="statement not covered" >}</span>
1678
+ <span class="cstat-no" title="statement not covered" ></span>
1679
+ <span class="cstat-no" title="statement not covered" >function isSourcePage() {</span>
1680
+ <span class="cstat-no" title="statement not covered" > return Boolean(document.querySelector('#source-page'));</span>
1681
+ <span class="cstat-no" title="statement not covered" >}</span>
1682
+ <span class="cstat-no" title="statement not covered" ></span>
1683
+ <span class="cstat-no" title="statement not covered" >function bringElementIntoView(element, updateHistory = true) {</span>
1684
+ <span class="cstat-no" title="statement not covered" > // If element is null then we are not going further</span>
1685
+ <span class="cstat-no" title="statement not covered" > if (!element) {</span>
1686
+ <span class="cstat-no" title="statement not covered" > return;</span>
1687
+ <span class="cstat-no" title="statement not covered" > }</span>
1688
+ <span class="cstat-no" title="statement not covered" ></span>
1689
+ <span class="cstat-no" title="statement not covered" > /**</span>
1690
+ <span class="cstat-no" title="statement not covered" > * tocbotInstance is defined in layout.tmpl</span>
1691
+ <span class="cstat-no" title="statement not covered" > * It is defined when we are initializing tocbot.</span>
1692
+ <span class="cstat-no" title="statement not covered" > *</span>
1693
+ <span class="cstat-no" title="statement not covered" > */</span>
1694
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
1695
+ <span class="cstat-no" title="statement not covered" > if (tocbotInstance) {</span>
1696
+ <span class="cstat-no" title="statement not covered" > setTimeout(</span>
1697
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
1698
+ <span class="cstat-no" title="statement not covered" > () =&gt; tocbotInstance.updateTocListActiveElement(element),</span>
1699
+ <span class="cstat-no" title="statement not covered" > 60</span>
1700
+ <span class="cstat-no" title="statement not covered" > );</span>
1701
+ <span class="cstat-no" title="statement not covered" > }</span>
1702
+ <span class="cstat-no" title="statement not covered" > var navbar = document.querySelector('.navbar-container');</span>
1703
+ <span class="cstat-no" title="statement not covered" > var body = document.querySelector('.main-content');</span>
1704
+ <span class="cstat-no" title="statement not covered" > var elementTop = element.getBoundingClientRect().top;</span>
1705
+ <span class="cstat-no" title="statement not covered" ></span>
1706
+ <span class="cstat-no" title="statement not covered" > var offset = 16;</span>
1707
+ <span class="cstat-no" title="statement not covered" ></span>
1708
+ <span class="cstat-no" title="statement not covered" > if (navbar) {</span>
1709
+ <span class="cstat-no" title="statement not covered" > offset += navbar.scrollHeight;</span>
1710
+ <span class="cstat-no" title="statement not covered" > }</span>
1711
+ <span class="cstat-no" title="statement not covered" ></span>
1712
+ <span class="cstat-no" title="statement not covered" > if (body) {</span>
1713
+ <span class="cstat-no" title="statement not covered" > body.scrollBy(0, elementTop - offset);</span>
1714
+ <span class="cstat-no" title="statement not covered" > }</span>
1715
+ <span class="cstat-no" title="statement not covered" ></span>
1716
+ <span class="cstat-no" title="statement not covered" > if (updateHistory) {</span>
1717
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
1718
+ <span class="cstat-no" title="statement not covered" > history.pushState(null, null, '#' + element.id);</span>
1719
+ <span class="cstat-no" title="statement not covered" > }</span>
1720
+ <span class="cstat-no" title="statement not covered" >}</span>
1721
+ <span class="cstat-no" title="statement not covered" ></span>
1722
+ <span class="cstat-no" title="statement not covered" >// eslint-disable-next-line no-unused-vars</span>
1723
+ <span class="cstat-no" title="statement not covered" >function bringLinkToView(event) {</span>
1724
+ <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
1725
+ <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
1726
+ <span class="cstat-no" title="statement not covered" > var id = event.currentTarget.getAttribute('href');</span>
1727
+ <span class="cstat-no" title="statement not covered" ></span>
1728
+ <span class="cstat-no" title="statement not covered" > if (!id) {</span>
1729
+ <span class="cstat-no" title="statement not covered" > return;</span>
1730
+ <span class="cstat-no" title="statement not covered" > }</span>
1731
+ <span class="cstat-no" title="statement not covered" ></span>
1732
+ <span class="cstat-no" title="statement not covered" > var element = document.getElementById(id.slice(1));</span>
1733
+ <span class="cstat-no" title="statement not covered" ></span>
1734
+ <span class="cstat-no" title="statement not covered" > if (element) {</span>
1735
+ <span class="cstat-no" title="statement not covered" > bringElementIntoView(element);</span>
1736
+ <span class="cstat-no" title="statement not covered" > }</span>
1737
+ <span class="cstat-no" title="statement not covered" >}</span>
1738
+ <span class="cstat-no" title="statement not covered" ></span>
1739
+ <span class="cstat-no" title="statement not covered" >function bringIdToViewOnMount() {</span>
1740
+ <span class="cstat-no" title="statement not covered" > if (isSourcePage()) {</span>
1741
+ <span class="cstat-no" title="statement not covered" > return;</span>
1742
+ <span class="cstat-no" title="statement not covered" > }</span>
1743
+ <span class="cstat-no" title="statement not covered" ></span>
1744
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
1745
+ <span class="cstat-no" title="statement not covered" > var id = window.location.hash;</span>
1746
+ <span class="cstat-no" title="statement not covered" ></span>
1747
+ <span class="cstat-no" title="statement not covered" > if (id === '') {</span>
1748
+ <span class="cstat-no" title="statement not covered" > return;</span>
1749
+ <span class="cstat-no" title="statement not covered" > }</span>
1750
+ <span class="cstat-no" title="statement not covered" ></span>
1751
+ <span class="cstat-no" title="statement not covered" > var element = document.getElementById(id.slice(1));</span>
1752
+ <span class="cstat-no" title="statement not covered" ></span>
1753
+ <span class="cstat-no" title="statement not covered" > if (!element) {</span>
1754
+ <span class="cstat-no" title="statement not covered" > id = decodeURI(id);</span>
1755
+ <span class="cstat-no" title="statement not covered" > element = document.getElementById(id.slice(1));</span>
1756
+ <span class="cstat-no" title="statement not covered" > }</span>
1757
+ <span class="cstat-no" title="statement not covered" ></span>
1758
+ <span class="cstat-no" title="statement not covered" > if (element) {</span>
1759
+ <span class="cstat-no" title="statement not covered" > bringElementIntoView(element, false);</span>
1760
+ <span class="cstat-no" title="statement not covered" > }</span>
1761
+ <span class="cstat-no" title="statement not covered" >}</span>
1762
+ <span class="cstat-no" title="statement not covered" ></span>
1763
+ <span class="cstat-no" title="statement not covered" >function createAnchorElement(id) {</span>
1764
+ <span class="cstat-no" title="statement not covered" > var anchor = document.createElement('a');</span>
1765
+ <span class="cstat-no" title="statement not covered" ></span>
1766
+ <span class="cstat-no" title="statement not covered" > anchor.textContent = '#';</span>
1767
+ <span class="cstat-no" title="statement not covered" > anchor.href = '#' + id;</span>
1768
+ <span class="cstat-no" title="statement not covered" > anchor.classList.add('link-anchor');</span>
1769
+ <span class="cstat-no" title="statement not covered" > anchor.onclick = bringLinkToView;</span>
1770
+ <span class="cstat-no" title="statement not covered" ></span>
1771
+ <span class="cstat-no" title="statement not covered" > return anchor;</span>
1772
+ <span class="cstat-no" title="statement not covered" >}</span>
1773
+ <span class="cstat-no" title="statement not covered" ></span>
1774
+ <span class="cstat-no" title="statement not covered" >function addAnchor() {</span>
1775
+ <span class="cstat-no" title="statement not covered" > var main = document.querySelector('.main-content').querySelector('section');</span>
1776
+ <span class="cstat-no" title="statement not covered" ></span>
1777
+ <span class="cstat-no" title="statement not covered" > var h1 = main.querySelectorAll('h1');</span>
1778
+ <span class="cstat-no" title="statement not covered" > var h2 = main.querySelectorAll('h2');</span>
1779
+ <span class="cstat-no" title="statement not covered" > var h3 = main.querySelectorAll('h3');</span>
1780
+ <span class="cstat-no" title="statement not covered" > var h4 = main.querySelectorAll('h4');</span>
1781
+ <span class="cstat-no" title="statement not covered" ></span>
1782
+ <span class="cstat-no" title="statement not covered" > var targets = [h1, h2, h3, h4];</span>
1783
+ <span class="cstat-no" title="statement not covered" ></span>
1784
+ <span class="cstat-no" title="statement not covered" > targets.forEach(function (target) {</span>
1785
+ <span class="cstat-no" title="statement not covered" > target.forEach(function (heading) {</span>
1786
+ <span class="cstat-no" title="statement not covered" > var anchor = createAnchorElement(heading.id);</span>
1787
+ <span class="cstat-no" title="statement not covered" ></span>
1788
+ <span class="cstat-no" title="statement not covered" > heading.classList.add('has-anchor');</span>
1789
+ <span class="cstat-no" title="statement not covered" > heading.append(anchor);</span>
1790
+ <span class="cstat-no" title="statement not covered" > });</span>
1791
+ <span class="cstat-no" title="statement not covered" > });</span>
1792
+ <span class="cstat-no" title="statement not covered" >}</span>
1793
+ <span class="cstat-no" title="statement not covered" ></span>
1794
+ <span class="cstat-no" title="statement not covered" >/**</span>
1795
+ <span class="cstat-no" title="statement not covered" > *</span>
1796
+ <span class="cstat-no" title="statement not covered" > * @param {string} value</span>
1797
+ <span class="cstat-no" title="statement not covered" > */</span>
1798
+ <span class="cstat-no" title="statement not covered" >function copy(value) {</span>
1799
+ <span class="cstat-no" title="statement not covered" > const el = document.createElement('textarea');</span>
1800
+ <span class="cstat-no" title="statement not covered" ></span>
1801
+ <span class="cstat-no" title="statement not covered" > el.value = value;</span>
1802
+ <span class="cstat-no" title="statement not covered" > document.body.appendChild(el);</span>
1803
+ <span class="cstat-no" title="statement not covered" > el.select();</span>
1804
+ <span class="cstat-no" title="statement not covered" > document.execCommand('copy');</span>
1805
+ <span class="cstat-no" title="statement not covered" > document.body.removeChild(el);</span>
1806
+ <span class="cstat-no" title="statement not covered" >}</span>
1807
+ <span class="cstat-no" title="statement not covered" ></span>
1808
+ <span class="cstat-no" title="statement not covered" >function showTooltip(id) {</span>
1809
+ <span class="cstat-no" title="statement not covered" > var tooltip = document.getElementById(id);</span>
1810
+ <span class="cstat-no" title="statement not covered" ></span>
1811
+ <span class="cstat-no" title="statement not covered" > tooltip.classList.add('show-tooltip');</span>
1812
+ <span class="cstat-no" title="statement not covered" > setTimeout(function () {</span>
1813
+ <span class="cstat-no" title="statement not covered" > tooltip.classList.remove('show-tooltip');</span>
1814
+ <span class="cstat-no" title="statement not covered" > }, 3000);</span>
1815
+ <span class="cstat-no" title="statement not covered" >}</span>
1816
+ <span class="cstat-no" title="statement not covered" ></span>
1817
+ <span class="cstat-no" title="statement not covered" >/* eslint-disable-next-line */</span>
1818
+ <span class="cstat-no" title="statement not covered" >function copyFunction(id) {</span>
1819
+ <span class="cstat-no" title="statement not covered" > // selecting the pre element</span>
1820
+ <span class="cstat-no" title="statement not covered" > var code = document.getElementById(id);</span>
1821
+ <span class="cstat-no" title="statement not covered" ></span>
1822
+ <span class="cstat-no" title="statement not covered" > // selecting the ol.linenums</span>
1823
+ <span class="cstat-no" title="statement not covered" > var element = code.querySelector('.linenums');</span>
1824
+ <span class="cstat-no" title="statement not covered" ></span>
1825
+ <span class="cstat-no" title="statement not covered" > if (!element) {</span>
1826
+ <span class="cstat-no" title="statement not covered" > // selecting the code block</span>
1827
+ <span class="cstat-no" title="statement not covered" > element = code.querySelector('code');</span>
1828
+ <span class="cstat-no" title="statement not covered" > }</span>
1829
+ <span class="cstat-no" title="statement not covered" ></span>
1830
+ <span class="cstat-no" title="statement not covered" > // copy</span>
1831
+ <span class="cstat-no" title="statement not covered" > copy(element.innerText.trim().replace(/(^\t)/gm, ''));</span>
1832
+ <span class="cstat-no" title="statement not covered" ></span>
1833
+ <span class="cstat-no" title="statement not covered" > // show tooltip</span>
1834
+ <span class="cstat-no" title="statement not covered" > showTooltip('tooltip-' + id);</span>
1835
+ <span class="cstat-no" title="statement not covered" >}</span>
1836
+ <span class="cstat-no" title="statement not covered" ></span>
1837
+ <span class="cstat-no" title="statement not covered" >function hideTocOnSourcePage() {</span>
1838
+ <span class="cstat-no" title="statement not covered" > if (isSourcePage()) {</span>
1839
+ <span class="cstat-no" title="statement not covered" > document.querySelector('.toc-container').style.display = 'none';</span>
1840
+ <span class="cstat-no" title="statement not covered" > }</span>
1841
+ <span class="cstat-no" title="statement not covered" >}</span>
1842
+ <span class="cstat-no" title="statement not covered" ></span>
1843
+ <span class="cstat-no" title="statement not covered" >function getPreTopBar(id, lang = '') {</span>
1844
+ <span class="cstat-no" title="statement not covered" > // tooltip</span>
1845
+ <span class="cstat-no" title="statement not covered" > var tooltip = '&lt;div class="tooltip" id="tooltip-' + id + '"&gt;Copied!&lt;/div&gt;';</span>
1846
+ <span class="cstat-no" title="statement not covered" ></span>
1847
+ <span class="cstat-no" title="statement not covered" > // template of copy to clipboard icon container</span>
1848
+ <span class="cstat-no" title="statement not covered" > var copyToClipboard =</span>
1849
+ <span class="cstat-no" title="statement not covered" > '&lt;button aria-label="copy code" class="icon-button copy-code" onclick="copyFunction(\'' +</span>
1850
+ <span class="cstat-no" title="statement not covered" > id +</span>
1851
+ <span class="cstat-no" title="statement not covered" > '\')"&gt;&lt;svg class="sm-icon" alt="click to copy"&gt;&lt;use xlink:href="#copy-icon"&gt;&lt;/use&gt;&lt;/svg&gt;' +</span>
1852
+ <span class="cstat-no" title="statement not covered" > tooltip +</span>
1853
+ <span class="cstat-no" title="statement not covered" > '&lt;/button&gt;';</span>
1854
+ <span class="cstat-no" title="statement not covered" ></span>
1855
+ <span class="cstat-no" title="statement not covered" > var langNameDiv =</span>
1856
+ <span class="cstat-no" title="statement not covered" > '&lt;div class="code-lang-name-container"&gt;&lt;div class="code-lang-name"&gt;' +</span>
1857
+ <span class="cstat-no" title="statement not covered" > lang.toLocaleUpperCase() +</span>
1858
+ <span class="cstat-no" title="statement not covered" > '&lt;/div&gt;&lt;/div&gt;';</span>
1859
+ <span class="cstat-no" title="statement not covered" ></span>
1860
+ <span class="cstat-no" title="statement not covered" > var topBar =</span>
1861
+ <span class="cstat-no" title="statement not covered" > '&lt;div class="pre-top-bar-container"&gt;' +</span>
1862
+ <span class="cstat-no" title="statement not covered" > langNameDiv +</span>
1863
+ <span class="cstat-no" title="statement not covered" > copyToClipboard +</span>
1864
+ <span class="cstat-no" title="statement not covered" > '&lt;/div&gt;';</span>
1865
+ <span class="cstat-no" title="statement not covered" ></span>
1866
+ <span class="cstat-no" title="statement not covered" > return topBar;</span>
1867
+ <span class="cstat-no" title="statement not covered" >}</span>
1868
+ <span class="cstat-no" title="statement not covered" ></span>
1869
+ <span class="cstat-no" title="statement not covered" >function getPreDiv() {</span>
1870
+ <span class="cstat-no" title="statement not covered" > var divElement = document.createElement('div');</span>
1871
+ <span class="cstat-no" title="statement not covered" ></span>
1872
+ <span class="cstat-no" title="statement not covered" > divElement.classList.add('pre-div');</span>
1873
+ <span class="cstat-no" title="statement not covered" ></span>
1874
+ <span class="cstat-no" title="statement not covered" > return divElement;</span>
1875
+ <span class="cstat-no" title="statement not covered" >}</span>
1876
+ <span class="cstat-no" title="statement not covered" ></span>
1877
+ <span class="cstat-no" title="statement not covered" >function processAllPre() {</span>
1878
+ <span class="cstat-no" title="statement not covered" > var targets = document.querySelectorAll('pre');</span>
1879
+ <span class="cstat-no" title="statement not covered" > var footer = document.querySelector('#PeOAagUepe');</span>
1880
+ <span class="cstat-no" title="statement not covered" > var navbar = document.querySelector('#VuAckcnZhf');</span>
1881
+ <span class="cstat-no" title="statement not covered" ></span>
1882
+ <span class="cstat-no" title="statement not covered" > var navbarHeight = 0;</span>
1883
+ <span class="cstat-no" title="statement not covered" > var footerHeight = 0;</span>
1884
+ <span class="cstat-no" title="statement not covered" ></span>
1885
+ <span class="cstat-no" title="statement not covered" > if (footer) {</span>
1886
+ <span class="cstat-no" title="statement not covered" > footerHeight = footer.getBoundingClientRect().height;</span>
1887
+ <span class="cstat-no" title="statement not covered" > }</span>
1888
+ <span class="cstat-no" title="statement not covered" ></span>
1889
+ <span class="cstat-no" title="statement not covered" > if (navbar) {</span>
1890
+ <span class="cstat-no" title="statement not covered" > navbarHeight = navbar.getBoundingClientRect().height;</span>
1891
+ <span class="cstat-no" title="statement not covered" > }</span>
1892
+ <span class="cstat-no" title="statement not covered" ></span>
1893
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
1894
+ <span class="cstat-no" title="statement not covered" > var preMaxHeight = window.innerHeight - navbarHeight - footerHeight - 250;</span>
1895
+ <span class="cstat-no" title="statement not covered" ></span>
1896
+ <span class="cstat-no" title="statement not covered" > targets.forEach(function (pre, idx) {</span>
1897
+ <span class="cstat-no" title="statement not covered" > var parent = pre.parentNode;</span>
1898
+ <span class="cstat-no" title="statement not covered" ></span>
1899
+ <span class="cstat-no" title="statement not covered" > if (parent &amp;&amp; parent.getAttribute('data-skip-pre-process') === 'true') {</span>
1900
+ <span class="cstat-no" title="statement not covered" > return;</span>
1901
+ <span class="cstat-no" title="statement not covered" > }</span>
1902
+ <span class="cstat-no" title="statement not covered" ></span>
1903
+ <span class="cstat-no" title="statement not covered" > var div = getPreDiv();</span>
1904
+ <span class="cstat-no" title="statement not covered" > var id = 'ScDloZOMdL' + idx;</span>
1905
+ <span class="cstat-no" title="statement not covered" ></span>
1906
+ <span class="cstat-no" title="statement not covered" > var lang = pre.getAttribute('data-lang') || 'code';</span>
1907
+ <span class="cstat-no" title="statement not covered" > var topBar = getPreTopBar(id, lang);</span>
1908
+ <span class="cstat-no" title="statement not covered" ></span>
1909
+ <span class="cstat-no" title="statement not covered" > div.innerHTML = topBar;</span>
1910
+ <span class="cstat-no" title="statement not covered" ></span>
1911
+ <span class="cstat-no" title="statement not covered" > pre.style.maxHeight = preMaxHeight + 'px';</span>
1912
+ <span class="cstat-no" title="statement not covered" > pre.id = id;</span>
1913
+ <span class="cstat-no" title="statement not covered" > pre.classList.add('prettyprint');</span>
1914
+ <span class="cstat-no" title="statement not covered" > pre.parentNode.insertBefore(div, pre);</span>
1915
+ <span class="cstat-no" title="statement not covered" > div.appendChild(pre);</span>
1916
+ <span class="cstat-no" title="statement not covered" > });</span>
1917
+ <span class="cstat-no" title="statement not covered" >}</span>
1918
+ <span class="cstat-no" title="statement not covered" ></span>
1919
+ <span class="cstat-no" title="statement not covered" >function highlightAndBringLineIntoView() {</span>
1920
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
1921
+ <span class="cstat-no" title="statement not covered" > var lineNumber = window.location.hash.replace('#line', '');</span>
1922
+ <span class="cstat-no" title="statement not covered" ></span>
1923
+ <span class="cstat-no" title="statement not covered" > try {</span>
1924
+ <span class="cstat-no" title="statement not covered" > var selector = '[data-line-number="' + lineNumber + '"';</span>
1925
+ <span class="cstat-no" title="statement not covered" ></span>
1926
+ <span class="cstat-no" title="statement not covered" > var element = document.querySelector(selector);</span>
1927
+ <span class="cstat-no" title="statement not covered" ></span>
1928
+ <span class="cstat-no" title="statement not covered" > element.scrollIntoView();</span>
1929
+ <span class="cstat-no" title="statement not covered" > element.parentNode.classList.add('selected');</span>
1930
+ <span class="cstat-no" title="statement not covered" > } catch (error) {</span>
1931
+ <span class="cstat-no" title="statement not covered" > console.error(error);</span>
1932
+ <span class="cstat-no" title="statement not covered" > }</span>
1933
+ <span class="cstat-no" title="statement not covered" >}</span>
1934
+ <span class="cstat-no" title="statement not covered" ></span>
1935
+ <span class="cstat-no" title="statement not covered" >function getFontSize() {</span>
1936
+ <span class="cstat-no" title="statement not covered" > var currentFontSize = 16;</span>
1937
+ <span class="cstat-no" title="statement not covered" ></span>
1938
+ <span class="cstat-no" title="statement not covered" > try {</span>
1939
+ <span class="cstat-no" title="statement not covered" > currentFontSize = Number.parseInt(</span>
1940
+ <span class="cstat-no" title="statement not covered" > html.style.fontSize.split('px')[0],</span>
1941
+ <span class="cstat-no" title="statement not covered" > 10</span>
1942
+ <span class="cstat-no" title="statement not covered" > );</span>
1943
+ <span class="cstat-no" title="statement not covered" > } catch (error) {</span>
1944
+ <span class="cstat-no" title="statement not covered" > console.log(error);</span>
1945
+ <span class="cstat-no" title="statement not covered" > }</span>
1946
+ <span class="cstat-no" title="statement not covered" ></span>
1947
+ <span class="cstat-no" title="statement not covered" > return currentFontSize;</span>
1948
+ <span class="cstat-no" title="statement not covered" >}</span>
1949
+ <span class="cstat-no" title="statement not covered" ></span>
1950
+ <span class="cstat-no" title="statement not covered" >function localUpdateFontSize(fontSize) {</span>
1951
+ <span class="cstat-no" title="statement not covered" > html.style.fontSize = fontSize + 'px';</span>
1952
+ <span class="cstat-no" title="statement not covered" ></span>
1953
+ <span class="cstat-no" title="statement not covered" > var fontSizeText = document.querySelector(</span>
1954
+ <span class="cstat-no" title="statement not covered" > '#b77a68a492f343baabea06fad81f651e'</span>
1955
+ <span class="cstat-no" title="statement not covered" > );</span>
1956
+ <span class="cstat-no" title="statement not covered" ></span>
1957
+ <span class="cstat-no" title="statement not covered" > if (fontSizeText) {</span>
1958
+ <span class="cstat-no" title="statement not covered" > fontSizeText.innerHTML = fontSize;</span>
1959
+ <span class="cstat-no" title="statement not covered" > }</span>
1960
+ <span class="cstat-no" title="statement not covered" >}</span>
1961
+ <span class="cstat-no" title="statement not covered" ></span>
1962
+ <span class="cstat-no" title="statement not covered" >function updateFontSize(fontSize) {</span>
1963
+ <span class="cstat-no" title="statement not covered" > localUpdateFontSize(fontSize);</span>
1964
+ <span class="cstat-no" title="statement not covered" > localStorage.setItem(fontSizeLocalStorageKey, fontSize);</span>
1965
+ <span class="cstat-no" title="statement not covered" >}</span>
1966
+ <span class="cstat-no" title="statement not covered" ></span>
1967
+ <span class="cstat-no" title="statement not covered" >(function () {</span>
1968
+ <span class="cstat-no" title="statement not covered" > var fontSize = getFontSize();</span>
1969
+ <span class="cstat-no" title="statement not covered" > var fontSizeInLocalStorage = localStorage.getItem(fontSizeLocalStorageKey);</span>
1970
+ <span class="cstat-no" title="statement not covered" ></span>
1971
+ <span class="cstat-no" title="statement not covered" > if (fontSizeInLocalStorage) {</span>
1972
+ <span class="cstat-no" title="statement not covered" > var n = Number.parseInt(fontSizeInLocalStorage, 10);</span>
1973
+ <span class="cstat-no" title="statement not covered" ></span>
1974
+ <span class="cstat-no" title="statement not covered" > if (n === fontSize) {</span>
1975
+ <span class="cstat-no" title="statement not covered" > return;</span>
1976
+ <span class="cstat-no" title="statement not covered" > }</span>
1977
+ <span class="cstat-no" title="statement not covered" > updateFontSize(n);</span>
1978
+ <span class="cstat-no" title="statement not covered" > } else {</span>
1979
+ <span class="cstat-no" title="statement not covered" > updateFontSize(fontSize);</span>
1980
+ <span class="cstat-no" title="statement not covered" > }</span>
1981
+ <span class="cstat-no" title="statement not covered" >})();</span>
1982
+ <span class="cstat-no" title="statement not covered" ></span>
1983
+ <span class="cstat-no" title="statement not covered" >// eslint-disable-next-line no-unused-vars</span>
1984
+ <span class="cstat-no" title="statement not covered" >function incrementFont(event) {</span>
1985
+ <span class="cstat-no" title="statement not covered" > var n = getFontSize();</span>
1986
+ <span class="cstat-no" title="statement not covered" ></span>
1987
+ <span class="cstat-no" title="statement not covered" > if (n &lt; MAX_FONT_SIZE) {</span>
1988
+ <span class="cstat-no" title="statement not covered" > updateFontSize(n + 1);</span>
1989
+ <span class="cstat-no" title="statement not covered" > }</span>
1990
+ <span class="cstat-no" title="statement not covered" >}</span>
1991
+ <span class="cstat-no" title="statement not covered" ></span>
1992
+ <span class="cstat-no" title="statement not covered" >// eslint-disable-next-line no-unused-vars</span>
1993
+ <span class="cstat-no" title="statement not covered" >function decrementFont(event) {</span>
1994
+ <span class="cstat-no" title="statement not covered" > var n = getFontSize();</span>
1995
+ <span class="cstat-no" title="statement not covered" ></span>
1996
+ <span class="cstat-no" title="statement not covered" > if (n &gt; MIN_FONT_SIZE) {</span>
1997
+ <span class="cstat-no" title="statement not covered" > updateFontSize(n - 1);</span>
1998
+ <span class="cstat-no" title="statement not covered" > }</span>
1999
+ <span class="cstat-no" title="statement not covered" >}</span>
2000
+ <span class="cstat-no" title="statement not covered" ></span>
2001
+ <span class="cstat-no" title="statement not covered" >function fontSizeTooltip() {</span>
2002
+ <span class="cstat-no" title="statement not covered" > var fontSize = getFontSize();</span>
2003
+ <span class="cstat-no" title="statement not covered" ></span>
2004
+ <span class="cstat-no" title="statement not covered" > return `</span>
2005
+ <span class="cstat-no" title="statement not covered" > &lt;div class="font-size-tooltip"&gt;</span>
2006
+ <span class="cstat-no" title="statement not covered" > &lt;button aria-label="decrease-font-size" class="icon-button ${</span>
2007
+ <span class="cstat-no" title="statement not covered" > fontSize &gt;= MAX_FONT_SIZE ? 'disabled' : ''</span>
2008
+ <span class="cstat-no" title="statement not covered" > }" onclick="decrementFont(event)"&gt;</span>
2009
+ <span class="cstat-no" title="statement not covered" > &lt;svg&gt;</span>
2010
+ <span class="cstat-no" title="statement not covered" > &lt;use xlink:href="#minus-icon"&gt;&lt;/use&gt;</span>
2011
+ <span class="cstat-no" title="statement not covered" > &lt;/svg&gt;</span>
2012
+ <span class="cstat-no" title="statement not covered" > &lt;/button&gt;</span>
2013
+ <span class="cstat-no" title="statement not covered" > &lt;div class="font-size-text" id="b77a68a492f343baabea06fad81f651e"&gt;</span>
2014
+ <span class="cstat-no" title="statement not covered" > ${fontSize}</span>
2015
+ <span class="cstat-no" title="statement not covered" > &lt;/div&gt;</span>
2016
+ <span class="cstat-no" title="statement not covered" > &lt;button aria-label="increase-font-size" class="icon-button ${</span>
2017
+ <span class="cstat-no" title="statement not covered" > fontSize &lt;= MIN_FONT_SIZE ? 'disabled' : ''</span>
2018
+ <span class="cstat-no" title="statement not covered" > }" onclick="incrementFont(event)"&gt;</span>
2019
+ <span class="cstat-no" title="statement not covered" > &lt;svg&gt;</span>
2020
+ <span class="cstat-no" title="statement not covered" > &lt;use xlink:href="#add-icon"&gt;&lt;/use&gt;</span>
2021
+ <span class="cstat-no" title="statement not covered" > &lt;/svg&gt;</span>
2022
+ <span class="cstat-no" title="statement not covered" > &lt;/button&gt;</span>
2023
+ <span class="cstat-no" title="statement not covered" > &lt;button class="icon-button" onclick="updateFontSize(16)"&gt;</span>
2024
+ <span class="cstat-no" title="statement not covered" > &lt;svg&gt;</span>
2025
+ <span class="cstat-no" title="statement not covered" > &lt;use xlink:href="#reset-icon"&gt;&lt;/use&gt;</span>
2026
+ <span class="cstat-no" title="statement not covered" > &lt;/svg&gt;</span>
2027
+ <span class="cstat-no" title="statement not covered" > &lt;/button&gt;</span>
2028
+ <span class="cstat-no" title="statement not covered" > &lt;/div&gt;</span>
2029
+ <span class="cstat-no" title="statement not covered" ></span>
2030
+ <span class="cstat-no" title="statement not covered" > `;</span>
2031
+ <span class="cstat-no" title="statement not covered" >}</span>
2032
+ <span class="cstat-no" title="statement not covered" ></span>
2033
+ <span class="cstat-no" title="statement not covered" >function initTooltip() {</span>
2034
+ <span class="cstat-no" title="statement not covered" > // add tooltip to navbar item</span>
2035
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
2036
+ <span class="cstat-no" title="statement not covered" > tippy('.theme-toggle', {</span>
2037
+ <span class="cstat-no" title="statement not covered" > content: 'Toggle Theme',</span>
2038
+ <span class="cstat-no" title="statement not covered" > delay: 500,</span>
2039
+ <span class="cstat-no" title="statement not covered" > });</span>
2040
+ <span class="cstat-no" title="statement not covered" ></span>
2041
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
2042
+ <span class="cstat-no" title="statement not covered" > tippy('.search-button', {</span>
2043
+ <span class="cstat-no" title="statement not covered" > content: 'Search',</span>
2044
+ <span class="cstat-no" title="statement not covered" > delay: 500,</span>
2045
+ <span class="cstat-no" title="statement not covered" > });</span>
2046
+ <span class="cstat-no" title="statement not covered" ></span>
2047
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
2048
+ <span class="cstat-no" title="statement not covered" > tippy('.font-size', {</span>
2049
+ <span class="cstat-no" title="statement not covered" > content: 'Change font size',</span>
2050
+ <span class="cstat-no" title="statement not covered" > delay: 500,</span>
2051
+ <span class="cstat-no" title="statement not covered" > });</span>
2052
+ <span class="cstat-no" title="statement not covered" ></span>
2053
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
2054
+ <span class="cstat-no" title="statement not covered" > tippy('.codepen-button', {</span>
2055
+ <span class="cstat-no" title="statement not covered" > content: 'Open code in CodePen',</span>
2056
+ <span class="cstat-no" title="statement not covered" > placement: 'left',</span>
2057
+ <span class="cstat-no" title="statement not covered" > });</span>
2058
+ <span class="cstat-no" title="statement not covered" ></span>
2059
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
2060
+ <span class="cstat-no" title="statement not covered" > tippy('.copy-code', {</span>
2061
+ <span class="cstat-no" title="statement not covered" > content: 'Copy this code',</span>
2062
+ <span class="cstat-no" title="statement not covered" > placement: 'left',</span>
2063
+ <span class="cstat-no" title="statement not covered" > });</span>
2064
+ <span class="cstat-no" title="statement not covered" ></span>
2065
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
2066
+ <span class="cstat-no" title="statement not covered" > tippy('.font-size', {</span>
2067
+ <span class="cstat-no" title="statement not covered" > content: fontSizeTooltip(),</span>
2068
+ <span class="cstat-no" title="statement not covered" > trigger: 'click',</span>
2069
+ <span class="cstat-no" title="statement not covered" > interactive: true,</span>
2070
+ <span class="cstat-no" title="statement not covered" > allowHTML: true,</span>
2071
+ <span class="cstat-no" title="statement not covered" > placement: 'left',</span>
2072
+ <span class="cstat-no" title="statement not covered" > });</span>
2073
+ <span class="cstat-no" title="statement not covered" >}</span>
2074
+ <span class="cstat-no" title="statement not covered" ></span>
2075
+ <span class="cstat-no" title="statement not covered" >function fixTable() {</span>
2076
+ <span class="cstat-no" title="statement not covered" > const tables = document.querySelectorAll('table');</span>
2077
+ <span class="cstat-no" title="statement not covered" ></span>
2078
+ <span class="cstat-no" title="statement not covered" > for (const table of tables) {</span>
2079
+ <span class="cstat-no" title="statement not covered" > if (table.classList.contains('hljs-ln')) {</span>
2080
+ <span class="cstat-no" title="statement not covered" > // don't want to wrap code blocks.</span>
2081
+ <span class="cstat-no" title="statement not covered" > return;</span>
2082
+ <span class="cstat-no" title="statement not covered" > }</span>
2083
+ <span class="cstat-no" title="statement not covered" ></span>
2084
+ <span class="cstat-no" title="statement not covered" > var div = document.createElement('div');</span>
2085
+ <span class="cstat-no" title="statement not covered" ></span>
2086
+ <span class="cstat-no" title="statement not covered" > div.classList.add('table-div');</span>
2087
+ <span class="cstat-no" title="statement not covered" > table.parentNode.insertBefore(div, table);</span>
2088
+ <span class="cstat-no" title="statement not covered" > div.appendChild(table);</span>
2089
+ <span class="cstat-no" title="statement not covered" > }</span>
2090
+ <span class="cstat-no" title="statement not covered" >}</span>
2091
+ <span class="cstat-no" title="statement not covered" ></span>
2092
+ <span class="cstat-no" title="statement not covered" >function hideMobileMenu() {</span>
2093
+ <span class="cstat-no" title="statement not covered" > var mobileMenuContainer = document.querySelector('#mobile-sidebar');</span>
2094
+ <span class="cstat-no" title="statement not covered" > var target = document.querySelector('#mobile-menu');</span>
2095
+ <span class="cstat-no" title="statement not covered" > var svgUse = target.querySelector('use');</span>
2096
+ <span class="cstat-no" title="statement not covered" ></span>
2097
+ <span class="cstat-no" title="statement not covered" > if (mobileMenuContainer) {</span>
2098
+ <span class="cstat-no" title="statement not covered" > mobileMenuContainer.classList.remove('show');</span>
2099
+ <span class="cstat-no" title="statement not covered" > }</span>
2100
+ <span class="cstat-no" title="statement not covered" > if (target) {</span>
2101
+ <span class="cstat-no" title="statement not covered" > target.setAttribute('data-isopen', 'false');</span>
2102
+ <span class="cstat-no" title="statement not covered" > }</span>
2103
+ <span class="cstat-no" title="statement not covered" > if (svgUse) {</span>
2104
+ <span class="cstat-no" title="statement not covered" > svgUse.setAttribute('xlink:href', '#menu-icon');</span>
2105
+ <span class="cstat-no" title="statement not covered" > }</span>
2106
+ <span class="cstat-no" title="statement not covered" >}</span>
2107
+ <span class="cstat-no" title="statement not covered" ></span>
2108
+ <span class="cstat-no" title="statement not covered" >function showMobileMenu() {</span>
2109
+ <span class="cstat-no" title="statement not covered" > var mobileMenuContainer = document.querySelector('#mobile-sidebar');</span>
2110
+ <span class="cstat-no" title="statement not covered" > var target = document.querySelector('#mobile-menu');</span>
2111
+ <span class="cstat-no" title="statement not covered" > var svgUse = target.querySelector('use');</span>
2112
+ <span class="cstat-no" title="statement not covered" ></span>
2113
+ <span class="cstat-no" title="statement not covered" > if (mobileMenuContainer) {</span>
2114
+ <span class="cstat-no" title="statement not covered" > mobileMenuContainer.classList.add('show');</span>
2115
+ <span class="cstat-no" title="statement not covered" > }</span>
2116
+ <span class="cstat-no" title="statement not covered" > if (target) {</span>
2117
+ <span class="cstat-no" title="statement not covered" > target.setAttribute('data-isopen', 'true');</span>
2118
+ <span class="cstat-no" title="statement not covered" > }</span>
2119
+ <span class="cstat-no" title="statement not covered" > if (svgUse) {</span>
2120
+ <span class="cstat-no" title="statement not covered" > svgUse.setAttribute('xlink:href', '#close-icon');</span>
2121
+ <span class="cstat-no" title="statement not covered" > }</span>
2122
+ <span class="cstat-no" title="statement not covered" >}</span>
2123
+ <span class="cstat-no" title="statement not covered" ></span>
2124
+ <span class="cstat-no" title="statement not covered" >function onMobileMenuClick() {</span>
2125
+ <span class="cstat-no" title="statement not covered" > var target = document.querySelector('#mobile-menu');</span>
2126
+ <span class="cstat-no" title="statement not covered" > var isOpen = target.getAttribute('data-isopen') === 'true';</span>
2127
+ <span class="cstat-no" title="statement not covered" ></span>
2128
+ <span class="cstat-no" title="statement not covered" > if (isOpen) {</span>
2129
+ <span class="cstat-no" title="statement not covered" > hideMobileMenu();</span>
2130
+ <span class="cstat-no" title="statement not covered" > } else {</span>
2131
+ <span class="cstat-no" title="statement not covered" > showMobileMenu();</span>
2132
+ <span class="cstat-no" title="statement not covered" > }</span>
2133
+ <span class="cstat-no" title="statement not covered" >}</span>
2134
+ <span class="cstat-no" title="statement not covered" ></span>
2135
+ <span class="cstat-no" title="statement not covered" >function initMobileMenu() {</span>
2136
+ <span class="cstat-no" title="statement not covered" > var menu = document.querySelector('#mobile-menu');</span>
2137
+ <span class="cstat-no" title="statement not covered" ></span>
2138
+ <span class="cstat-no" title="statement not covered" > if (menu) {</span>
2139
+ <span class="cstat-no" title="statement not covered" > menu.addEventListener('click', onMobileMenuClick);</span>
2140
+ <span class="cstat-no" title="statement not covered" > }</span>
2141
+ <span class="cstat-no" title="statement not covered" >}</span>
2142
+ <span class="cstat-no" title="statement not covered" ></span>
2143
+ <span class="cstat-no" title="statement not covered" >function addHrefToSidebarTitle() {</span>
2144
+ <span class="cstat-no" title="statement not covered" > var titles = document.querySelectorAll('.sidebar-title-anchor');</span>
2145
+ <span class="cstat-no" title="statement not covered" ></span>
2146
+ <span class="cstat-no" title="statement not covered" > titles.forEach(function (title) {</span>
2147
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
2148
+ <span class="cstat-no" title="statement not covered" > title.setAttribute('href', baseURL);</span>
2149
+ <span class="cstat-no" title="statement not covered" > });</span>
2150
+ <span class="cstat-no" title="statement not covered" >}</span>
2151
+ <span class="cstat-no" title="statement not covered" ></span>
2152
+ <span class="cstat-no" title="statement not covered" >function highlightActiveLinkInSidebar() {</span>
2153
+ <span class="cstat-no" title="statement not covered" > const list = document.location.href.split('/');</span>
2154
+ <span class="cstat-no" title="statement not covered" > const targetURL = decodeURI(list[list.length - 1]);</span>
2155
+ <span class="cstat-no" title="statement not covered" > let element = document.querySelector(`.sidebar a[href*='${targetURL}']`);</span>
2156
+ <span class="cstat-no" title="statement not covered" ></span>
2157
+ <span class="cstat-no" title="statement not covered" > if (!element) {</span>
2158
+ <span class="cstat-no" title="statement not covered" > try {</span>
2159
+ <span class="cstat-no" title="statement not covered" > element = document.querySelector(</span>
2160
+ <span class="cstat-no" title="statement not covered" > `.sidebar a[href*='${targetURL.split('#')[0]}']`</span>
2161
+ <span class="cstat-no" title="statement not covered" > );</span>
2162
+ <span class="cstat-no" title="statement not covered" > } catch (e) {</span>
2163
+ <span class="cstat-no" title="statement not covered" > console.error(e);</span>
2164
+ <span class="cstat-no" title="statement not covered" ></span>
2165
+ <span class="cstat-no" title="statement not covered" > return;</span>
2166
+ <span class="cstat-no" title="statement not covered" > }</span>
2167
+ <span class="cstat-no" title="statement not covered" > }</span>
2168
+ <span class="cstat-no" title="statement not covered" ></span>
2169
+ <span class="cstat-no" title="statement not covered" > if (!element) return;</span>
2170
+ <span class="cstat-no" title="statement not covered" ></span>
2171
+ <span class="cstat-no" title="statement not covered" > element.parentElement.classList.add('active');</span>
2172
+ <span class="cstat-no" title="statement not covered" > element.scrollIntoView();</span>
2173
+ <span class="cstat-no" title="statement not covered" >}</span>
2174
+ <span class="cstat-no" title="statement not covered" ></span>
2175
+ <span class="cstat-no" title="statement not covered" >function onDomContentLoaded() {</span>
2176
+ <span class="cstat-no" title="statement not covered" > var themeButton = document.querySelectorAll('.theme-toggle');</span>
2177
+ <span class="cstat-no" title="statement not covered" ></span>
2178
+ <span class="cstat-no" title="statement not covered" > initMobileMenu();</span>
2179
+ <span class="cstat-no" title="statement not covered" ></span>
2180
+ <span class="cstat-no" title="statement not covered" > if (themeButton) {</span>
2181
+ <span class="cstat-no" title="statement not covered" > themeButton.forEach(function (button) {</span>
2182
+ <span class="cstat-no" title="statement not covered" > button.addEventListener('click', toggleTheme);</span>
2183
+ <span class="cstat-no" title="statement not covered" > });</span>
2184
+ <span class="cstat-no" title="statement not covered" > }</span>
2185
+ <span class="cstat-no" title="statement not covered" ></span>
2186
+ <span class="cstat-no" title="statement not covered" > // Highlighting code</span>
2187
+ <span class="cstat-no" title="statement not covered" ></span>
2188
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
2189
+ <span class="cstat-no" title="statement not covered" > hljs.addPlugin({</span>
2190
+ <span class="cstat-no" title="statement not covered" > 'after:highlightElement': function (obj) {</span>
2191
+ <span class="cstat-no" title="statement not covered" > // Replace 'code' with result.language when</span>
2192
+ <span class="cstat-no" title="statement not covered" > // we are able to cross-check the correctness of</span>
2193
+ <span class="cstat-no" title="statement not covered" > // result.</span>
2194
+ <span class="cstat-no" title="statement not covered" > obj.el.parentNode.setAttribute('data-lang', 'code');</span>
2195
+ <span class="cstat-no" title="statement not covered" > },</span>
2196
+ <span class="cstat-no" title="statement not covered" > });</span>
2197
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
2198
+ <span class="cstat-no" title="statement not covered" > hljs.highlightAll();</span>
2199
+ <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line no-undef</span>
2200
+ <span class="cstat-no" title="statement not covered" > hljs.initLineNumbersOnLoad({</span>
2201
+ <span class="cstat-no" title="statement not covered" > singleLine: true,</span>
2202
+ <span class="cstat-no" title="statement not covered" > });</span>
2203
+ <span class="cstat-no" title="statement not covered" ></span>
2204
+ <span class="cstat-no" title="statement not covered" > // Highlight complete</span>
2205
+ <span class="cstat-no" title="statement not covered" ></span>
2206
+ <span class="cstat-no" title="statement not covered" > initAccordion();</span>
2207
+ <span class="cstat-no" title="statement not covered" > addAnchor();</span>
2208
+ <span class="cstat-no" title="statement not covered" > processAllPre();</span>
2209
+ <span class="cstat-no" title="statement not covered" > hideTocOnSourcePage();</span>
2210
+ <span class="cstat-no" title="statement not covered" > setTimeout(function () {</span>
2211
+ <span class="cstat-no" title="statement not covered" > bringIdToViewOnMount();</span>
2212
+ <span class="cstat-no" title="statement not covered" > if (isSourcePage()) {</span>
2213
+ <span class="cstat-no" title="statement not covered" > highlightAndBringLineIntoView();</span>
2214
+ <span class="cstat-no" title="statement not covered" > }</span>
2215
+ <span class="cstat-no" title="statement not covered" > }, 1000);</span>
2216
+ <span class="cstat-no" title="statement not covered" > initTooltip();</span>
2217
+ <span class="cstat-no" title="statement not covered" > fixTable();</span>
2218
+ <span class="cstat-no" title="statement not covered" > addHrefToSidebarTitle();</span>
2219
+ <span class="cstat-no" title="statement not covered" > highlightActiveLinkInSidebar();</span>
2220
+ <span class="cstat-no" title="statement not covered" >}</span>
2221
+ <span class="cstat-no" title="statement not covered" ></span>
2222
+ <span class="cstat-no" title="statement not covered" >// eslint-disable-next-line no-undef</span>
2223
+ <span class="cstat-no" title="statement not covered" >window.addEventListener('DOMContentLoaded', onDomContentLoaded);</span>
2224
+ <span class="cstat-no" title="statement not covered" ></span>
2225
+ <span class="cstat-no" title="statement not covered" >// eslint-disable-next-line no-undef</span>
2226
+ <span class="cstat-no" title="statement not covered" >window.addEventListener('hashchange', (event) =&gt; {</span>
2227
+ <span class="cstat-no" title="statement not covered" > const url = new URL(event.newURL);</span>
2228
+ <span class="cstat-no" title="statement not covered" ></span>
2229
+ <span class="cstat-no" title="statement not covered" > if (url.hash !== '') {</span>
2230
+ <span class="cstat-no" title="statement not covered" > bringIdToViewOnMount(url.hash);</span>
2231
+ <span class="cstat-no" title="statement not covered" > }</span>
2232
+ <span class="cstat-no" title="statement not covered" >});</span>
2233
+ <span class="cstat-no" title="statement not covered" ></span>
2234
+ <span class="cstat-no" title="statement not covered" >// eslint-disable-next-line no-undef</span>
2235
+ <span class="cstat-no" title="statement not covered" >window.addEventListener('storage', (event) =&gt; {</span>
2236
+ <span class="cstat-no" title="statement not covered" > if (event.newValue === 'undefined') return;</span>
2237
+ <span class="cstat-no" title="statement not covered" ></span>
2238
+ <span class="cstat-no" title="statement not covered" > initTooltip();</span>
2239
+ <span class="cstat-no" title="statement not covered" ></span>
2240
+ <span class="cstat-no" title="statement not covered" > if (event.key === themeLocalStorageKey) localUpdateTheme(event.newValue);</span>
2241
+ <span class="cstat-no" title="statement not covered" > if (event.key === fontSizeLocalStorageKey)</span>
2242
+ <span class="cstat-no" title="statement not covered" > localUpdateFontSize(event.newValue);</span>
2243
+ <span class="cstat-no" title="statement not covered" >});</span>
2244
+ &nbsp;</pre></td></tr></table></pre>
2245
+
2246
+ <div class='push'></div><!-- for sticky footer -->
2247
+ </div><!-- /wrapper -->
2248
+ <div class='footer quiet pad2 space-top1 center small'>
2249
+ Code coverage generated by
2250
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2251
+ at 2025-06-23T19:41:12.391Z
2252
+ </div>
2253
+ <script src="../../../prettify.js"></script>
2254
+ <script>
2255
+ window.onload = function () {
2256
+ prettyPrint();
2257
+ };
2258
+ </script>
2259
+ <script src="../../../sorter.js"></script>
2260
+ <script src="../../../block-navigation.js"></script>
2261
+ </body>
2262
+ </html>
2263
+