@finnair/v-validation-luxon 11.0.0 → 12.0.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.
@@ -0,0 +1,1564 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for luxon.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="prettify.css" />
9
+ <link rel="stylesheet" href="base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="index.html">All files</a> luxon.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>400/400</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>99/99</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>83/83</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>400/400</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 high'></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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
560
+ <span class="cline-any cline-neutral">&nbsp;</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
562
+ <span class="cline-any cline-neutral">&nbsp;</span>
563
+ <span class="cline-any cline-yes">1x</span>
564
+ <span class="cline-any cline-yes">202x</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-yes">202x</span>
567
+ <span class="cline-any cline-yes">202x</span>
568
+ <span class="cline-any cline-yes">2x</span>
569
+ <span class="cline-any cline-yes">202x</span>
570
+ <span class="cline-any cline-yes">3x</span>
571
+ <span class="cline-any cline-yes">200x</span>
572
+ <span class="cline-any cline-yes">194x</span>
573
+ <span class="cline-any cline-yes">5x</span>
574
+ <span class="cline-any cline-yes">5x</span>
575
+ <span class="cline-any cline-yes">189x</span>
576
+ <span class="cline-any cline-yes">197x</span>
577
+ <span class="cline-any cline-yes">3x</span>
578
+ <span class="cline-any cline-yes">3x</span>
579
+ <span class="cline-any cline-yes">192x</span>
580
+ <span class="cline-any cline-yes">202x</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-yes">202x</span>
585
+ <span class="cline-any cline-yes">2x</span>
586
+ <span class="cline-any cline-yes">2x</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-yes">202x</span>
589
+ <span class="cline-any cline-yes">17x</span>
590
+ <span class="cline-any cline-yes">17x</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-yes">202x</span>
593
+ <span class="cline-any cline-yes">2x</span>
594
+ <span class="cline-any cline-yes">1x</span>
595
+ <span class="cline-any cline-yes">1x</span>
596
+ <span class="cline-any cline-yes">1x</span>
597
+ <span class="cline-any cline-yes">2x</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-yes">202x</span>
600
+ <span class="cline-any cline-yes">2x</span>
601
+ <span class="cline-any cline-yes">1x</span>
602
+ <span class="cline-any cline-yes">1x</span>
603
+ <span class="cline-any cline-yes">1x</span>
604
+ <span class="cline-any cline-yes">2x</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-yes">202x</span>
607
+ <span class="cline-any cline-yes">7x</span>
608
+ <span class="cline-any cline-yes">7x</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-yes">202x</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-yes">1x</span>
616
+ <span class="cline-any cline-yes">1x</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
618
+ <span class="cline-any cline-yes">1x</span>
619
+ <span class="cline-any cline-yes">28x</span>
620
+ <span class="cline-any cline-yes">28x</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-yes">1x</span>
623
+ <span class="cline-any cline-yes">2x</span>
624
+ <span class="cline-any cline-yes">2x</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-yes">1x</span>
627
+ <span class="cline-any cline-yes">2x</span>
628
+ <span class="cline-any cline-yes">2x</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-yes">1x</span>
631
+ <span class="cline-any cline-yes">1x</span>
632
+ <span class="cline-any cline-yes">1x</span>
633
+ <span class="cline-any cline-yes">1x</span>
634
+ <span class="cline-any cline-yes">1x</span>
635
+ <span class="cline-any cline-yes">1x</span>
636
+ <span class="cline-any cline-yes">1x</span>
637
+ <span class="cline-any cline-yes">1x</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-yes">1x</span>
640
+ <span class="cline-any cline-yes">1x</span>
641
+ <span class="cline-any cline-yes">1x</span>
642
+ <span class="cline-any cline-yes">1x</span>
643
+ <span class="cline-any cline-yes">1x</span>
644
+ <span class="cline-any cline-yes">1x</span>
645
+ <span class="cline-any cline-yes">1x</span>
646
+ <span class="cline-any cline-yes">1x</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-yes">1x</span>
649
+ <span class="cline-any cline-yes">1x</span>
650
+ <span class="cline-any cline-yes">1x</span>
651
+ <span class="cline-any cline-yes">1x</span>
652
+ <span class="cline-any cline-yes">1x</span>
653
+ <span class="cline-any cline-yes">1x</span>
654
+ <span class="cline-any cline-yes">1x</span>
655
+ <span class="cline-any cline-yes">1x</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-yes">1x</span>
658
+ <span class="cline-any cline-yes">1x</span>
659
+ <span class="cline-any cline-yes">1x</span>
660
+ <span class="cline-any cline-yes">1x</span>
661
+ <span class="cline-any cline-yes">1x</span>
662
+ <span class="cline-any cline-yes">1x</span>
663
+ <span class="cline-any cline-yes">1x</span>
664
+ <span class="cline-any cline-yes">1x</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-yes">1x</span>
667
+ <span class="cline-any cline-yes">28x</span>
668
+ <span class="cline-any cline-yes">28x</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-yes">1x</span>
671
+ <span class="cline-any cline-yes">1x</span>
672
+ <span class="cline-any cline-yes">1x</span>
673
+ <span class="cline-any cline-neutral">&nbsp;</span>
674
+ <span class="cline-any cline-yes">1x</span>
675
+ <span class="cline-any cline-yes">11x</span>
676
+ <span class="cline-any cline-yes">11x</span>
677
+ <span class="cline-any cline-yes">1x</span>
678
+ <span class="cline-any cline-neutral">&nbsp;</span>
679
+ <span class="cline-any cline-yes">1x</span>
680
+ <span class="cline-any cline-yes">1x</span>
681
+ <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-yes">1x</span>
683
+ <span class="cline-any cline-yes">21x</span>
684
+ <span class="cline-any cline-yes">21x</span>
685
+ <span class="cline-any cline-neutral">&nbsp;</span>
686
+ <span class="cline-any cline-yes">1x</span>
687
+ <span class="cline-any cline-yes">1x</span>
688
+ <span class="cline-any cline-yes">1x</span>
689
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-yes">1x</span>
691
+ <span class="cline-any cline-yes">1x</span>
692
+ <span class="cline-any cline-yes">1x</span>
693
+ <span class="cline-any cline-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-yes">1x</span>
695
+ <span class="cline-any cline-yes">1x</span>
696
+ <span class="cline-any cline-yes">1x</span>
697
+ <span class="cline-any cline-yes">1x</span>
698
+ <span class="cline-any cline-yes">1x</span>
699
+ <span class="cline-any cline-yes">1x</span>
700
+ <span class="cline-any cline-yes">1x</span>
701
+ <span class="cline-any cline-yes">1x</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-yes">1x</span>
704
+ <span class="cline-any cline-yes">1x</span>
705
+ <span class="cline-any cline-yes">1x</span>
706
+ <span class="cline-any cline-yes">1x</span>
707
+ <span class="cline-any cline-yes">1x</span>
708
+ <span class="cline-any cline-yes">1x</span>
709
+ <span class="cline-any cline-yes">1x</span>
710
+ <span class="cline-any cline-yes">1x</span>
711
+ <span class="cline-any cline-neutral">&nbsp;</span>
712
+ <span class="cline-any cline-yes">1x</span>
713
+ <span class="cline-any cline-yes">1x</span>
714
+ <span class="cline-any cline-yes">1x</span>
715
+ <span class="cline-any cline-yes">1x</span>
716
+ <span class="cline-any cline-yes">1x</span>
717
+ <span class="cline-any cline-yes">1x</span>
718
+ <span class="cline-any cline-yes">1x</span>
719
+ <span class="cline-any cline-yes">1x</span>
720
+ <span class="cline-any cline-neutral">&nbsp;</span>
721
+ <span class="cline-any cline-yes">1x</span>
722
+ <span class="cline-any cline-yes">1x</span>
723
+ <span class="cline-any cline-yes">1x</span>
724
+ <span class="cline-any cline-yes">1x</span>
725
+ <span class="cline-any cline-yes">1x</span>
726
+ <span class="cline-any cline-yes">1x</span>
727
+ <span class="cline-any cline-yes">1x</span>
728
+ <span class="cline-any cline-yes">1x</span>
729
+ <span class="cline-any cline-neutral">&nbsp;</span>
730
+ <span class="cline-any cline-yes">1x</span>
731
+ <span class="cline-any cline-yes">21x</span>
732
+ <span class="cline-any cline-yes">21x</span>
733
+ <span class="cline-any cline-neutral">&nbsp;</span>
734
+ <span class="cline-any cline-yes">1x</span>
735
+ <span class="cline-any cline-yes">1x</span>
736
+ <span class="cline-any cline-yes">1x</span>
737
+ <span class="cline-any cline-neutral">&nbsp;</span>
738
+ <span class="cline-any cline-yes">1x</span>
739
+ <span class="cline-any cline-yes">8x</span>
740
+ <span class="cline-any cline-yes">8x</span>
741
+ <span class="cline-any cline-yes">1x</span>
742
+ <span class="cline-any cline-neutral">&nbsp;</span>
743
+ <span class="cline-any cline-yes">1x</span>
744
+ <span class="cline-any cline-yes">1x</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</span>
746
+ <span class="cline-any cline-yes">1x</span>
747
+ <span class="cline-any cline-yes">22x</span>
748
+ <span class="cline-any cline-yes">22x</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
750
+ <span class="cline-any cline-yes">1x</span>
751
+ <span class="cline-any cline-yes">1x</span>
752
+ <span class="cline-any cline-yes">1x</span>
753
+ <span class="cline-any cline-neutral">&nbsp;</span>
754
+ <span class="cline-any cline-yes">1x</span>
755
+ <span class="cline-any cline-yes">1x</span>
756
+ <span class="cline-any cline-yes">1x</span>
757
+ <span class="cline-any cline-neutral">&nbsp;</span>
758
+ <span class="cline-any cline-yes">1x</span>
759
+ <span class="cline-any cline-yes">1x</span>
760
+ <span class="cline-any cline-yes">1x</span>
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
762
+ <span class="cline-any cline-yes">1x</span>
763
+ <span class="cline-any cline-yes">2x</span>
764
+ <span class="cline-any cline-yes">2x</span>
765
+ <span class="cline-any cline-yes">2x</span>
766
+ <span class="cline-any cline-yes">2x</span>
767
+ <span class="cline-any cline-yes">2x</span>
768
+ <span class="cline-any cline-yes">2x</span>
769
+ <span class="cline-any cline-yes">2x</span>
770
+ <span class="cline-any cline-neutral">&nbsp;</span>
771
+ <span class="cline-any cline-yes">1x</span>
772
+ <span class="cline-any cline-yes">1x</span>
773
+ <span class="cline-any cline-yes">1x</span>
774
+ <span class="cline-any cline-yes">1x</span>
775
+ <span class="cline-any cline-yes">1x</span>
776
+ <span class="cline-any cline-yes">1x</span>
777
+ <span class="cline-any cline-yes">1x</span>
778
+ <span class="cline-any cline-yes">1x</span>
779
+ <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-yes">1x</span>
781
+ <span class="cline-any cline-yes">1x</span>
782
+ <span class="cline-any cline-yes">1x</span>
783
+ <span class="cline-any cline-yes">1x</span>
784
+ <span class="cline-any cline-yes">1x</span>
785
+ <span class="cline-any cline-yes">1x</span>
786
+ <span class="cline-any cline-yes">1x</span>
787
+ <span class="cline-any cline-yes">1x</span>
788
+ <span class="cline-any cline-neutral">&nbsp;</span>
789
+ <span class="cline-any cline-yes">1x</span>
790
+ <span class="cline-any cline-yes">1x</span>
791
+ <span class="cline-any cline-yes">1x</span>
792
+ <span class="cline-any cline-yes">1x</span>
793
+ <span class="cline-any cline-yes">1x</span>
794
+ <span class="cline-any cline-yes">1x</span>
795
+ <span class="cline-any cline-yes">1x</span>
796
+ <span class="cline-any cline-yes">1x</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-yes">1x</span>
799
+ <span class="cline-any cline-yes">21x</span>
800
+ <span class="cline-any cline-yes">21x</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-yes">1x</span>
803
+ <span class="cline-any cline-yes">1x</span>
804
+ <span class="cline-any cline-yes">1x</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-yes">1x</span>
807
+ <span class="cline-any cline-yes">6x</span>
808
+ <span class="cline-any cline-yes">6x</span>
809
+ <span class="cline-any cline-yes">1x</span>
810
+ <span class="cline-any cline-neutral">&nbsp;</span>
811
+ <span class="cline-any cline-yes">1x</span>
812
+ <span class="cline-any cline-yes">1x</span>
813
+ <span class="cline-any cline-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-yes">1x</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-yes">1x</span>
817
+ <span class="cline-any cline-yes">37x</span>
818
+ <span class="cline-any cline-yes">37x</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-yes">1x</span>
821
+ <span class="cline-any cline-yes">1x</span>
822
+ <span class="cline-any cline-yes">1x</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-yes">1x</span>
825
+ <span class="cline-any cline-yes">1x</span>
826
+ <span class="cline-any cline-yes">1x</span>
827
+ <span class="cline-any cline-neutral">&nbsp;</span>
828
+ <span class="cline-any cline-yes">1x</span>
829
+ <span class="cline-any cline-yes">2x</span>
830
+ <span class="cline-any cline-yes">2x</span>
831
+ <span class="cline-any cline-yes">2x</span>
832
+ <span class="cline-any cline-yes">2x</span>
833
+ <span class="cline-any cline-yes">2x</span>
834
+ <span class="cline-any cline-yes">2x</span>
835
+ <span class="cline-any cline-yes">2x</span>
836
+ <span class="cline-any cline-neutral">&nbsp;</span>
837
+ <span class="cline-any cline-yes">1x</span>
838
+ <span class="cline-any cline-yes">1x</span>
839
+ <span class="cline-any cline-yes">1x</span>
840
+ <span class="cline-any cline-yes">1x</span>
841
+ <span class="cline-any cline-yes">1x</span>
842
+ <span class="cline-any cline-yes">1x</span>
843
+ <span class="cline-any cline-yes">1x</span>
844
+ <span class="cline-any cline-yes">1x</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
846
+ <span class="cline-any cline-yes">1x</span>
847
+ <span class="cline-any cline-yes">1x</span>
848
+ <span class="cline-any cline-yes">1x</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-yes">1x</span>
851
+ <span class="cline-any cline-yes">1x</span>
852
+ <span class="cline-any cline-yes">1x</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-yes">1x</span>
855
+ <span class="cline-any cline-yes">31x</span>
856
+ <span class="cline-any cline-yes">31x</span>
857
+ <span class="cline-any cline-neutral">&nbsp;</span>
858
+ <span class="cline-any cline-yes">1x</span>
859
+ <span class="cline-any cline-yes">1x</span>
860
+ <span class="cline-any cline-yes">1x</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-yes">1x</span>
863
+ <span class="cline-any cline-yes">14x</span>
864
+ <span class="cline-any cline-yes">5x</span>
865
+ <span class="cline-any cline-yes">5x</span>
866
+ <span class="cline-any cline-yes">9x</span>
867
+ <span class="cline-any cline-yes">14x</span>
868
+ <span class="cline-any cline-yes">1x</span>
869
+ <span class="cline-any cline-neutral">&nbsp;</span>
870
+ <span class="cline-any cline-yes">1x</span>
871
+ <span class="cline-any cline-yes">1x</span>
872
+ <span class="cline-any cline-yes">35x</span>
873
+ <span class="cline-any cline-yes">35x</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-yes">1x</span>
876
+ <span class="cline-any cline-yes">1x</span>
877
+ <span class="cline-any cline-yes">1x</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-yes">1x</span>
880
+ <span class="cline-any cline-yes">2x</span>
881
+ <span class="cline-any cline-yes">2x</span>
882
+ <span class="cline-any cline-neutral">&nbsp;</span>
883
+ <span class="cline-any cline-yes">1x</span>
884
+ <span class="cline-any cline-yes">2x</span>
885
+ <span class="cline-any cline-yes">2x</span>
886
+ <span class="cline-any cline-yes">2x</span>
887
+ <span class="cline-any cline-yes">2x</span>
888
+ <span class="cline-any cline-yes">2x</span>
889
+ <span class="cline-any cline-yes">2x</span>
890
+ <span class="cline-any cline-yes">2x</span>
891
+ <span class="cline-any cline-neutral">&nbsp;</span>
892
+ <span class="cline-any cline-yes">1x</span>
893
+ <span class="cline-any cline-yes">1x</span>
894
+ <span class="cline-any cline-yes">1x</span>
895
+ <span class="cline-any cline-yes">1x</span>
896
+ <span class="cline-any cline-yes">1x</span>
897
+ <span class="cline-any cline-yes">1x</span>
898
+ <span class="cline-any cline-yes">1x</span>
899
+ <span class="cline-any cline-yes">1x</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-yes">1x</span>
902
+ <span class="cline-any cline-yes">1x</span>
903
+ <span class="cline-any cline-yes">1x</span>
904
+ <span class="cline-any cline-yes">1x</span>
905
+ <span class="cline-any cline-yes">1x</span>
906
+ <span class="cline-any cline-yes">1x</span>
907
+ <span class="cline-any cline-yes">1x</span>
908
+ <span class="cline-any cline-yes">1x</span>
909
+ <span class="cline-any cline-neutral">&nbsp;</span>
910
+ <span class="cline-any cline-yes">1x</span>
911
+ <span class="cline-any cline-yes">2x</span>
912
+ <span class="cline-any cline-yes">2x</span>
913
+ <span class="cline-any cline-yes">2x</span>
914
+ <span class="cline-any cline-yes">2x</span>
915
+ <span class="cline-any cline-yes">2x</span>
916
+ <span class="cline-any cline-yes">2x</span>
917
+ <span class="cline-any cline-yes">2x</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-yes">1x</span>
920
+ <span class="cline-any cline-yes">34x</span>
921
+ <span class="cline-any cline-yes">34x</span>
922
+ <span class="cline-any cline-neutral">&nbsp;</span>
923
+ <span class="cline-any cline-yes">1x</span>
924
+ <span class="cline-any cline-yes">2x</span>
925
+ <span class="cline-any cline-yes">2x</span>
926
+ <span class="cline-any cline-neutral">&nbsp;</span>
927
+ <span class="cline-any cline-yes">1x</span>
928
+ <span class="cline-any cline-yes">15x</span>
929
+ <span class="cline-any cline-yes">15x</span>
930
+ <span class="cline-any cline-yes">1x</span>
931
+ <span class="cline-any cline-neutral">&nbsp;</span>
932
+ <span class="cline-any cline-yes">1x</span>
933
+ <span class="cline-any cline-yes">1x</span>
934
+ <span class="cline-any cline-neutral">&nbsp;</span>
935
+ <span class="cline-any cline-yes">1x</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-yes">1x</span>
938
+ <span class="cline-any cline-yes">29x</span>
939
+ <span class="cline-any cline-yes">29x</span>
940
+ <span class="cline-any cline-neutral">&nbsp;</span>
941
+ <span class="cline-any cline-yes">1x</span>
942
+ <span class="cline-any cline-yes">1x</span>
943
+ <span class="cline-any cline-yes">1x</span>
944
+ <span class="cline-any cline-neutral">&nbsp;</span>
945
+ <span class="cline-any cline-yes">1x</span>
946
+ <span class="cline-any cline-yes">1x</span>
947
+ <span class="cline-any cline-yes">1x</span>
948
+ <span class="cline-any cline-neutral">&nbsp;</span>
949
+ <span class="cline-any cline-yes">1x</span>
950
+ <span class="cline-any cline-yes">2x</span>
951
+ <span class="cline-any cline-yes">2x</span>
952
+ <span class="cline-any cline-yes">2x</span>
953
+ <span class="cline-any cline-yes">2x</span>
954
+ <span class="cline-any cline-yes">2x</span>
955
+ <span class="cline-any cline-yes">2x</span>
956
+ <span class="cline-any cline-yes">2x</span>
957
+ <span class="cline-any cline-neutral">&nbsp;</span>
958
+ <span class="cline-any cline-yes">1x</span>
959
+ <span class="cline-any cline-yes">1x</span>
960
+ <span class="cline-any cline-yes">1x</span>
961
+ <span class="cline-any cline-yes">1x</span>
962
+ <span class="cline-any cline-yes">1x</span>
963
+ <span class="cline-any cline-yes">1x</span>
964
+ <span class="cline-any cline-yes">1x</span>
965
+ <span class="cline-any cline-yes">1x</span>
966
+ <span class="cline-any cline-neutral">&nbsp;</span>
967
+ <span class="cline-any cline-yes">1x</span>
968
+ <span class="cline-any cline-yes">1x</span>
969
+ <span class="cline-any cline-yes">1x</span>
970
+ <span class="cline-any cline-neutral">&nbsp;</span>
971
+ <span class="cline-any cline-yes">1x</span>
972
+ <span class="cline-any cline-yes">1x</span>
973
+ <span class="cline-any cline-yes">1x</span>
974
+ <span class="cline-any cline-neutral">&nbsp;</span>
975
+ <span class="cline-any cline-yes">1x</span>
976
+ <span class="cline-any cline-yes">28x</span>
977
+ <span class="cline-any cline-yes">28x</span>
978
+ <span class="cline-any cline-neutral">&nbsp;</span>
979
+ <span class="cline-any cline-yes">1x</span>
980
+ <span class="cline-any cline-yes">1x</span>
981
+ <span class="cline-any cline-yes">1x</span>
982
+ <span class="cline-any cline-neutral">&nbsp;</span>
983
+ <span class="cline-any cline-yes">1x</span>
984
+ <span class="cline-any cline-yes">13x</span>
985
+ <span class="cline-any cline-yes">4x</span>
986
+ <span class="cline-any cline-yes">4x</span>
987
+ <span class="cline-any cline-yes">9x</span>
988
+ <span class="cline-any cline-yes">13x</span>
989
+ <span class="cline-any cline-yes">1x</span>
990
+ <span class="cline-any cline-neutral">&nbsp;</span>
991
+ <span class="cline-any cline-yes">1x</span>
992
+ <span class="cline-any cline-yes">1x</span>
993
+ <span class="cline-any cline-yes">30x</span>
994
+ <span class="cline-any cline-yes">30x</span>
995
+ <span class="cline-any cline-neutral">&nbsp;</span>
996
+ <span class="cline-any cline-yes">1x</span>
997
+ <span class="cline-any cline-yes">1x</span>
998
+ <span class="cline-any cline-yes">1x</span>
999
+ <span class="cline-any cline-neutral">&nbsp;</span>
1000
+ <span class="cline-any cline-yes">1x</span>
1001
+ <span class="cline-any cline-yes">1x</span>
1002
+ <span class="cline-any cline-yes">1x</span>
1003
+ <span class="cline-any cline-neutral">&nbsp;</span>
1004
+ <span class="cline-any cline-yes">1x</span>
1005
+ <span class="cline-any cline-yes">2x</span>
1006
+ <span class="cline-any cline-yes">2x</span>
1007
+ <span class="cline-any cline-yes">2x</span>
1008
+ <span class="cline-any cline-yes">2x</span>
1009
+ <span class="cline-any cline-yes">2x</span>
1010
+ <span class="cline-any cline-yes">2x</span>
1011
+ <span class="cline-any cline-yes">2x</span>
1012
+ <span class="cline-any cline-neutral">&nbsp;</span>
1013
+ <span class="cline-any cline-yes">1x</span>
1014
+ <span class="cline-any cline-yes">1x</span>
1015
+ <span class="cline-any cline-yes">1x</span>
1016
+ <span class="cline-any cline-yes">1x</span>
1017
+ <span class="cline-any cline-yes">1x</span>
1018
+ <span class="cline-any cline-yes">1x</span>
1019
+ <span class="cline-any cline-yes">1x</span>
1020
+ <span class="cline-any cline-yes">1x</span>
1021
+ <span class="cline-any cline-neutral">&nbsp;</span>
1022
+ <span class="cline-any cline-yes">1x</span>
1023
+ <span class="cline-any cline-yes">1x</span>
1024
+ <span class="cline-any cline-yes">1x</span>
1025
+ <span class="cline-any cline-yes">1x</span>
1026
+ <span class="cline-any cline-yes">1x</span>
1027
+ <span class="cline-any cline-yes">1x</span>
1028
+ <span class="cline-any cline-yes">1x</span>
1029
+ <span class="cline-any cline-yes">1x</span>
1030
+ <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-yes">1x</span>
1032
+ <span class="cline-any cline-yes">3x</span>
1033
+ <span class="cline-any cline-yes">3x</span>
1034
+ <span class="cline-any cline-yes">3x</span>
1035
+ <span class="cline-any cline-yes">3x</span>
1036
+ <span class="cline-any cline-yes">3x</span>
1037
+ <span class="cline-any cline-yes">3x</span>
1038
+ <span class="cline-any cline-yes">3x</span>
1039
+ <span class="cline-any cline-neutral">&nbsp;</span>
1040
+ <span class="cline-any cline-yes">1x</span>
1041
+ <span class="cline-any cline-yes">29x</span>
1042
+ <span class="cline-any cline-yes">29x</span>
1043
+ <span class="cline-any cline-neutral">&nbsp;</span>
1044
+ <span class="cline-any cline-yes">1x</span>
1045
+ <span class="cline-any cline-yes">1x</span>
1046
+ <span class="cline-any cline-yes">1x</span>
1047
+ <span class="cline-any cline-neutral">&nbsp;</span>
1048
+ <span class="cline-any cline-yes">1x</span>
1049
+ <span class="cline-any cline-yes">13x</span>
1050
+ <span class="cline-any cline-yes">13x</span>
1051
+ <span class="cline-any cline-yes">1x</span>
1052
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { DateTime, DateTimeJSOptions, DateTimeOptions, FixedOffsetZone, Zone } from 'luxon';
1053
+ &nbsp;
1054
+ export type LuxonDateTimeInput = DateTime | LuxonDateTime;
1055
+ &nbsp;
1056
+ export abstract class LuxonDateTime {
1057
+ public readonly dateTime: DateTime;
1058
+ &nbsp;
1059
+ constructor(input: LuxonDateTimeInput) {
1060
+ if (input === null || input === undefined) {
1061
+ throw new Error('invalid input (null or undefined), expected DateTime or LuxonDateTime');
1062
+ } else if (input instanceof LuxonDateTime) {
1063
+ this.dateTime = this.normalize(input.dateTime);
1064
+ } else if (DateTime.isDateTime(input)) {
1065
+ if (!input.isValid) {
1066
+ throw new Error('Invalid DateTime: ' + input.invalidExplanation);
1067
+ }
1068
+ this.dateTime = this.normalize(input);
1069
+ } else {
1070
+ throw new Error('invalid input, expected DateTime or LuxonDateTime');
1071
+ }
1072
+ Object.freeze(this);
1073
+ }
1074
+ &nbsp;
1075
+ protected abstract normalize(dateTime: DateTime): DateTime;
1076
+ &nbsp;
1077
+ apply&lt;R&gt;(fn: (dateTime: DateTime) =&gt; R): R {
1078
+ return fn(this.dateTime);
1079
+ }
1080
+ &nbsp;
1081
+ valueOf(): number {
1082
+ return this.dateTime.valueOf();
1083
+ }
1084
+ &nbsp;
1085
+ as&lt;T extends LuxonDateTime&gt;(type: { new (...args: any[]): T }): T {
1086
+ if (this instanceof type) {
1087
+ return this;
1088
+ }
1089
+ return new type(this.dateTime);
1090
+ }
1091
+ &nbsp;
1092
+ equals(other: any) {
1093
+ if (this.constructor === other.constructor) {
1094
+ return this.dateTime.equals(other.dateTime);
1095
+ }
1096
+ return false;
1097
+ }
1098
+ &nbsp;
1099
+ toString() {
1100
+ return this.toJSON();
1101
+ }
1102
+ &nbsp;
1103
+ abstract wrap(fn: (dateTime: DateTime) =&gt; DateTime): LuxonDateTime;
1104
+ &nbsp;
1105
+ abstract toJSON(): string;
1106
+ }
1107
+ &nbsp;
1108
+ export class LocalDateLuxon extends LuxonDateTime {
1109
+ public static readonly format = 'yyyy-MM-dd';
1110
+ &nbsp;
1111
+ constructor(input: LuxonDateTimeInput) {
1112
+ super(input);
1113
+ }
1114
+ &nbsp;
1115
+ public static nowLocal(options?: DateTimeJSOptions) {
1116
+ return new LocalDateLuxon(DateTime.local(options));
1117
+ }
1118
+ &nbsp;
1119
+ public static nowUtc() {
1120
+ return new LocalDateLuxon(DateTime.utc());
1121
+ }
1122
+ &nbsp;
1123
+ public static fromISO(value: string, options?: DateTimeOptions) {
1124
+ return new LocalDateLuxon(
1125
+ DateTime.fromISO(value, {
1126
+ zone: FixedOffsetZone.utcInstance,
1127
+ ...options,
1128
+ }),
1129
+ );
1130
+ }
1131
+ &nbsp;
1132
+ public static fromFormat(value: string, format: string, options?: DateTimeOptions) {
1133
+ return new LocalDateLuxon(
1134
+ DateTime.fromFormat(value, format, {
1135
+ zone: FixedOffsetZone.utcInstance,
1136
+ ...options,
1137
+ }),
1138
+ );
1139
+ }
1140
+ &nbsp;
1141
+ public static fromJSDate(date: Date, options?: { zone?: string | Zone }) {
1142
+ return new LocalDateLuxon(
1143
+ DateTime.fromJSDate(date, {
1144
+ zone: FixedOffsetZone.utcInstance,
1145
+ ...options,
1146
+ }),
1147
+ );
1148
+ }
1149
+ &nbsp;
1150
+ public static fromMillis(millis: number, options?: DateTimeJSOptions) {
1151
+ return new LocalDateLuxon(
1152
+ DateTime.fromMillis(millis, {
1153
+ zone: FixedOffsetZone.utcInstance,
1154
+ ...options,
1155
+ }),
1156
+ );
1157
+ }
1158
+ &nbsp;
1159
+ protected normalize(dateTime: DateTime): DateTime {
1160
+ return DateTime.utc(dateTime.year, dateTime.month, dateTime.day);
1161
+ }
1162
+ &nbsp;
1163
+ wrap(fn: (dateTime: DateTime) =&gt; DateTime): LocalDateLuxon {
1164
+ return new LocalDateLuxon(fn(this.dateTime));
1165
+ }
1166
+ &nbsp;
1167
+ toJSON() {
1168
+ return this.dateTime.toFormat(LocalDateLuxon.format);
1169
+ }
1170
+ }
1171
+ &nbsp;
1172
+ export class LocalTimeLuxon extends LuxonDateTime {
1173
+ public static readonly format = 'HH:mm:ss';
1174
+ &nbsp;
1175
+ constructor(input: LuxonDateTimeInput) {
1176
+ super(input);
1177
+ }
1178
+ &nbsp;
1179
+ public static nowLocal(options?: DateTimeJSOptions) {
1180
+ return new LocalTimeLuxon(DateTime.local(options));
1181
+ }
1182
+ &nbsp;
1183
+ public static nowUtc() {
1184
+ return new LocalTimeLuxon(DateTime.utc());
1185
+ }
1186
+ &nbsp;
1187
+ public static fromISO(value: string, options?: DateTimeOptions) {
1188
+ return new LocalTimeLuxon(
1189
+ DateTime.fromISO(value, {
1190
+ zone: FixedOffsetZone.utcInstance,
1191
+ ...options,
1192
+ }),
1193
+ );
1194
+ }
1195
+ &nbsp;
1196
+ public static fromFormat(value: string, format: string, options?: DateTimeOptions) {
1197
+ return new LocalTimeLuxon(
1198
+ DateTime.fromFormat(value, format, {
1199
+ zone: FixedOffsetZone.utcInstance,
1200
+ ...options,
1201
+ }),
1202
+ );
1203
+ }
1204
+ &nbsp;
1205
+ public static fromJSDate(date: Date, options?: { zone?: string | Zone }) {
1206
+ return new LocalTimeLuxon(
1207
+ DateTime.fromJSDate(date, {
1208
+ zone: FixedOffsetZone.utcInstance,
1209
+ ...options,
1210
+ }),
1211
+ );
1212
+ }
1213
+ &nbsp;
1214
+ public static fromMillis(millis: number, options?: DateTimeJSOptions) {
1215
+ return new LocalTimeLuxon(
1216
+ DateTime.fromMillis(millis, {
1217
+ zone: FixedOffsetZone.utcInstance,
1218
+ ...options,
1219
+ }),
1220
+ );
1221
+ }
1222
+ &nbsp;
1223
+ protected normalize(dateTime: DateTime): DateTime {
1224
+ return DateTime.utc(1970, 1, 1, dateTime.hour, dateTime.minute, dateTime.second);
1225
+ }
1226
+ &nbsp;
1227
+ wrap(fn: (dateTime: DateTime) =&gt; DateTime): LocalTimeLuxon {
1228
+ return new LocalTimeLuxon(fn(this.dateTime));
1229
+ }
1230
+ &nbsp;
1231
+ toJSON() {
1232
+ return this.dateTime.toFormat(LocalTimeLuxon.format);
1233
+ }
1234
+ }
1235
+ &nbsp;
1236
+ export class LocalDateTimeLuxon extends LuxonDateTime {
1237
+ public static readonly format = "yyyy-MM-dd'T'HH:mm:ss";
1238
+ &nbsp;
1239
+ constructor(input: LuxonDateTimeInput) {
1240
+ super(input);
1241
+ }
1242
+ &nbsp;
1243
+ setZone(zone: Zone): DateTimeLuxon {
1244
+ return new DateTimeLuxon(this.dateTime.setZone(zone, { keepLocalTime: true }));
1245
+ }
1246
+ &nbsp;
1247
+ public static nowLocal(options?: DateTimeJSOptions) {
1248
+ return new LocalDateTimeLuxon(DateTime.local(options));
1249
+ }
1250
+ &nbsp;
1251
+ public static nowUtc() {
1252
+ return new LocalDateTimeLuxon(DateTime.utc());
1253
+ }
1254
+ &nbsp;
1255
+ public static fromISO(value: string, options?: DateTimeOptions) {
1256
+ return new LocalDateTimeLuxon(
1257
+ DateTime.fromISO(value, {
1258
+ zone: FixedOffsetZone.utcInstance,
1259
+ ...options,
1260
+ }),
1261
+ );
1262
+ }
1263
+ &nbsp;
1264
+ public static fromFormat(value: string, format: string, options?: DateTimeOptions) {
1265
+ return new LocalDateTimeLuxon(
1266
+ DateTime.fromFormat(value, format, {
1267
+ zone: FixedOffsetZone.utcInstance,
1268
+ ...options,
1269
+ }),
1270
+ );
1271
+ }
1272
+ &nbsp;
1273
+ public static fromJSDate(date: Date, options?: { zone?: string | Zone }) {
1274
+ return new LocalDateTimeLuxon(
1275
+ DateTime.fromJSDate(date, {
1276
+ zone: FixedOffsetZone.utcInstance,
1277
+ ...options,
1278
+ }),
1279
+ );
1280
+ }
1281
+ &nbsp;
1282
+ public static fromMillis(millis: number, options?: DateTimeJSOptions) {
1283
+ return new LocalDateTimeLuxon(
1284
+ DateTime.fromMillis(millis, {
1285
+ zone: FixedOffsetZone.utcInstance,
1286
+ ...options,
1287
+ }),
1288
+ );
1289
+ }
1290
+ &nbsp;
1291
+ protected normalize(dateTime: DateTime): DateTime {
1292
+ return DateTime.utc(dateTime.year, dateTime.month, dateTime.day, dateTime.hour, dateTime.minute, dateTime.second);
1293
+ }
1294
+ &nbsp;
1295
+ wrap(fn: (dateTime: DateTime) =&gt; DateTime): LocalDateTimeLuxon {
1296
+ return new LocalDateTimeLuxon(fn(this.dateTime));
1297
+ }
1298
+ &nbsp;
1299
+ toJSON() {
1300
+ return this.dateTime.toFormat(LocalDateTimeLuxon.format);
1301
+ }
1302
+ }
1303
+ &nbsp;
1304
+ export class DateTimeLuxon extends LuxonDateTime {
1305
+ public static readonly format = "yyyy-MM-dd'T'HH:mm:ss";
1306
+ &nbsp;
1307
+ public static readonly formatTz = `${this.format}ZZ`;
1308
+ &nbsp;
1309
+ constructor(input: LuxonDateTimeInput) {
1310
+ super(input);
1311
+ }
1312
+ &nbsp;
1313
+ setZone(zone: Zone): DateTimeLuxon {
1314
+ return new DateTimeLuxon(this.dateTime.setZone(zone, { keepLocalTime: false }));
1315
+ }
1316
+ &nbsp;
1317
+ public static now(options?: DateTimeJSOptions) {
1318
+ return new DateTimeLuxon(DateTime.local(options));
1319
+ }
1320
+ &nbsp;
1321
+ public static fromISO(value: string, options?: DateTimeOptions) {
1322
+ return new DateTimeLuxon(
1323
+ DateTime.fromISO(value, {
1324
+ setZone: true,
1325
+ ...options,
1326
+ }),
1327
+ );
1328
+ }
1329
+ &nbsp;
1330
+ public static fromFormat(value: string, format: string, options?: DateTimeOptions) {
1331
+ return new DateTimeLuxon(
1332
+ DateTime.fromFormat(value, format, {
1333
+ setZone: true,
1334
+ ...options,
1335
+ }),
1336
+ );
1337
+ }
1338
+ &nbsp;
1339
+ public static fromJSDate(date: Date, options?: { zone?: string | Zone }) {
1340
+ return new DateTimeLuxon(DateTime.fromJSDate(date, options));
1341
+ }
1342
+ &nbsp;
1343
+ public static fromMillis(millis: number, options?: DateTimeJSOptions) {
1344
+ return new DateTimeLuxon(DateTime.fromMillis(millis, options));
1345
+ }
1346
+ &nbsp;
1347
+ protected normalize(dateTime: DateTime): DateTime {
1348
+ return dateTime.startOf('second');
1349
+ }
1350
+ &nbsp;
1351
+ wrap(fn: (dateTime: DateTime) =&gt; DateTime): DateTimeLuxon {
1352
+ return new DateTimeLuxon(fn(this.dateTime));
1353
+ }
1354
+ &nbsp;
1355
+ toJSON() {
1356
+ if (this.dateTime.offset === 0) {
1357
+ return this.dateTime.toFormat(DateTimeLuxon.format) + 'Z';
1358
+ }
1359
+ return this.dateTime.toFormat(DateTimeLuxon.formatTz);
1360
+ }
1361
+ }
1362
+ &nbsp;
1363
+ export class DateTimeUtcLuxon extends LuxonDateTime {
1364
+ constructor(input: LuxonDateTimeInput) {
1365
+ super(input);
1366
+ }
1367
+ &nbsp;
1368
+ setZone(zone: Zone): DateTimeLuxon {
1369
+ return new DateTimeLuxon(this.dateTime.setZone(zone, { keepLocalTime: false }));
1370
+ }
1371
+ &nbsp;
1372
+ public static now() {
1373
+ return new DateTimeUtcLuxon(DateTime.utc());
1374
+ }
1375
+ &nbsp;
1376
+ public static fromISO(value: string, options?: DateTimeOptions) {
1377
+ return new DateTimeUtcLuxon(
1378
+ DateTime.fromISO(value, {
1379
+ zone: FixedOffsetZone.utcInstance,
1380
+ ...options,
1381
+ }),
1382
+ );
1383
+ }
1384
+ &nbsp;
1385
+ public static fromFormat(value: string, format: string, options?: DateTimeOptions) {
1386
+ return new DateTimeUtcLuxon(
1387
+ DateTime.fromFormat(value, format, {
1388
+ zone: FixedOffsetZone.utcInstance,
1389
+ ...options,
1390
+ }),
1391
+ );
1392
+ }
1393
+ &nbsp;
1394
+ public static fromJSDate(date: Date, options?: { zone?: string | Zone }) {
1395
+ return new DateTimeUtcLuxon(
1396
+ DateTime.fromJSDate(date, {
1397
+ zone: FixedOffsetZone.utcInstance,
1398
+ ...options,
1399
+ }),
1400
+ );
1401
+ }
1402
+ &nbsp;
1403
+ public static fromMillis(millis: number, options?: DateTimeJSOptions) {
1404
+ return new DateTimeUtcLuxon(
1405
+ DateTime.fromMillis(millis, {
1406
+ zone: FixedOffsetZone.utcInstance,
1407
+ ...options,
1408
+ }),
1409
+ );
1410
+ }
1411
+ &nbsp;
1412
+ protected normalize(dateTime: DateTime): DateTime {
1413
+ return dateTime.toUTC().startOf('second');
1414
+ }
1415
+ &nbsp;
1416
+ wrap(fn: (dateTime: DateTime) =&gt; DateTime): DateTimeUtcLuxon {
1417
+ return new DateTimeUtcLuxon(fn(this.dateTime));
1418
+ }
1419
+ &nbsp;
1420
+ toJSON() {
1421
+ return this.dateTime.toFormat(DateTimeLuxon.format) + 'Z';
1422
+ }
1423
+ }
1424
+ &nbsp;
1425
+ export class DateTimeMillisLuxon extends LuxonDateTime {
1426
+ public static readonly format = "yyyy-MM-dd'T'HH:mm:ss.SSS";
1427
+ &nbsp;
1428
+ public static readonly formatTz = `${this.format}ZZ`;
1429
+ &nbsp;
1430
+ constructor(input: LuxonDateTimeInput) {
1431
+ super(input);
1432
+ }
1433
+ &nbsp;
1434
+ setZone(zone: Zone): DateTimeMillisLuxon {
1435
+ return new DateTimeMillisLuxon(this.dateTime.setZone(zone, { keepLocalTime: false }));
1436
+ }
1437
+ &nbsp;
1438
+ public static now(options?: DateTimeJSOptions) {
1439
+ return new DateTimeMillisLuxon(DateTime.local(options));
1440
+ }
1441
+ &nbsp;
1442
+ public static fromISO(value: string, options?: DateTimeOptions) {
1443
+ return new DateTimeMillisLuxon(
1444
+ DateTime.fromISO(value, {
1445
+ setZone: true,
1446
+ ...options,
1447
+ }),
1448
+ );
1449
+ }
1450
+ &nbsp;
1451
+ public static fromFormat(value: string, format: string, options?: DateTimeOptions) {
1452
+ return new DateTimeMillisLuxon(
1453
+ DateTime.fromFormat(value, format, {
1454
+ setZone: true,
1455
+ ...options,
1456
+ }),
1457
+ );
1458
+ }
1459
+ &nbsp;
1460
+ public static fromJSDate(date: Date, options?: { zone?: string | Zone }) {
1461
+ return new DateTimeMillisLuxon(DateTime.fromJSDate(date, options));
1462
+ }
1463
+ &nbsp;
1464
+ public static fromMillis(millis: number, options?: DateTimeJSOptions) {
1465
+ return new DateTimeMillisLuxon(DateTime.fromMillis(millis, options));
1466
+ }
1467
+ &nbsp;
1468
+ protected normalize(dateTime: DateTime): DateTime {
1469
+ return dateTime;
1470
+ }
1471
+ &nbsp;
1472
+ wrap(fn: (dateTime: DateTime) =&gt; DateTime): DateTimeMillisLuxon {
1473
+ return new DateTimeMillisLuxon(fn(this.dateTime));
1474
+ }
1475
+ &nbsp;
1476
+ toJSON() {
1477
+ if (this.dateTime.offset === 0) {
1478
+ return this.dateTime.toFormat(DateTimeMillisLuxon.format) + 'Z';
1479
+ }
1480
+ return this.dateTime.toFormat(DateTimeMillisLuxon.formatTz);
1481
+ }
1482
+ }
1483
+ &nbsp;
1484
+ export class DateTimeMillisUtcLuxon extends LuxonDateTime {
1485
+ constructor(input: LuxonDateTimeInput) {
1486
+ super(input);
1487
+ }
1488
+ &nbsp;
1489
+ setZone(zone: Zone): DateTimeMillisLuxon {
1490
+ return new DateTimeMillisLuxon(this.dateTime.setZone(zone, { keepLocalTime: false }));
1491
+ }
1492
+ &nbsp;
1493
+ public static now() {
1494
+ return new DateTimeMillisUtcLuxon(DateTime.utc());
1495
+ }
1496
+ &nbsp;
1497
+ public static fromISO(value: string, options?: DateTimeOptions) {
1498
+ return new DateTimeMillisUtcLuxon(
1499
+ DateTime.fromISO(value, {
1500
+ zone: FixedOffsetZone.utcInstance,
1501
+ ...options,
1502
+ }),
1503
+ );
1504
+ }
1505
+ &nbsp;
1506
+ public static fromFormat(value: string, format: string, options?: DateTimeOptions) {
1507
+ return new DateTimeMillisUtcLuxon(
1508
+ DateTime.fromFormat(value, format, {
1509
+ zone: FixedOffsetZone.utcInstance,
1510
+ ...options,
1511
+ }),
1512
+ );
1513
+ }
1514
+ &nbsp;
1515
+ public static fromJSDate(date: Date, options?: { zone?: string | Zone }) {
1516
+ return new DateTimeMillisUtcLuxon(
1517
+ DateTime.fromJSDate(date, {
1518
+ zone: FixedOffsetZone.utcInstance,
1519
+ ...options,
1520
+ }),
1521
+ );
1522
+ }
1523
+ &nbsp;
1524
+ public static fromMillis(millis: number, options?: DateTimeJSOptions) {
1525
+ return new DateTimeMillisUtcLuxon(
1526
+ DateTime.fromMillis(millis, {
1527
+ zone: FixedOffsetZone.utcInstance,
1528
+ ...options,
1529
+ }),
1530
+ );
1531
+ }
1532
+ &nbsp;
1533
+ protected normalize(dateTime: DateTime): DateTime {
1534
+ return dateTime.toUTC();
1535
+ }
1536
+ &nbsp;
1537
+ wrap(fn: (dateTime: DateTime) =&gt; DateTime): DateTimeMillisUtcLuxon {
1538
+ return new DateTimeMillisUtcLuxon(fn(this.dateTime));
1539
+ }
1540
+ &nbsp;
1541
+ toJSON() {
1542
+ return this.dateTime.toFormat(DateTimeMillisLuxon.format) + 'Z';
1543
+ }
1544
+ }
1545
+ &nbsp;</pre></td></tr></table></pre>
1546
+
1547
+ <div class='push'></div><!-- for sticky footer -->
1548
+ </div><!-- /wrapper -->
1549
+ <div class='footer quiet pad2 space-top1 center small'>
1550
+ Code coverage generated by
1551
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1552
+ at 2026-09-11T12:27:28.717Z
1553
+ </div>
1554
+ <script src="prettify.js"></script>
1555
+ <script>
1556
+ window.onload = function () {
1557
+ prettyPrint();
1558
+ };
1559
+ </script>
1560
+ <script src="sorter.js"></script>
1561
+ <script src="block-navigation.js"></script>
1562
+ </body>
1563
+ </html>
1564
+