@zeedhi/common 3.0.5 → 3.0.6

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 (257) hide show
  1. package/dist/types/components/zd-date-input/date-input.d.ts +1 -1
  2. package/dist/types/components/zd-date-range/date-range.d.ts +3 -1
  3. package/dist/types/components/zd-iterable/iterable.d.ts +9 -0
  4. package/dist/types/utils/date-utils/date-utils.d.ts +1 -0
  5. package/dist/zd-common.js +75 -24
  6. package/dist/zd-common.min.js +75 -24
  7. package/environments.json +6 -0
  8. package/jest.config.cjs +1 -0
  9. package/package.json +6 -3
  10. package/src/components/zd-date-input/date-input.ts +9 -21
  11. package/src/components/zd-date-range/date-range.ts +27 -4
  12. package/src/components/zd-iterable/iterable.ts +41 -3
  13. package/src/utils/date-utils/date-utils.ts +18 -0
  14. package/tests/unit/components/zd-component/component.spec.ts +3 -2
  15. package/tests/unit/components/zd-date-range/date-range.spec.ts +189 -23
  16. package/tests/unit/components/zd-grid/grid.spec.ts +48 -35
  17. package/tests/unit/components/zd-grid-editable/data-editor.spec.ts +1 -1
  18. package/tests/unit/components/zd-grid-editable/grid-editable.spec.ts +1 -1
  19. package/tests/unit/components/zd-iterable/column.spec.ts +42 -0
  20. package/tests/unit/utils/mock-console.ts +18 -0
  21. package/.package.json +0 -45
  22. package/coverage/clover.xml +0 -5741
  23. package/coverage/coverage-final.json +0 -144
  24. package/coverage/lcov-report/base.css +0 -224
  25. package/coverage/lcov-report/block-navigation.js +0 -87
  26. package/coverage/lcov-report/favicon.png +0 -0
  27. package/coverage/lcov-report/index.html +0 -1316
  28. package/coverage/lcov-report/prettify.css +0 -1
  29. package/coverage/lcov-report/prettify.js +0 -2
  30. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  31. package/coverage/lcov-report/sorter.js +0 -210
  32. package/coverage/lcov-report/src/components/index.html +0 -116
  33. package/coverage/lcov-report/src/components/index.ts.html +0 -730
  34. package/coverage/lcov-report/src/components/zd-alert/alert.ts.html +0 -502
  35. package/coverage/lcov-report/src/components/zd-alert/index.html +0 -116
  36. package/coverage/lcov-report/src/components/zd-badge/badge.ts.html +0 -226
  37. package/coverage/lcov-report/src/components/zd-badge/index.html +0 -116
  38. package/coverage/lcov-report/src/components/zd-breadcrumbs/breadcrumbs.ts.html +0 -226
  39. package/coverage/lcov-report/src/components/zd-breadcrumbs/index.html +0 -116
  40. package/coverage/lcov-report/src/components/zd-button/button.ts.html +0 -706
  41. package/coverage/lcov-report/src/components/zd-button/index.html +0 -116
  42. package/coverage/lcov-report/src/components/zd-button-group/button-group.ts.html +0 -412
  43. package/coverage/lcov-report/src/components/zd-button-group/index.html +0 -116
  44. package/coverage/lcov-report/src/components/zd-card/card.ts.html +0 -748
  45. package/coverage/lcov-report/src/components/zd-card/index.html +0 -116
  46. package/coverage/lcov-report/src/components/zd-carousel/carousel.ts.html +0 -949
  47. package/coverage/lcov-report/src/components/zd-carousel/index.html +0 -116
  48. package/coverage/lcov-report/src/components/zd-checkbox/checkbox.ts.html +0 -148
  49. package/coverage/lcov-report/src/components/zd-checkbox/index.html +0 -116
  50. package/coverage/lcov-report/src/components/zd-checkbox-multiple/checkbox-multiple.ts.html +0 -313
  51. package/coverage/lcov-report/src/components/zd-checkbox-multiple/index.html +0 -116
  52. package/coverage/lcov-report/src/components/zd-chip/chip.ts.html +0 -352
  53. package/coverage/lcov-report/src/components/zd-chip/index.html +0 -116
  54. package/coverage/lcov-report/src/components/zd-code-viewer/code-viewer.ts.html +0 -682
  55. package/coverage/lcov-report/src/components/zd-code-viewer/index.html +0 -116
  56. package/coverage/lcov-report/src/components/zd-col/col.ts.html +0 -250
  57. package/coverage/lcov-report/src/components/zd-col/index.html +0 -116
  58. package/coverage/lcov-report/src/components/zd-collapse-card/collapse-card.ts.html +0 -343
  59. package/coverage/lcov-report/src/components/zd-collapse-card/index.html +0 -116
  60. package/coverage/lcov-report/src/components/zd-component/child-not-found.ts.html +0 -109
  61. package/coverage/lcov-report/src/components/zd-component/component-render.ts.html +0 -160
  62. package/coverage/lcov-report/src/components/zd-component/component.ts.html +0 -1084
  63. package/coverage/lcov-report/src/components/zd-component/index.html +0 -146
  64. package/coverage/lcov-report/src/components/zd-container/container.ts.html +0 -289
  65. package/coverage/lcov-report/src/components/zd-container/index.html +0 -116
  66. package/coverage/lcov-report/src/components/zd-currency/currency.ts.html +0 -259
  67. package/coverage/lcov-report/src/components/zd-currency/index.html +0 -116
  68. package/coverage/lcov-report/src/components/zd-date-input/date-input.ts.html +0 -1798
  69. package/coverage/lcov-report/src/components/zd-date-input/index.html +0 -116
  70. package/coverage/lcov-report/src/components/zd-date-range/date-range.ts.html +0 -2167
  71. package/coverage/lcov-report/src/components/zd-date-range/index.html +0 -116
  72. package/coverage/lcov-report/src/components/zd-dialog/dialog.ts.html +0 -541
  73. package/coverage/lcov-report/src/components/zd-dialog/index.html +0 -116
  74. package/coverage/lcov-report/src/components/zd-divider/divider.ts.html +0 -178
  75. package/coverage/lcov-report/src/components/zd-divider/index.html +0 -116
  76. package/coverage/lcov-report/src/components/zd-dropdown/dropdown.ts.html +0 -460
  77. package/coverage/lcov-report/src/components/zd-dropdown/index.html +0 -116
  78. package/coverage/lcov-report/src/components/zd-footer/footer.ts.html +0 -451
  79. package/coverage/lcov-report/src/components/zd-footer/index.html +0 -116
  80. package/coverage/lcov-report/src/components/zd-form/form.ts.html +0 -1075
  81. package/coverage/lcov-report/src/components/zd-form/index.html +0 -116
  82. package/coverage/lcov-report/src/components/zd-frame/frame.ts.html +0 -763
  83. package/coverage/lcov-report/src/components/zd-frame/index.html +0 -116
  84. package/coverage/lcov-report/src/components/zd-frame-page/frame-page.ts.html +0 -169
  85. package/coverage/lcov-report/src/components/zd-frame-page/index.html +0 -116
  86. package/coverage/lcov-report/src/components/zd-grid/data-navigator.ts.html +0 -304
  87. package/coverage/lcov-report/src/components/zd-grid/data-selector.ts.html +0 -532
  88. package/coverage/lcov-report/src/components/zd-grid/grid-column.ts.html +0 -709
  89. package/coverage/lcov-report/src/components/zd-grid/grid-events.ts.html +0 -244
  90. package/coverage/lcov-report/src/components/zd-grid/grid.ts.html +0 -1042
  91. package/coverage/lcov-report/src/components/zd-grid/index.html +0 -266
  92. package/coverage/lcov-report/src/components/zd-grid/index.ts.html +0 -118
  93. package/coverage/lcov-report/src/components/zd-grid/iterable-table.ts.html +0 -274
  94. package/coverage/lcov-report/src/components/zd-grid/keymap-merger.ts.html +0 -241
  95. package/coverage/lcov-report/src/components/zd-grid/keymap-navigation.ts.html +0 -313
  96. package/coverage/lcov-report/src/components/zd-grid/table-action-builder.ts.html +0 -427
  97. package/coverage/lcov-report/src/components/zd-grid/view-navigator.ts.html +0 -175
  98. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor-with-add.ts.html +0 -826
  99. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor.ts.html +0 -1570
  100. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.html +0 -146
  101. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.ts.html +0 -91
  102. package/coverage/lcov-report/src/components/zd-grid-editable/errors/not-editing.ts.html +0 -109
  103. package/coverage/lcov-report/src/components/zd-grid-editable/errors/row-not-found.ts.html +0 -109
  104. package/coverage/lcov-report/src/components/zd-grid-editable/grid-column-editable.ts.html +0 -130
  105. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-controller.ts.html +0 -139
  106. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-events.ts.html +0 -430
  107. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable.ts.html +0 -1477
  108. package/coverage/lcov-report/src/components/zd-grid-editable/index.html +0 -221
  109. package/coverage/lcov-report/src/components/zd-grid-editable/index.ts.html +0 -109
  110. package/coverage/lcov-report/src/components/zd-grid-editable/keymap-editing.ts.html +0 -139
  111. package/coverage/lcov-report/src/components/zd-header/header.ts.html +0 -502
  112. package/coverage/lcov-report/src/components/zd-header/index.html +0 -116
  113. package/coverage/lcov-report/src/components/zd-icon/icon.ts.html +0 -325
  114. package/coverage/lcov-report/src/components/zd-icon/index.html +0 -116
  115. package/coverage/lcov-report/src/components/zd-image/image.ts.html +0 -424
  116. package/coverage/lcov-report/src/components/zd-image/index.html +0 -116
  117. package/coverage/lcov-report/src/components/zd-increment/increment.ts.html +0 -436
  118. package/coverage/lcov-report/src/components/zd-increment/index.html +0 -116
  119. package/coverage/lcov-report/src/components/zd-input/index.html +0 -131
  120. package/coverage/lcov-report/src/components/zd-input/input-factory.ts.html +0 -130
  121. package/coverage/lcov-report/src/components/zd-input/input.ts.html +0 -1345
  122. package/coverage/lcov-report/src/components/zd-iterable/column-not-found.ts.html +0 -109
  123. package/coverage/lcov-report/src/components/zd-iterable/column.ts.html +0 -823
  124. package/coverage/lcov-report/src/components/zd-iterable/conditions-manager.ts.html +0 -523
  125. package/coverage/lcov-report/src/components/zd-iterable/index.html +0 -281
  126. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button-controller.ts.html +0 -136
  127. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button.ts.html +0 -313
  128. package/coverage/lcov-report/src/components/zd-iterable/iterable-controller.ts.html +0 -166
  129. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-component.ts.html +0 -244
  130. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-info.ts.html +0 -106
  131. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-size.ts.html +0 -421
  132. package/coverage/lcov-report/src/components/zd-iterable/iterable-pagination.ts.html +0 -208
  133. package/coverage/lcov-report/src/components/zd-iterable/iterable.ts.html +0 -820
  134. package/coverage/lcov-report/src/components/zd-iterable/search.ts.html +0 -343
  135. package/coverage/lcov-report/src/components/zd-iterable-component-render/index.html +0 -116
  136. package/coverage/lcov-report/src/components/zd-iterable-component-render/iterable-component-render.ts.html +0 -592
  137. package/coverage/lcov-report/src/components/zd-layout/index.html +0 -116
  138. package/coverage/lcov-report/src/components/zd-layout/layout.ts.html +0 -145
  139. package/coverage/lcov-report/src/components/zd-list/index.html +0 -161
  140. package/coverage/lcov-report/src/components/zd-list/item-not-found.ts.html +0 -109
  141. package/coverage/lcov-report/src/components/zd-list/list-group.ts.html +0 -241
  142. package/coverage/lcov-report/src/components/zd-list/list-item.ts.html +0 -298
  143. package/coverage/lcov-report/src/components/zd-list/list.ts.html +0 -460
  144. package/coverage/lcov-report/src/components/zd-loading/index.html +0 -116
  145. package/coverage/lcov-report/src/components/zd-loading/loading.ts.html +0 -217
  146. package/coverage/lcov-report/src/components/zd-login/index.html +0 -131
  147. package/coverage/lcov-report/src/components/zd-login/login-button.ts.html +0 -421
  148. package/coverage/lcov-report/src/components/zd-login/login.ts.html +0 -340
  149. package/coverage/lcov-report/src/components/zd-main/index.html +0 -116
  150. package/coverage/lcov-report/src/components/zd-main/main.ts.html +0 -133
  151. package/coverage/lcov-report/src/components/zd-master-detail/detail-not-found.ts.html +0 -118
  152. package/coverage/lcov-report/src/components/zd-master-detail/index.html +0 -146
  153. package/coverage/lcov-report/src/components/zd-master-detail/master-detail.ts.html +0 -331
  154. package/coverage/lcov-report/src/components/zd-master-detail/master-not-found.ts.html +0 -118
  155. package/coverage/lcov-report/src/components/zd-menu/index.html +0 -176
  156. package/coverage/lcov-report/src/components/zd-menu/menu-button.ts.html +0 -241
  157. package/coverage/lcov-report/src/components/zd-menu/menu-group.ts.html +0 -400
  158. package/coverage/lcov-report/src/components/zd-menu/menu-link.ts.html +0 -337
  159. package/coverage/lcov-report/src/components/zd-menu/menu-separator.ts.html +0 -106
  160. package/coverage/lcov-report/src/components/zd-menu/menu.ts.html +0 -1384
  161. package/coverage/lcov-report/src/components/zd-modal/index.html +0 -131
  162. package/coverage/lcov-report/src/components/zd-modal/modal-close-button.ts.html +0 -220
  163. package/coverage/lcov-report/src/components/zd-modal/modal.ts.html +0 -355
  164. package/coverage/lcov-report/src/components/zd-month/index.html +0 -116
  165. package/coverage/lcov-report/src/components/zd-month/month.ts.html +0 -568
  166. package/coverage/lcov-report/src/components/zd-number-input/index.html +0 -116
  167. package/coverage/lcov-report/src/components/zd-number-input/number-input.ts.html +0 -532
  168. package/coverage/lcov-report/src/components/zd-password/index.html +0 -116
  169. package/coverage/lcov-report/src/components/zd-password/password.ts.html +0 -220
  170. package/coverage/lcov-report/src/components/zd-progress/index.html +0 -116
  171. package/coverage/lcov-report/src/components/zd-progress/progress.ts.html +0 -262
  172. package/coverage/lcov-report/src/components/zd-radio/index.html +0 -116
  173. package/coverage/lcov-report/src/components/zd-radio/radio.ts.html +0 -289
  174. package/coverage/lcov-report/src/components/zd-row/index.html +0 -116
  175. package/coverage/lcov-report/src/components/zd-row/row.ts.html +0 -256
  176. package/coverage/lcov-report/src/components/zd-select/index.html +0 -116
  177. package/coverage/lcov-report/src/components/zd-select/select.ts.html +0 -2089
  178. package/coverage/lcov-report/src/components/zd-select-multiple/index.html +0 -116
  179. package/coverage/lcov-report/src/components/zd-select-multiple/select-multiple.ts.html +0 -1549
  180. package/coverage/lcov-report/src/components/zd-svg-map/index.html +0 -116
  181. package/coverage/lcov-report/src/components/zd-svg-map/svg-map.ts.html +0 -475
  182. package/coverage/lcov-report/src/components/zd-switch/index.html +0 -116
  183. package/coverage/lcov-report/src/components/zd-switch/switch.ts.html +0 -163
  184. package/coverage/lcov-report/src/components/zd-table/index.html +0 -116
  185. package/coverage/lcov-report/src/components/zd-table/table.ts.html +0 -280
  186. package/coverage/lcov-report/src/components/zd-tabs/index.html +0 -146
  187. package/coverage/lcov-report/src/components/zd-tabs/tab-not-found.ts.html +0 -127
  188. package/coverage/lcov-report/src/components/zd-tabs/tab.ts.html +0 -370
  189. package/coverage/lcov-report/src/components/zd-tabs/tabs.ts.html +0 -586
  190. package/coverage/lcov-report/src/components/zd-tag/index.html +0 -116
  191. package/coverage/lcov-report/src/components/zd-tag/tag.ts.html +0 -142
  192. package/coverage/lcov-report/src/components/zd-text/index.html +0 -116
  193. package/coverage/lcov-report/src/components/zd-text/text.ts.html +0 -136
  194. package/coverage/lcov-report/src/components/zd-text-input/index.html +0 -116
  195. package/coverage/lcov-report/src/components/zd-text-input/text-input.ts.html +0 -778
  196. package/coverage/lcov-report/src/components/zd-textarea/index.html +0 -116
  197. package/coverage/lcov-report/src/components/zd-textarea/textarea.ts.html +0 -418
  198. package/coverage/lcov-report/src/components/zd-time/index.html +0 -131
  199. package/coverage/lcov-report/src/components/zd-time/time-format-selector.ts.html +0 -157
  200. package/coverage/lcov-report/src/components/zd-time/time.ts.html +0 -1687
  201. package/coverage/lcov-report/src/components/zd-toggleable/index.html +0 -116
  202. package/coverage/lcov-report/src/components/zd-toggleable/toggleable.ts.html +0 -196
  203. package/coverage/lcov-report/src/components/zd-tooltip/index.html +0 -116
  204. package/coverage/lcov-report/src/components/zd-tooltip/tooltip.ts.html +0 -340
  205. package/coverage/lcov-report/src/components/zd-tree/index.html +0 -116
  206. package/coverage/lcov-report/src/components/zd-tree/tree.ts.html +0 -1849
  207. package/coverage/lcov-report/src/components/zd-tree-grid/index.html +0 -191
  208. package/coverage/lcov-report/src/components/zd-tree-grid/index.ts.html +0 -103
  209. package/coverage/lcov-report/src/components/zd-tree-grid/iterable-tree.ts.html +0 -202
  210. package/coverage/lcov-report/src/components/zd-tree-grid/keymap-tree.ts.html +0 -154
  211. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-navigator.ts.html +0 -235
  212. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-selector.ts.html +0 -448
  213. package/coverage/lcov-report/src/components/zd-tree-grid/tree-grid.ts.html +0 -1390
  214. package/coverage/lcov-report/src/error/delete-rows.ts.html +0 -124
  215. package/coverage/lcov-report/src/error/index.html +0 -161
  216. package/coverage/lcov-report/src/error/index.ts.html +0 -94
  217. package/coverage/lcov-report/src/error/non-initialized.ts.html +0 -118
  218. package/coverage/lcov-report/src/error/zeedhi-error.ts.html +0 -109
  219. package/coverage/lcov-report/src/index.html +0 -116
  220. package/coverage/lcov-report/src/index.ts.html +0 -145
  221. package/coverage/lcov-report/src/services/index.html +0 -116
  222. package/coverage/lcov-report/src/services/index.ts.html +0 -97
  223. package/coverage/lcov-report/src/services/zd-alert/alert-queue.ts.html +0 -205
  224. package/coverage/lcov-report/src/services/zd-alert/alert-replace.ts.html +0 -220
  225. package/coverage/lcov-report/src/services/zd-alert/alert-service.ts.html +0 -316
  226. package/coverage/lcov-report/src/services/zd-alert/alert-stack.ts.html +0 -172
  227. package/coverage/lcov-report/src/services/zd-alert/index.html +0 -176
  228. package/coverage/lcov-report/src/services/zd-alert/index.ts.html +0 -100
  229. package/coverage/lcov-report/src/services/zd-dialog/dialog-service.ts.html +0 -205
  230. package/coverage/lcov-report/src/services/zd-dialog/index.html +0 -116
  231. package/coverage/lcov-report/src/services/zd-loading/index.html +0 -116
  232. package/coverage/lcov-report/src/services/zd-loading/loading-service.ts.html +0 -157
  233. package/coverage/lcov-report/src/services/zd-modal/index.html +0 -116
  234. package/coverage/lcov-report/src/services/zd-modal/modal-service.ts.html +0 -298
  235. package/coverage/lcov-report/src/utils/data-value-out/data-value-out.ts.html +0 -202
  236. package/coverage/lcov-report/src/utils/data-value-out/index.html +0 -131
  237. package/coverage/lcov-report/src/utils/data-value-out/index.ts.html +0 -91
  238. package/coverage/lcov-report/src/utils/datasource-searcher/datasource-searcher.ts.html +0 -241
  239. package/coverage/lcov-report/src/utils/datasource-searcher/index.html +0 -131
  240. package/coverage/lcov-report/src/utils/datasource-searcher/index.ts.html +0 -91
  241. package/coverage/lcov-report/src/utils/icons/icons.ts.html +0 -547
  242. package/coverage/lcov-report/src/utils/icons/index.html +0 -116
  243. package/coverage/lcov-report/src/utils/index.html +0 -116
  244. package/coverage/lcov-report/src/utils/index.ts.html +0 -106
  245. package/coverage/lcov-report/src/utils/omit/index.html +0 -116
  246. package/coverage/lcov-report/src/utils/omit/omit.ts.html +0 -124
  247. package/coverage/lcov-report/src/utils/theme/index.html +0 -116
  248. package/coverage/lcov-report/src/utils/theme/theme.ts.html +0 -679
  249. package/coverage/lcov-report/src/utils/tree-data-structure/index.html +0 -131
  250. package/coverage/lcov-report/src/utils/tree-data-structure/index.ts.html +0 -91
  251. package/coverage/lcov-report/src/utils/tree-data-structure/tree-data-structure.ts.html +0 -1645
  252. package/coverage/lcov-report/src/utils/unique-by/index.html +0 -116
  253. package/coverage/lcov-report/src/utils/unique-by/unique-by.ts.html +0 -130
  254. package/coverage/lcov-report/tests/unit/components/zd-component/ComponentMock.ts.html +0 -166
  255. package/coverage/lcov-report/tests/unit/components/zd-component/index.html +0 -116
  256. package/coverage/lcov.info +0 -10206
  257. package/tests/unit/utils/is-filled-object.spec.ts +0 -33
@@ -1,2167 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/components/zd-date-range/date-range.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/zd-date-range</a> date-range.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'>285/285</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'>157/157</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'>54/54</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'>262/262</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>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">93x</span>
761
- <span class="cline-any cline-yes">93x</span>
762
- <span class="cline-any cline-neutral">&nbsp;</span>
763
- <span class="cline-any cline-neutral">&nbsp;</span>
764
- <span class="cline-any cline-yes">93x</span>
765
- <span class="cline-any cline-yes">93x</span>
766
- <span class="cline-any cline-neutral">&nbsp;</span>
767
- <span class="cline-any cline-yes">93x</span>
768
- <span class="cline-any cline-neutral">&nbsp;</span>
769
- <span class="cline-any cline-neutral">&nbsp;</span>
770
- <span class="cline-any cline-neutral">&nbsp;</span>
771
- <span class="cline-any cline-yes">66x</span>
772
- <span class="cline-any cline-neutral">&nbsp;</span>
773
- <span class="cline-any cline-neutral">&nbsp;</span>
774
- <span class="cline-any cline-neutral">&nbsp;</span>
775
- <span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-yes">66x</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-neutral">&nbsp;</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-yes">66x</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-yes">66x</span>
787
- <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-neutral">&nbsp;</span>
790
- <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-yes">66x</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-yes">66x</span>
797
- <span class="cline-any cline-neutral">&nbsp;</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-neutral">&nbsp;</span>
800
- <span class="cline-any cline-neutral">&nbsp;</span>
801
- <span class="cline-any cline-yes">66x</span>
802
- <span class="cline-any cline-neutral">&nbsp;</span>
803
- <span class="cline-any cline-neutral">&nbsp;</span>
804
- <span class="cline-any cline-neutral">&nbsp;</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-yes">66x</span>
807
- <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-neutral">&nbsp;</span>
809
- <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-yes">66x</span>
812
- <span class="cline-any cline-neutral">&nbsp;</span>
813
- <span class="cline-any cline-neutral">&nbsp;</span>
814
- <span class="cline-any cline-neutral">&nbsp;</span>
815
- <span class="cline-any cline-neutral">&nbsp;</span>
816
- <span class="cline-any cline-yes">66x</span>
817
- <span class="cline-any cline-neutral">&nbsp;</span>
818
- <span class="cline-any cline-neutral">&nbsp;</span>
819
- <span class="cline-any cline-neutral">&nbsp;</span>
820
- <span class="cline-any cline-neutral">&nbsp;</span>
821
- <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-yes">176x</span>
823
- <span class="cline-any cline-neutral">&nbsp;</span>
824
- <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-yes">66x</span>
827
- <span class="cline-any cline-neutral">&nbsp;</span>
828
- <span class="cline-any cline-neutral">&nbsp;</span>
829
- <span class="cline-any cline-yes">66x</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-neutral">&nbsp;</span>
833
- <span class="cline-any cline-neutral">&nbsp;</span>
834
- <span class="cline-any cline-neutral">&nbsp;</span>
835
- <span class="cline-any cline-yes">66x</span>
836
- <span class="cline-any cline-neutral">&nbsp;</span>
837
- <span class="cline-any cline-neutral">&nbsp;</span>
838
- <span class="cline-any cline-neutral">&nbsp;</span>
839
- <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-yes">66x</span>
841
- <span class="cline-any cline-neutral">&nbsp;</span>
842
- <span class="cline-any cline-neutral">&nbsp;</span>
843
- <span class="cline-any cline-neutral">&nbsp;</span>
844
- <span class="cline-any cline-neutral">&nbsp;</span>
845
- <span class="cline-any cline-yes">66x</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span>
847
- <span class="cline-any cline-neutral">&nbsp;</span>
848
- <span class="cline-any cline-neutral">&nbsp;</span>
849
- <span class="cline-any cline-neutral">&nbsp;</span>
850
- <span class="cline-any cline-yes">66x</span>
851
- <span class="cline-any cline-neutral">&nbsp;</span>
852
- <span class="cline-any cline-neutral">&nbsp;</span>
853
- <span class="cline-any cline-neutral">&nbsp;</span>
854
- <span class="cline-any cline-neutral">&nbsp;</span>
855
- <span class="cline-any cline-yes">66x</span>
856
- <span class="cline-any cline-neutral">&nbsp;</span>
857
- <span class="cline-any cline-yes">66x</span>
858
- <span class="cline-any cline-neutral">&nbsp;</span>
859
- <span class="cline-any cline-yes">66x</span>
860
- <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-yes">66x</span>
862
- <span class="cline-any cline-neutral">&nbsp;</span>
863
- <span class="cline-any cline-yes">66x</span>
864
- <span class="cline-any cline-neutral">&nbsp;</span>
865
- <span class="cline-any cline-neutral">&nbsp;</span>
866
- <span class="cline-any cline-neutral">&nbsp;</span>
867
- <span class="cline-any cline-neutral">&nbsp;</span>
868
- <span class="cline-any cline-neutral">&nbsp;</span>
869
- <span class="cline-any cline-neutral">&nbsp;</span>
870
- <span class="cline-any cline-neutral">&nbsp;</span>
871
- <span class="cline-any cline-yes">66x</span>
872
- <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-neutral">&nbsp;</span>
874
- <span class="cline-any cline-neutral">&nbsp;</span>
875
- <span class="cline-any cline-neutral">&nbsp;</span>
876
- <span class="cline-any cline-neutral">&nbsp;</span>
877
- <span class="cline-any cline-neutral">&nbsp;</span>
878
- <span class="cline-any cline-neutral">&nbsp;</span>
879
- <span class="cline-any cline-neutral">&nbsp;</span>
880
- <span class="cline-any cline-neutral">&nbsp;</span>
881
- <span class="cline-any cline-neutral">&nbsp;</span>
882
- <span class="cline-any cline-neutral">&nbsp;</span>
883
- <span class="cline-any cline-neutral">&nbsp;</span>
884
- <span class="cline-any cline-neutral">&nbsp;</span>
885
- <span class="cline-any cline-neutral">&nbsp;</span>
886
- <span class="cline-any cline-neutral">&nbsp;</span>
887
- <span class="cline-any cline-neutral">&nbsp;</span>
888
- <span class="cline-any cline-neutral">&nbsp;</span>
889
- <span class="cline-any cline-neutral">&nbsp;</span>
890
- <span class="cline-any cline-neutral">&nbsp;</span>
891
- <span class="cline-any cline-neutral">&nbsp;</span>
892
- <span class="cline-any cline-neutral">&nbsp;</span>
893
- <span class="cline-any cline-neutral">&nbsp;</span>
894
- <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-neutral">&nbsp;</span>
896
- <span class="cline-any cline-neutral">&nbsp;</span>
897
- <span class="cline-any cline-neutral">&nbsp;</span>
898
- <span class="cline-any cline-neutral">&nbsp;</span>
899
- <span class="cline-any cline-neutral">&nbsp;</span>
900
- <span class="cline-any cline-neutral">&nbsp;</span>
901
- <span class="cline-any cline-neutral">&nbsp;</span>
902
- <span class="cline-any cline-neutral">&nbsp;</span>
903
- <span class="cline-any cline-neutral">&nbsp;</span>
904
- <span class="cline-any cline-neutral">&nbsp;</span>
905
- <span class="cline-any cline-neutral">&nbsp;</span>
906
- <span class="cline-any cline-neutral">&nbsp;</span>
907
- <span class="cline-any cline-neutral">&nbsp;</span>
908
- <span class="cline-any cline-neutral">&nbsp;</span>
909
- <span class="cline-any cline-neutral">&nbsp;</span>
910
- <span class="cline-any cline-neutral">&nbsp;</span>
911
- <span class="cline-any cline-neutral">&nbsp;</span>
912
- <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-neutral">&nbsp;</span>
914
- <span class="cline-any cline-neutral">&nbsp;</span>
915
- <span class="cline-any cline-neutral">&nbsp;</span>
916
- <span class="cline-any cline-neutral">&nbsp;</span>
917
- <span class="cline-any cline-neutral">&nbsp;</span>
918
- <span class="cline-any cline-neutral">&nbsp;</span>
919
- <span class="cline-any cline-neutral">&nbsp;</span>
920
- <span class="cline-any cline-neutral">&nbsp;</span>
921
- <span class="cline-any cline-neutral">&nbsp;</span>
922
- <span class="cline-any cline-neutral">&nbsp;</span>
923
- <span class="cline-any cline-neutral">&nbsp;</span>
924
- <span class="cline-any cline-neutral">&nbsp;</span>
925
- <span class="cline-any cline-neutral">&nbsp;</span>
926
- <span class="cline-any cline-neutral">&nbsp;</span>
927
- <span class="cline-any cline-neutral">&nbsp;</span>
928
- <span class="cline-any cline-neutral">&nbsp;</span>
929
- <span class="cline-any cline-neutral">&nbsp;</span>
930
- <span class="cline-any cline-yes">104x</span>
931
- <span class="cline-any cline-yes">59x</span>
932
- <span class="cline-any cline-neutral">&nbsp;</span>
933
- <span class="cline-any cline-neutral">&nbsp;</span>
934
- <span class="cline-any cline-yes">104x</span>
935
- <span class="cline-any cline-yes">58x</span>
936
- <span class="cline-any cline-yes">58x</span>
937
- <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-neutral">&nbsp;</span>
939
- <span class="cline-any cline-yes">46x</span>
940
- <span class="cline-any cline-neutral">&nbsp;</span>
941
- <span class="cline-any cline-yes">46x</span>
942
- <span class="cline-any cline-neutral">&nbsp;</span>
943
- <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-neutral">&nbsp;</span>
945
- <span class="cline-any cline-yes">41x</span>
946
- <span class="cline-any cline-neutral">&nbsp;</span>
947
- <span class="cline-any cline-neutral">&nbsp;</span>
948
- <span class="cline-any cline-neutral">&nbsp;</span>
949
- <span class="cline-any cline-yes">28x</span>
950
- <span class="cline-any cline-neutral">&nbsp;</span>
951
- <span class="cline-any cline-neutral">&nbsp;</span>
952
- <span class="cline-any cline-neutral">&nbsp;</span>
953
- <span class="cline-any cline-yes">88x</span>
954
- <span class="cline-any cline-neutral">&nbsp;</span>
955
- <span class="cline-any cline-neutral">&nbsp;</span>
956
- <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-yes">11x</span>
958
- <span class="cline-any cline-yes">11x</span>
959
- <span class="cline-any cline-yes">11x</span>
960
- <span class="cline-any cline-yes">1x</span>
961
- <span class="cline-any cline-yes">11x</span>
962
- <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-neutral">&nbsp;</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-yes">250x</span>
966
- <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-neutral">&nbsp;</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-yes">152x</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-yes">151x</span>
972
- <span class="cline-any cline-yes">84x</span>
973
- <span class="cline-any cline-yes">84x</span>
974
- <span class="cline-any cline-yes">84x</span>
975
- <span class="cline-any cline-yes">84x</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-yes">67x</span>
979
- <span class="cline-any cline-neutral">&nbsp;</span>
980
- <span class="cline-any cline-yes">26x</span>
981
- <span class="cline-any cline-yes">26x</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-yes">26x</span>
984
- <span class="cline-any cline-yes">26x</span>
985
- <span class="cline-any cline-neutral">&nbsp;</span>
986
- <span class="cline-any cline-yes">26x</span>
987
- <span class="cline-any cline-yes">26x</span>
988
- <span class="cline-any cline-neutral">&nbsp;</span>
989
- <span class="cline-any cline-yes">26x</span>
990
- <span class="cline-any cline-yes">23x</span>
991
- <span class="cline-any cline-neutral">&nbsp;</span>
992
- <span class="cline-any cline-neutral">&nbsp;</span>
993
- <span class="cline-any cline-neutral">&nbsp;</span>
994
- <span class="cline-any cline-neutral">&nbsp;</span>
995
- <span class="cline-any cline-neutral">&nbsp;</span>
996
- <span class="cline-any cline-neutral">&nbsp;</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-neutral">&nbsp;</span>
999
- <span class="cline-any cline-yes">23x</span>
1000
- <span class="cline-any cline-yes">23x</span>
1001
- <span class="cline-any cline-yes">23x</span>
1002
- <span class="cline-any cline-neutral">&nbsp;</span>
1003
- <span class="cline-any cline-yes">11x</span>
1004
- <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-yes">11x</span>
1006
- <span class="cline-any cline-yes">97x</span>
1007
- <span class="cline-any cline-yes">97x</span>
1008
- <span class="cline-any cline-neutral">&nbsp;</span>
1009
- <span class="cline-any cline-yes">11x</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-neutral">&nbsp;</span>
1012
- <span class="cline-any cline-neutral">&nbsp;</span>
1013
- <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-neutral">&nbsp;</span>
1015
- <span class="cline-any cline-neutral">&nbsp;</span>
1016
- <span class="cline-any cline-yes">9x</span>
1017
- <span class="cline-any cline-yes">9x</span>
1018
- <span class="cline-any cline-yes">9x</span>
1019
- <span class="cline-any cline-neutral">&nbsp;</span>
1020
- <span class="cline-any cline-neutral">&nbsp;</span>
1021
- <span class="cline-any cline-neutral">&nbsp;</span>
1022
- <span class="cline-any cline-neutral">&nbsp;</span>
1023
- <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-neutral">&nbsp;</span>
1025
- <span class="cline-any cline-yes">9x</span>
1026
- <span class="cline-any cline-yes">3x</span>
1027
- <span class="cline-any cline-neutral">&nbsp;</span>
1028
- <span class="cline-any cline-yes">6x</span>
1029
- <span class="cline-any cline-neutral">&nbsp;</span>
1030
- <span class="cline-any cline-neutral">&nbsp;</span>
1031
- <span class="cline-any cline-neutral">&nbsp;</span>
1032
- <span class="cline-any cline-yes">7x</span>
1033
- <span class="cline-any cline-neutral">&nbsp;</span>
1034
- <span class="cline-any cline-neutral">&nbsp;</span>
1035
- <span class="cline-any cline-neutral">&nbsp;</span>
1036
- <span class="cline-any cline-yes">33x</span>
1037
- <span class="cline-any cline-yes">33x</span>
1038
- <span class="cline-any cline-yes">33x</span>
1039
- <span class="cline-any cline-yes">13x</span>
1040
- <span class="cline-any cline-yes">13x</span>
1041
- <span class="cline-any cline-yes">13x</span>
1042
- <span class="cline-any cline-yes">13x</span>
1043
- <span class="cline-any cline-neutral">&nbsp;</span>
1044
- <span class="cline-any cline-yes">20x</span>
1045
- <span class="cline-any cline-yes">4x</span>
1046
- <span class="cline-any cline-yes">4x</span>
1047
- <span class="cline-any cline-yes">4x</span>
1048
- <span class="cline-any cline-neutral">&nbsp;</span>
1049
- <span class="cline-any cline-yes">20x</span>
1050
- <span class="cline-any cline-neutral">&nbsp;</span>
1051
- <span class="cline-any cline-yes">33x</span>
1052
- <span class="cline-any cline-neutral">&nbsp;</span>
1053
- <span class="cline-any cline-neutral">&nbsp;</span>
1054
- <span class="cline-any cline-neutral">&nbsp;</span>
1055
- <span class="cline-any cline-neutral">&nbsp;</span>
1056
- <span class="cline-any cline-neutral">&nbsp;</span>
1057
- <span class="cline-any cline-neutral">&nbsp;</span>
1058
- <span class="cline-any cline-neutral">&nbsp;</span>
1059
- <span class="cline-any cline-neutral">&nbsp;</span>
1060
- <span class="cline-any cline-neutral">&nbsp;</span>
1061
- <span class="cline-any cline-yes">42x</span>
1062
- <span class="cline-any cline-yes">46x</span>
1063
- <span class="cline-any cline-neutral">&nbsp;</span>
1064
- <span class="cline-any cline-neutral">&nbsp;</span>
1065
- <span class="cline-any cline-neutral">&nbsp;</span>
1066
- <span class="cline-any cline-yes">36x</span>
1067
- <span class="cline-any cline-yes">36x</span>
1068
- <span class="cline-any cline-neutral">&nbsp;</span>
1069
- <span class="cline-any cline-yes">31x</span>
1070
- <span class="cline-any cline-yes">17x</span>
1071
- <span class="cline-any cline-yes">17x</span>
1072
- <span class="cline-any cline-yes">16x</span>
1073
- <span class="cline-any cline-neutral">&nbsp;</span>
1074
- <span class="cline-any cline-yes">14x</span>
1075
- <span class="cline-any cline-neutral">&nbsp;</span>
1076
- <span class="cline-any cline-neutral">&nbsp;</span>
1077
- <span class="cline-any cline-neutral">&nbsp;</span>
1078
- <span class="cline-any cline-yes">56x</span>
1079
- <span class="cline-any cline-yes">56x</span>
1080
- <span class="cline-any cline-yes">56x</span>
1081
- <span class="cline-any cline-neutral">&nbsp;</span>
1082
- <span class="cline-any cline-yes">48x</span>
1083
- <span class="cline-any cline-yes">48x</span>
1084
- <span class="cline-any cline-yes">48x</span>
1085
- <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-yes">47x</span>
1087
- <span class="cline-any cline-yes">47x</span>
1088
- <span class="cline-any cline-yes">47x</span>
1089
- <span class="cline-any cline-neutral">&nbsp;</span>
1090
- <span class="cline-any cline-yes">46x</span>
1091
- <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-neutral">&nbsp;</span>
1093
- <span class="cline-any cline-neutral">&nbsp;</span>
1094
- <span class="cline-any cline-yes">51x</span>
1095
- <span class="cline-any cline-neutral">&nbsp;</span>
1096
- <span class="cline-any cline-neutral">&nbsp;</span>
1097
- <span class="cline-any cline-neutral">&nbsp;</span>
1098
- <span class="cline-any cline-yes">1x</span>
1099
- <span class="cline-any cline-neutral">&nbsp;</span>
1100
- <span class="cline-any cline-neutral">&nbsp;</span>
1101
- <span class="cline-any cline-neutral">&nbsp;</span>
1102
- <span class="cline-any cline-yes">3x</span>
1103
- <span class="cline-any cline-yes">3x</span>
1104
- <span class="cline-any cline-yes">3x</span>
1105
- <span class="cline-any cline-yes">3x</span>
1106
- <span class="cline-any cline-neutral">&nbsp;</span>
1107
- <span class="cline-any cline-neutral">&nbsp;</span>
1108
- <span class="cline-any cline-neutral">&nbsp;</span>
1109
- <span class="cline-any cline-neutral">&nbsp;</span>
1110
- <span class="cline-any cline-neutral">&nbsp;</span>
1111
- <span class="cline-any cline-yes">4x</span>
1112
- <span class="cline-any cline-yes">3x</span>
1113
- <span class="cline-any cline-neutral">&nbsp;</span>
1114
- <span class="cline-any cline-yes">4x</span>
1115
- <span class="cline-any cline-yes">4x</span>
1116
- <span class="cline-any cline-yes">3x</span>
1117
- <span class="cline-any cline-yes">2x</span>
1118
- <span class="cline-any cline-neutral">&nbsp;</span>
1119
- <span class="cline-any cline-neutral">&nbsp;</span>
1120
- <span class="cline-any cline-yes">4x</span>
1121
- <span class="cline-any cline-neutral">&nbsp;</span>
1122
- <span class="cline-any cline-neutral">&nbsp;</span>
1123
- <span class="cline-any cline-neutral">&nbsp;</span>
1124
- <span class="cline-any cline-yes">9x</span>
1125
- <span class="cline-any cline-yes">9x</span>
1126
- <span class="cline-any cline-yes">8x</span>
1127
- <span class="cline-any cline-yes">10x</span>
1128
- <span class="cline-any cline-yes">8x</span>
1129
- <span class="cline-any cline-neutral">&nbsp;</span>
1130
- <span class="cline-any cline-neutral">&nbsp;</span>
1131
- <span class="cline-any cline-neutral">&nbsp;</span>
1132
- <span class="cline-any cline-yes">9x</span>
1133
- <span class="cline-any cline-neutral">&nbsp;</span>
1134
- <span class="cline-any cline-neutral">&nbsp;</span>
1135
- <span class="cline-any cline-neutral">&nbsp;</span>
1136
- <span class="cline-any cline-yes">21x</span>
1137
- <span class="cline-any cline-yes">12x</span>
1138
- <span class="cline-any cline-neutral">&nbsp;</span>
1139
- <span class="cline-any cline-neutral">&nbsp;</span>
1140
- <span class="cline-any cline-neutral">&nbsp;</span>
1141
- <span class="cline-any cline-neutral">&nbsp;</span>
1142
- <span class="cline-any cline-yes">14x</span>
1143
- <span class="cline-any cline-neutral">&nbsp;</span>
1144
- <span class="cline-any cline-neutral">&nbsp;</span>
1145
- <span class="cline-any cline-neutral">&nbsp;</span>
1146
- <span class="cline-any cline-yes">6x</span>
1147
- <span class="cline-any cline-yes">6x</span>
1148
- <span class="cline-any cline-yes">6x</span>
1149
- <span class="cline-any cline-yes">5x</span>
1150
- <span class="cline-any cline-neutral">&nbsp;</span>
1151
- <span class="cline-any cline-neutral">&nbsp;</span>
1152
- <span class="cline-any cline-neutral">&nbsp;</span>
1153
- <span class="cline-any cline-neutral">&nbsp;</span>
1154
- <span class="cline-any cline-yes">12x</span>
1155
- <span class="cline-any cline-yes">12x</span>
1156
- <span class="cline-any cline-yes">12x</span>
1157
- <span class="cline-any cline-yes">12x</span>
1158
- <span class="cline-any cline-yes">12x</span>
1159
- <span class="cline-any cline-neutral">&nbsp;</span>
1160
- <span class="cline-any cline-yes">12x</span>
1161
- <span class="cline-any cline-yes">12x</span>
1162
- <span class="cline-any cline-neutral">&nbsp;</span>
1163
- <span class="cline-any cline-neutral">&nbsp;</span>
1164
- <span class="cline-any cline-neutral">&nbsp;</span>
1165
- <span class="cline-any cline-neutral">&nbsp;</span>
1166
- <span class="cline-any cline-yes">9x</span>
1167
- <span class="cline-any cline-yes">9x</span>
1168
- <span class="cline-any cline-neutral">&nbsp;</span>
1169
- <span class="cline-any cline-neutral">&nbsp;</span>
1170
- <span class="cline-any cline-neutral">&nbsp;</span>
1171
- <span class="cline-any cline-neutral">&nbsp;</span>
1172
- <span class="cline-any cline-neutral">&nbsp;</span>
1173
- <span class="cline-any cline-neutral">&nbsp;</span>
1174
- <span class="cline-any cline-yes">9x</span>
1175
- <span class="cline-any cline-neutral">&nbsp;</span>
1176
- <span class="cline-any cline-yes">8x</span>
1177
- <span class="cline-any cline-yes">8x</span>
1178
- <span class="cline-any cline-yes">8x</span>
1179
- <span class="cline-any cline-neutral">&nbsp;</span>
1180
- <span class="cline-any cline-neutral">&nbsp;</span>
1181
- <span class="cline-any cline-yes">8x</span>
1182
- <span class="cline-any cline-neutral">&nbsp;</span>
1183
- <span class="cline-any cline-neutral">&nbsp;</span>
1184
- <span class="cline-any cline-yes">8x</span>
1185
- <span class="cline-any cline-neutral">&nbsp;</span>
1186
- <span class="cline-any cline-neutral">&nbsp;</span>
1187
- <span class="cline-any cline-neutral">&nbsp;</span>
1188
- <span class="cline-any cline-neutral">&nbsp;</span>
1189
- <span class="cline-any cline-neutral">&nbsp;</span>
1190
- <span class="cline-any cline-neutral">&nbsp;</span>
1191
- <span class="cline-any cline-neutral">&nbsp;</span>
1192
- <span class="cline-any cline-yes">12x</span>
1193
- <span class="cline-any cline-neutral">&nbsp;</span>
1194
- <span class="cline-any cline-neutral">&nbsp;</span>
1195
- <span class="cline-any cline-neutral">&nbsp;</span>
1196
- <span class="cline-any cline-neutral">&nbsp;</span>
1197
- <span class="cline-any cline-neutral">&nbsp;</span>
1198
- <span class="cline-any cline-yes">4x</span>
1199
- <span class="cline-any cline-neutral">&nbsp;</span>
1200
- <span class="cline-any cline-yes">8x</span>
1201
- <span class="cline-any cline-neutral">&nbsp;</span>
1202
- <span class="cline-any cline-neutral">&nbsp;</span>
1203
- <span class="cline-any cline-neutral">&nbsp;</span>
1204
- <span class="cline-any cline-neutral">&nbsp;</span>
1205
- <span class="cline-any cline-neutral">&nbsp;</span>
1206
- <span class="cline-any cline-neutral">&nbsp;</span>
1207
- <span class="cline-any cline-yes">3x</span>
1208
- <span class="cline-any cline-neutral">&nbsp;</span>
1209
- <span class="cline-any cline-neutral">&nbsp;</span>
1210
- <span class="cline-any cline-neutral">&nbsp;</span>
1211
- <span class="cline-any cline-neutral">&nbsp;</span>
1212
- <span class="cline-any cline-neutral">&nbsp;</span>
1213
- <span class="cline-any cline-neutral">&nbsp;</span>
1214
- <span class="cline-any cline-neutral">&nbsp;</span>
1215
- <span class="cline-any cline-neutral">&nbsp;</span>
1216
- <span class="cline-any cline-yes">2x</span>
1217
- <span class="cline-any cline-yes">2x</span>
1218
- <span class="cline-any cline-yes">1x</span>
1219
- <span class="cline-any cline-neutral">&nbsp;</span>
1220
- <span class="cline-any cline-neutral">&nbsp;</span>
1221
- <span class="cline-any cline-neutral">&nbsp;</span>
1222
- <span class="cline-any cline-neutral">&nbsp;</span>
1223
- <span class="cline-any cline-neutral">&nbsp;</span>
1224
- <span class="cline-any cline-neutral">&nbsp;</span>
1225
- <span class="cline-any cline-neutral">&nbsp;</span>
1226
- <span class="cline-any cline-neutral">&nbsp;</span>
1227
- <span class="cline-any cline-neutral">&nbsp;</span>
1228
- <span class="cline-any cline-neutral">&nbsp;</span>
1229
- <span class="cline-any cline-yes">75x</span>
1230
- <span class="cline-any cline-neutral">&nbsp;</span>
1231
- <span class="cline-any cline-neutral">&nbsp;</span>
1232
- <span class="cline-any cline-yes">225x</span>
1233
- <span class="cline-any cline-neutral">&nbsp;</span>
1234
- <span class="cline-any cline-yes">75x</span>
1235
- <span class="cline-any cline-neutral">&nbsp;</span>
1236
- <span class="cline-any cline-yes">143x</span>
1237
- <span class="cline-any cline-neutral">&nbsp;</span>
1238
- <span class="cline-any cline-neutral">&nbsp;</span>
1239
- <span class="cline-any cline-yes">66x</span>
1240
- <span class="cline-any cline-neutral">&nbsp;</span>
1241
- <span class="cline-any cline-yes">66x</span>
1242
- <span class="cline-any cline-neutral">&nbsp;</span>
1243
- <span class="cline-any cline-neutral">&nbsp;</span>
1244
- <span class="cline-any cline-yes">19x</span>
1245
- <span class="cline-any cline-neutral">&nbsp;</span>
1246
- <span class="cline-any cline-yes">19x</span>
1247
- <span class="cline-any cline-yes">18x</span>
1248
- <span class="cline-any cline-yes">18x</span>
1249
- <span class="cline-any cline-neutral">&nbsp;</span>
1250
- <span class="cline-any cline-neutral">&nbsp;</span>
1251
- <span class="cline-any cline-yes">19x</span>
1252
- <span class="cline-any cline-yes">19x</span>
1253
- <span class="cline-any cline-neutral">&nbsp;</span>
1254
- <span class="cline-any cline-yes">19x</span>
1255
- <span class="cline-any cline-yes">17x</span>
1256
- <span class="cline-any cline-yes">17x</span>
1257
- <span class="cline-any cline-yes">17x</span>
1258
- <span class="cline-any cline-neutral">&nbsp;</span>
1259
- <span class="cline-any cline-neutral">&nbsp;</span>
1260
- <span class="cline-any cline-yes">2x</span>
1261
- <span class="cline-any cline-yes">2x</span>
1262
- <span class="cline-any cline-neutral">&nbsp;</span>
1263
- <span class="cline-any cline-neutral">&nbsp;</span>
1264
- <span class="cline-any cline-neutral">&nbsp;</span>
1265
- <span class="cline-any cline-yes">16x</span>
1266
- <span class="cline-any cline-yes">16x</span>
1267
- <span class="cline-any cline-neutral">&nbsp;</span>
1268
- <span class="cline-any cline-neutral">&nbsp;</span>
1269
- <span class="cline-any cline-neutral">&nbsp;</span>
1270
- <span class="cline-any cline-yes">7x</span>
1271
- <span class="cline-any cline-neutral">&nbsp;</span>
1272
- <span class="cline-any cline-yes">5x</span>
1273
- <span class="cline-any cline-neutral">&nbsp;</span>
1274
- <span class="cline-any cline-yes">2x</span>
1275
- <span class="cline-any cline-neutral">&nbsp;</span>
1276
- <span class="cline-any cline-neutral">&nbsp;</span>
1277
- <span class="cline-any cline-neutral">&nbsp;</span>
1278
- <span class="cline-any cline-yes">7x</span>
1279
- <span class="cline-any cline-yes">7x</span>
1280
- <span class="cline-any cline-neutral">&nbsp;</span>
1281
- <span class="cline-any cline-yes">7x</span>
1282
- <span class="cline-any cline-yes">7x</span>
1283
- <span class="cline-any cline-yes">7x</span>
1284
- <span class="cline-any cline-yes">7x</span>
1285
- <span class="cline-any cline-neutral">&nbsp;</span>
1286
- <span class="cline-any cline-neutral">&nbsp;</span>
1287
- <span class="cline-any cline-yes">66x</span>
1288
- <span class="cline-any cline-neutral">&nbsp;</span>
1289
- <span class="cline-any cline-neutral">&nbsp;</span>
1290
- <span class="cline-any cline-yes">8x</span>
1291
- <span class="cline-any cline-neutral">&nbsp;</span>
1292
- <span class="cline-any cline-neutral">&nbsp;</span>
1293
- <span class="cline-any cline-neutral">&nbsp;</span>
1294
- <span class="cline-any cline-yes">5x</span>
1295
- <span class="cline-any cline-neutral">&nbsp;</span>
1296
- <span class="cline-any cline-yes">5x</span>
1297
- <span class="cline-any cline-yes">2x</span>
1298
- <span class="cline-any cline-yes">3x</span>
1299
- <span class="cline-any cline-yes">2x</span>
1300
- <span class="cline-any cline-yes">2x</span>
1301
- <span class="cline-any cline-yes">2x</span>
1302
- <span class="cline-any cline-yes">1x</span>
1303
- <span class="cline-any cline-neutral">&nbsp;</span>
1304
- <span class="cline-any cline-yes">1x</span>
1305
- <span class="cline-any cline-yes">1x</span>
1306
- <span class="cline-any cline-neutral">&nbsp;</span>
1307
- <span class="cline-any cline-neutral">&nbsp;</span>
1308
- <span class="cline-any cline-yes">5x</span>
1309
- <span class="cline-any cline-neutral">&nbsp;</span>
1310
- <span class="cline-any cline-neutral">&nbsp;</span>
1311
- <span class="cline-any cline-neutral">&nbsp;</span>
1312
- <span class="cline-any cline-yes">93x</span>
1313
- <span class="cline-any cline-neutral">&nbsp;</span>
1314
- <span class="cline-any cline-neutral">&nbsp;</span>
1315
- <span class="cline-any cline-neutral">&nbsp;</span>
1316
- <span class="cline-any cline-neutral">&nbsp;</span>
1317
- <span class="cline-any cline-neutral">&nbsp;</span>
1318
- <span class="cline-any cline-neutral">&nbsp;</span>
1319
- <span class="cline-any cline-neutral">&nbsp;</span>
1320
- <span class="cline-any cline-neutral">&nbsp;</span>
1321
- <span class="cline-any cline-neutral">&nbsp;</span>
1322
- <span class="cline-any cline-neutral">&nbsp;</span>
1323
- <span class="cline-any cline-neutral">&nbsp;</span>
1324
- <span class="cline-any cline-neutral">&nbsp;</span>
1325
- <span class="cline-any cline-neutral">&nbsp;</span>
1326
- <span class="cline-any cline-neutral">&nbsp;</span>
1327
- <span class="cline-any cline-yes">48x</span>
1328
- <span class="cline-any cline-yes">1x</span>
1329
- <span class="cline-any cline-neutral">&nbsp;</span>
1330
- <span class="cline-any cline-yes">47x</span>
1331
- <span class="cline-any cline-yes">47x</span>
1332
- <span class="cline-any cline-yes">72x</span>
1333
- <span class="cline-any cline-yes">71x</span>
1334
- <span class="cline-any cline-neutral">&nbsp;</span>
1335
- <span class="cline-any cline-yes">71x</span>
1336
- <span class="cline-any cline-yes">11x</span>
1337
- <span class="cline-any cline-yes">11x</span>
1338
- <span class="cline-any cline-neutral">&nbsp;</span>
1339
- <span class="cline-any cline-neutral">&nbsp;</span>
1340
- <span class="cline-any cline-yes">60x</span>
1341
- <span class="cline-any cline-yes">19x</span>
1342
- <span class="cline-any cline-yes">6x</span>
1343
- <span class="cline-any cline-yes">6x</span>
1344
- <span class="cline-any cline-yes">6x</span>
1345
- <span class="cline-any cline-neutral">&nbsp;</span>
1346
- <span class="cline-any cline-neutral">&nbsp;</span>
1347
- <span class="cline-any cline-yes">13x</span>
1348
- <span class="cline-any cline-yes">13x</span>
1349
- <span class="cline-any cline-yes">10x</span>
1350
- <span class="cline-any cline-neutral">&nbsp;</span>
1351
- <span class="cline-any cline-neutral">&nbsp;</span>
1352
- <span class="cline-any cline-yes">13x</span>
1353
- <span class="cline-any cline-yes">13x</span>
1354
- <span class="cline-any cline-neutral">&nbsp;</span>
1355
- <span class="cline-any cline-yes">13x</span>
1356
- <span class="cline-any cline-yes">13x</span>
1357
- <span class="cline-any cline-neutral">&nbsp;</span>
1358
- <span class="cline-any cline-neutral">&nbsp;</span>
1359
- <span class="cline-any cline-yes">41x</span>
1360
- <span class="cline-any cline-yes">41x</span>
1361
- <span class="cline-any cline-neutral">&nbsp;</span>
1362
- <span class="cline-any cline-neutral">&nbsp;</span>
1363
- <span class="cline-any cline-neutral">&nbsp;</span>
1364
- <span class="cline-any cline-yes">47x</span>
1365
- <span class="cline-any cline-yes">47x</span>
1366
- <span class="cline-any cline-yes">24x</span>
1367
- <span class="cline-any cline-neutral">&nbsp;</span>
1368
- <span class="cline-any cline-neutral">&nbsp;</span>
1369
- <span class="cline-any cline-yes">47x</span>
1370
- <span class="cline-any cline-neutral">&nbsp;</span>
1371
- <span class="cline-any cline-neutral">&nbsp;</span>
1372
- <span class="cline-any cline-neutral">&nbsp;</span>
1373
- <span class="cline-any cline-yes">93x</span>
1374
- <span class="cline-any cline-neutral">&nbsp;</span>
1375
- <span class="cline-any cline-neutral">&nbsp;</span>
1376
- <span class="cline-any cline-neutral">&nbsp;</span>
1377
- <span class="cline-any cline-neutral">&nbsp;</span>
1378
- <span class="cline-any cline-neutral">&nbsp;</span>
1379
- <span class="cline-any cline-neutral">&nbsp;</span>
1380
- <span class="cline-any cline-neutral">&nbsp;</span>
1381
- <span class="cline-any cline-neutral">&nbsp;</span>
1382
- <span class="cline-any cline-neutral">&nbsp;</span>
1383
- <span class="cline-any cline-neutral">&nbsp;</span>
1384
- <span class="cline-any cline-neutral">&nbsp;</span>
1385
- <span class="cline-any cline-neutral">&nbsp;</span>
1386
- <span class="cline-any cline-neutral">&nbsp;</span>
1387
- <span class="cline-any cline-neutral">&nbsp;</span>
1388
- <span class="cline-any cline-yes">34x</span>
1389
- <span class="cline-any cline-yes">1x</span>
1390
- <span class="cline-any cline-neutral">&nbsp;</span>
1391
- <span class="cline-any cline-neutral">&nbsp;</span>
1392
- <span class="cline-any cline-yes">33x</span>
1393
- <span class="cline-any cline-neutral">&nbsp;</span>
1394
- <span class="cline-any cline-yes">33x</span>
1395
- <span class="cline-any cline-yes">19x</span>
1396
- <span class="cline-any cline-neutral">&nbsp;</span>
1397
- <span class="cline-any cline-yes">14x</span>
1398
- <span class="cline-any cline-neutral">&nbsp;</span>
1399
- <span class="cline-any cline-neutral">&nbsp;</span>
1400
- <span class="cline-any cline-yes">33x</span>
1401
- <span class="cline-any cline-yes">33x</span>
1402
- <span class="cline-any cline-yes">52x</span>
1403
- <span class="cline-any cline-yes">52x</span>
1404
- <span class="cline-any cline-yes">37x</span>
1405
- <span class="cline-any cline-yes">37x</span>
1406
- <span class="cline-any cline-yes">37x</span>
1407
- <span class="cline-any cline-neutral">&nbsp;</span>
1408
- <span class="cline-any cline-neutral">&nbsp;</span>
1409
- <span class="cline-any cline-yes">15x</span>
1410
- <span class="cline-any cline-yes">12x</span>
1411
- <span class="cline-any cline-yes">3x</span>
1412
- <span class="cline-any cline-yes">2x</span>
1413
- <span class="cline-any cline-yes">2x</span>
1414
- <span class="cline-any cline-yes">2x</span>
1415
- <span class="cline-any cline-neutral">&nbsp;</span>
1416
- <span class="cline-any cline-neutral">&nbsp;</span>
1417
- <span class="cline-any cline-yes">1x</span>
1418
- <span class="cline-any cline-yes">1x</span>
1419
- <span class="cline-any cline-neutral">&nbsp;</span>
1420
- <span class="cline-any cline-neutral">&nbsp;</span>
1421
- <span class="cline-any cline-yes">9x</span>
1422
- <span class="cline-any cline-neutral">&nbsp;</span>
1423
- <span class="cline-any cline-neutral">&nbsp;</span>
1424
- <span class="cline-any cline-yes">9x</span>
1425
- <span class="cline-any cline-yes">6x</span>
1426
- <span class="cline-any cline-neutral">&nbsp;</span>
1427
- <span class="cline-any cline-yes">6x</span>
1428
- <span class="cline-any cline-neutral">&nbsp;</span>
1429
- <span class="cline-any cline-yes">6x</span>
1430
- <span class="cline-any cline-yes">5x</span>
1431
- <span class="cline-any cline-yes">5x</span>
1432
- <span class="cline-any cline-yes">5x</span>
1433
- <span class="cline-any cline-neutral">&nbsp;</span>
1434
- <span class="cline-any cline-neutral">&nbsp;</span>
1435
- <span class="cline-any cline-neutral">&nbsp;</span>
1436
- <span class="cline-any cline-yes">4x</span>
1437
- <span class="cline-any cline-neutral">&nbsp;</span>
1438
- <span class="cline-any cline-yes">4x</span>
1439
- <span class="cline-any cline-neutral">&nbsp;</span>
1440
- <span class="cline-any cline-yes">4x</span>
1441
- <span class="cline-any cline-yes">3x</span>
1442
- <span class="cline-any cline-yes">3x</span>
1443
- <span class="cline-any cline-neutral">&nbsp;</span>
1444
- <span class="cline-any cline-neutral">&nbsp;</span>
1445
- <span class="cline-any cline-neutral">&nbsp;</span>
1446
- <span class="cline-any cline-yes">4x</span>
1447
- <span class="cline-any cline-neutral">&nbsp;</span>
1448
- <span class="cline-any cline-neutral">&nbsp;</span>
1449
- <span class="cline-any cline-yes">33x</span>
1450
- <span class="cline-any cline-neutral">&nbsp;</span>
1451
- <span class="cline-any cline-neutral">&nbsp;</span>
1452
- <span class="cline-any cline-neutral">&nbsp;</span>
1453
- <span class="cline-any cline-yes">93x</span>
1454
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Config, DateHelper, FormatterParserProvider, I18n, Mask, Utils, dayjs } from '@zeedhi/core';
1455
- import isUndefined from 'lodash.isundefined';
1456
- import { IDateRange } from './interfaces';
1457
- &nbsp;
1458
- import { InputFactory } from '../zd-input/input-factory';
1459
- import { TextInput } from '../zd-text-input/text-input';
1460
- &nbsp;
1461
- export class DateRange extends TextInput implements IDateRange {
1462
- /**
1463
- * Input auto complete.
1464
- */
1465
- public autocomplete = false;
1466
- &nbsp;
1467
- /**
1468
- * Defines the date format.
1469
- */
1470
- public dateFormat: string = Config.dateFormat;
1471
- &nbsp;
1472
- /**
1473
- * Defines the date format displayed.
1474
- */
1475
- public displayFormat: string = Config.displayFormat;
1476
- &nbsp;
1477
- /**
1478
- * Defines the date input format.
1479
- */
1480
- public inputFormat?: string = Config.dateInputFormat;
1481
- &nbsp;
1482
- /**
1483
- * Shows the date picker.
1484
- */
1485
- public showDatePicker = false;
1486
- &nbsp;
1487
- /**
1488
- * Sets the first day of the week, starting with 0 for Sunday.
1489
- */
1490
- public firstDayOfWeek: number | string = 0;
1491
- &nbsp;
1492
- /**
1493
- * Forces 100% width.
1494
- */
1495
- public fullWidth = false;
1496
- &nbsp;
1497
- /**
1498
- * Sets the locale. Accepts a string with a BCP 47 language tag.
1499
- */
1500
- public locale?: string = I18n.instance.language;
1501
- &nbsp;
1502
- /**
1503
- * Allows changing displayed month with mouse scroll
1504
- */
1505
- public scrollable = false;
1506
- &nbsp;
1507
- /**
1508
- * Toggles visibility of the week numbers in the body of the calendar.
1509
- */
1510
- public showWeek = false;
1511
- &nbsp;
1512
- /**
1513
- * Character that will separate the two dates
1514
- */
1515
- public get splitter(): string {
1516
- return I18n.translate(this.internalSplitter);
1517
- }
1518
- &nbsp;
1519
- public set splitter(splitter: string) {
1520
- this.internalSplitter = splitter;
1521
- }
1522
- &nbsp;
1523
- private internalSplitter = ' ~ ';
1524
- &nbsp;
1525
- /**
1526
- * Width of the picker.
1527
- */
1528
- &nbsp;
1529
- public width: number | string = 248;
1530
- &nbsp;
1531
- /**
1532
- * Helper options.
1533
- */
1534
- public helperOptions?: string[] = [];
1535
- &nbsp;
1536
- /**
1537
- * Max value allowed.
1538
- */
1539
- public max?: string = '';
1540
- &nbsp;
1541
- /**
1542
- * Min value allowed.
1543
- */
1544
- public min?: string = '';
1545
- &nbsp;
1546
- /**
1547
- * Helper value.
1548
- */
1549
- public helperValue?: string = '';
1550
- &nbsp;
1551
- protected isoFormat = 'YYYY-MM-DD';
1552
- &nbsp;
1553
- protected dateError = false;
1554
- &nbsp;
1555
- protected formatterFn = FormatterParserProvider.getFormatter('ZdDateRange');
1556
- &nbsp;
1557
- protected parserFn = FormatterParserProvider.getParser('ZdDateRange');
1558
- &nbsp;
1559
- protected initialMask?: string;
1560
- &nbsp;
1561
- public unitMask?: string;
1562
- &nbsp;
1563
- protected isSimpleDisplay!: boolean;
1564
- &nbsp;
1565
- public inputMode?: string | undefined = 'none';
1566
- &nbsp;
1567
- /* istanbul ignore next */
1568
- /**
1569
- * Creates a new Date.
1570
- * @param props Date properties
1571
- */
1572
- constructor(props: IDateRange) {
1573
- super(props);
1574
- // Add this logic to resolve template strings
1575
- if (typeof props.appendIcon === 'string' &amp;&amp; props.appendIcon.startsWith('{{') &amp;&amp; props.appendIcon.endsWith('}}')) {
1576
- const match = props.appendIcon.match(/{{(.*?)}}/);
1577
- if (match) {
1578
- const path = match[1].trim().split('.');
1579
- let value: any = window;
1580
- for (const key of path) {
1581
- value = value?.[key];
1582
- }
1583
- this.appendIcon = value ?? props.appendIcon;
1584
- } else {
1585
- this.appendIcon = props.appendIcon;
1586
- }
1587
- } else {
1588
- this.appendIcon = this.getInitValue('appendIcon', props.appendIcon, 'calendar');
1589
- }
1590
- this.autocomplete = this.getInitValue('autocomplete', props.autocomplete, this.autocomplete);
1591
- this.dateFormat = this.getInitValue('dateFormat', props.dateFormat, this.dateFormat);
1592
- this.dateValidation = this.dateValidation.bind(this);
1593
- this.displayFormat = this.getInitValue('displayFormat', props.displayFormat, this.displayFormat);
1594
- this.inputFormat = this.getInitValue('inputFormat', props.inputFormat, this.inputFormat);
1595
- this.firstDayOfWeek = this.getInitValue('firstDayOfWeek', props.firstDayOfWeek, this.firstDayOfWeek);
1596
- this.fullWidth = this.getInitValue('fullWidth', props.fullWidth, this.fullWidth);
1597
- this.locale = this.getInitValue('locale', props.locale, this.locale);
1598
- this.scrollable = this.getInitValue('scrollable', props.scrollable, this.scrollable);
1599
- this.showDatePicker = this.getInitValue('showDatePicker', props.showDatePicker, this.showDatePicker);
1600
- this.showWeek = this.getInitValue('showWeek', props.showWeek, this.showWeek);
1601
- this.splitter = this.getInitValue('splitter', props.splitter, this.internalSplitter);
1602
- this.width = this.getInitValue('width', props.width, this.width);
1603
- this.mask = this.getInitValue('mask', props.mask, undefined);
1604
- this.helperOptions = this.getInitValue('helperOptions', props.helperOptions, this.helperOptions);
1605
- this.helperValue = this.getInitValue('helperValue', props.helperValue, this.helperValue);
1606
- this.min = this.getInitValue('min', props.min, this.min);
1607
- this.max = this.getInitValue('max', props.max, this.max);
1608
- this.rules.push(this.dateValidation);
1609
- &nbsp;
1610
- this.unitMask = this.mask;
1611
- this.initialMask = this.getInitialMask();
1612
- &nbsp;
1613
- this.isSimpleDisplay = this.isSimpleFormat(this.displayFormat);
1614
- const userAppendIconClick = this.events.appendIconClick;
1615
- this.events.appendIconClick = ({ event, element, component }) =&gt; {
1616
- this.iconClick(event!, element!);
1617
- if (userAppendIconClick &amp;&amp; typeof userAppendIconClick === 'function') {
1618
- userAppendIconClick({ event, element, component });
1619
- }
1620
- };
1621
- }
1622
- &nbsp;
1623
- private getInitialMask() {
1624
- if (isUndefined(this.mask)) {
1625
- this.unitMask = this.inputFormat &amp;&amp; this.maskFormat(this.inputFormat);
1626
- }
1627
- &nbsp;
1628
- if (!this.unitMask) {
1629
- this.mask = this.unitMask;
1630
- return this.unitMask;
1631
- }
1632
- &nbsp;
1633
- this.mask = `${this.unitMask}${this.splitter}${this.unitMask}`;
1634
- &nbsp;
1635
- return this.mask;
1636
- }
1637
- &nbsp;
1638
- public formatter(value: any): string {
1639
- return this.formatterFn(value, this);
1640
- }
1641
- &nbsp;
1642
- public parser(value: string): any {
1643
- return this.parserFn(value, this);
1644
- }
1645
- &nbsp;
1646
- get displayValue() {
1647
- return this.internalDisplayValue;
1648
- }
1649
- &nbsp;
1650
- set displayValue(newValue: string) {
1651
- this.dateError = false;
1652
- this.internalDisplayValue = newValue;
1653
- if (newValue) this.internalValue = this.parser(newValue);
1654
- else this.internalValue = [];
1655
- this.value = this.internalValue; // forces value accessor to be called if necessary
1656
- }
1657
- &nbsp;
1658
- get value(): string[] {
1659
- return this.internalValue;
1660
- }
1661
- &nbsp;
1662
- set value(value: unknown) {
1663
- if (!Array.isArray(value) &amp;&amp; value !== null &amp;&amp; value !== undefined) return;
1664
- &nbsp;
1665
- if (!value || value.length === 0) {
1666
- this.internalValue = [];
1667
- this.internalDisplayValue = '';
1668
- this.dateObject = [];
1669
- return;
1670
- }
1671
- &nbsp;
1672
- if (this.internalValue === value) return;
1673
- &nbsp;
1674
- this.internalDisplayValue = this.formatter(value);
1675
- this.internalValue = value;
1676
- &nbsp;
1677
- const [startDate, endDate] = value;
1678
- const isStartValid = this.isValidFormatDate(startDate, this.dateFormat);
1679
- // if end date is not defined, no need to validate it
1680
- const isEndValid = !endDate || this.isValidFormatDate(endDate, this.dateFormat);
1681
- const areDatesValid = isStartValid &amp;&amp; isEndValid;
1682
- &nbsp;
1683
- if (areDatesValid) {
1684
- this.dateObject = this.getDatesInRange(startDate, endDate);
1685
- }
1686
- }
1687
- &nbsp;
1688
- /**
1689
- * Returns all days ranging from start to end as dayjs objects
1690
- * @returns an array of dayjs objects containing all days between start and end
1691
- */
1692
- private getDatesInRange(startDateStr: string, endDateStr?: string): dayjs.Dayjs[] {
1693
- const dates: dayjs.Dayjs[] = [];
1694
- let startDate = dayjs(startDateStr, this.dateFormat);
1695
- if (!endDateStr) return [startDate];
1696
- &nbsp;
1697
- const endDate = dayjs(endDateStr, this.dateFormat);
1698
- &nbsp;
1699
- while (startDate.isBefore(endDate) || startDate.isSame(endDate)) {
1700
- dates.push(startDate);
1701
- startDate = startDate.add(1, 'day');
1702
- }
1703
- return dates;
1704
- };
1705
- &nbsp;
1706
- /**
1707
- * Assign the updated mask to mask property
1708
- */
1709
- public updateMask() {
1710
- this.isSimpleDisplay = this.isSimpleFormat(this.displayFormat);
1711
- this.mask = this.getUpdatedMask();
1712
- return this.mask;
1713
- }
1714
- &nbsp;
1715
- /**
1716
- * Gets the updated masked, based on displayFormat if the initial mask is undefined
1717
- */
1718
- protected getUpdatedMask(): string | undefined {
1719
- if (isUndefined(this.getInitialMask())) {
1720
- return this.maskFormat(`${this.displayFormat}${this.splitter}${this.displayFormat}`);
1721
- }
1722
- return this.mask;
1723
- }
1724
- &nbsp;
1725
- protected maskFormat(format: string) {
1726
- return format.replace(/[A-Za-z]/gi, '#');
1727
- }
1728
- &nbsp;
1729
- public setDateValue(displayValue: string) {
1730
- const lastValue = this.displayValue;
1731
- const values = this.splitValues(displayValue);
1732
- if (this.isValidDateArray(this.displayFormat, values)) {
1733
- this.internalDisplayValue = displayValue;
1734
- this.internalValue = this.parser(displayValue);
1735
- this.dateError = false;
1736
- if (lastValue !== this.displayValue) this.change();
1737
- } else {
1738
- if (!displayValue) {
1739
- this.internalDisplayValue = displayValue;
1740
- this.internalValue = [];
1741
- if (lastValue !== this.displayValue) this.change();
1742
- }
1743
- this.dateError = !!displayValue;
1744
- }
1745
- this.value = this.internalValue; // forces value accessor to be called if necessary
1746
- }
1747
- &nbsp;
1748
- /**
1749
- * Faz a validação do array de datas
1750
- * @param format o formato da data
1751
- * @param values o array de datas
1752
- * @returns true se todos os valores forem validados
1753
- * */
1754
- public isValidDateArray(format: string, values?: string[]) {
1755
- if (!values || values.length &lt; 2) return false;
1756
- return values.every((value) =&gt; this.isValidDate(value, format));
1757
- }
1758
- &nbsp;
1759
- private splitValues(value: string) {
1760
- let splitedValue: string[] = [];
1761
- if (!value) return splitedValue;
1762
- &nbsp;
1763
- if (value.indexOf(this.splitter) !== -1) {
1764
- splitedValue = value.split(this.splitter);
1765
- if (splitedValue[1] === '') return [splitedValue[0]];
1766
- return splitedValue;
1767
- }
1768
- return [value];
1769
- }
1770
- &nbsp;
1771
- public isValidDate(value: string, format: string, strict = true): boolean {
1772
- const date = dayjs(value, format, strict);
1773
- const isValidFormat = date.isValid();
1774
- if (!isValidFormat) return false;
1775
- &nbsp;
1776
- const minDate = this.min ? dayjs(this.min, this.dateFormat) : null;
1777
- const isValidMin = !minDate || date.isAfter(minDate) || date.isSame(minDate);
1778
- if (!isValidMin) return false;
1779
- &nbsp;
1780
- const maxDate = this.max ? dayjs(this.max, this.dateFormat) : null;
1781
- const isValidMax = !maxDate || date.isBefore(maxDate) || date.isSame(maxDate);
1782
- if (!isValidMax) return false;
1783
- &nbsp;
1784
- return true;
1785
- }
1786
- &nbsp;
1787
- public isValidFormatDate(value: string, format: string, strict = true): boolean {
1788
- return dayjs(value, format, strict).isValid();
1789
- }
1790
- &nbsp;
1791
- get isoRangeValue() {
1792
- return this.formatISODateRangeValue(this.value);
1793
- }
1794
- &nbsp;
1795
- set isoRangeValue(newValue: string[]) {
1796
- const lastValue: string[] = this.value;
1797
- this.dateError = false;
1798
- this.value = this.parseISODateRangeValue(newValue);
1799
- if (!Utils.isEqual(lastValue, this.value)) this.change();
1800
- }
1801
- &nbsp;
1802
- public formatISODateRangeValue(dates: string[] | string): string[] {
1803
- let splitedValue: string[];
1804
- &nbsp;
1805
- if (Array.isArray(dates)) splitedValue = dates;
1806
- else splitedValue = this.splitValues(dates);
1807
- &nbsp;
1808
- const formattedValue: string[] = [];
1809
- splitedValue.forEach((value) =&gt; {
1810
- if (value &amp;&amp; this.isValidFormatDate(value, this.dateFormat)) {
1811
- formattedValue.push(dayjs(value, this.dateFormat, true).format(this.isoFormat));
1812
- }
1813
- });
1814
- return formattedValue;
1815
- }
1816
- &nbsp;
1817
- public parseISODateRangeValue(values: string[]): any {
1818
- const parsedValue: string[] = [];
1819
- if (values.length) {
1820
- values.forEach((value) =&gt; {
1821
- if (value &amp;&amp; this.isValidFormatDate(value, this.isoFormat)) {
1822
- parsedValue.push(dayjs(value, this.isoFormat, true).format(this.dateFormat));
1823
- }
1824
- });
1825
- }
1826
- return this.sortDates(parsedValue);
1827
- }
1828
- &nbsp;
1829
- private sortDates(parsedValue: string[]): string[] {
1830
- return parsedValue.sort((a: string, b: string) =&gt;
1831
- dayjs(a, this.dateFormat).isAfter(dayjs(b, this.dateFormat)) ? 1 : -1,
1832
- );
1833
- }
1834
- &nbsp;
1835
- public dateValidation(): boolean | string {
1836
- return !this.dateError || I18n.translate('VALIDATION_INVALID_DATE');
1837
- }
1838
- &nbsp;
1839
- public click(event?: Event, element?: any) {
1840
- const clickEvent = event || new MouseEvent('click');
1841
- super.click(clickEvent, element);
1842
- if (!clickEvent.defaultPrevented) {
1843
- this.showDatePicker = !this.showDatePicker;
1844
- }
1845
- }
1846
- &nbsp;
1847
- public blur(event: Event, element: any) {
1848
- if (this.value) {
1849
- this.value = this.sortDates(this.value);
1850
- this.removeDateMask();
1851
- this.setDateValue(this.formatter(this.value));
1852
- super.blur(event, element);
1853
- }
1854
- if (!Utils.isMobile()) {
1855
- this.showDatePicker = false;
1856
- }
1857
- }
1858
- &nbsp;
1859
- public focus(event: Event, element: any) {
1860
- this.addDateMask();
1861
- super.focus(event, element);
1862
- }
1863
- &nbsp;
1864
- /**
1865
- * Add date mask
1866
- */
1867
- protected addDateMask() {
1868
- if (isUndefined(this.getInitialMask()) || !this.value) return;
1869
- &nbsp;
1870
- setTimeout(() =&gt; {
1871
- this.mask = this.getInitialMask();
1872
- const firstDate = this.value[0]
1873
- ? dayjs(this.value[0], this.dateFormat).format(this.inputFormat || this.displayFormat)
1874
- : '';
1875
- const lastDate = this.value[1]
1876
- ? dayjs(this.value[1], this.dateFormat).format(this.inputFormat || this.displayFormat)
1877
- : '';
1878
- this.internalDisplayValue = `${firstDate}${lastDate ? this.splitter : ''}${lastDate}`;
1879
- });
1880
- }
1881
- &nbsp;
1882
- /**
1883
- * Removes the component mask if value is valid
1884
- */
1885
- protected removeDateMask() {
1886
- if (
1887
- isUndefined(this.getInitialMask()) ||
1888
- !this.value ||
1889
- this.dateError ||
1890
- !this.isValidDateArray(this.dateFormat, this.value)
1891
- ) {
1892
- return;
1893
- }
1894
- this.mask = '';
1895
- }
1896
- &nbsp;
1897
- /**
1898
- * Toggle showDatePicker value
1899
- */
1900
- public togglePicker() {
1901
- this.showDatePicker = !this.showDatePicker;
1902
- }
1903
- &nbsp;
1904
- /**
1905
- * Triggered when the appended icon is clicked.
1906
- * @param event DOM event
1907
- * @param element Text input
1908
- */
1909
- public iconClick(event: Event, element: any) {
1910
- super.click(event, element);
1911
- if (!event.defaultPrevented) {
1912
- this.togglePicker();
1913
- }
1914
- }
1915
- &nbsp;
1916
- /**
1917
- * Checks if a date format is simple.
1918
- * Simple date formats are the ones that consists only of 'DD', 'MM' or 'YYYY', and mask delimiters
1919
- * @param format The format to be checked
1920
- * @returns true if it is simple, false otherwise
1921
- */
1922
- protected isSimpleFormat(format: string): boolean {
1923
- const simpleTokens = ['DD', 'MM', 'YYYY'];
1924
- &nbsp;
1925
- // remove the simple tokens from the string
1926
- const replaced = simpleTokens.reduce((result, token) =&gt; result.replace(token, ''), format);
1927
- &nbsp;
1928
- const chars = replaced.split('');
1929
- &nbsp;
1930
- return chars.length ? chars.every((char) =&gt; Mask.isMaskDelimiter(char)) : true;
1931
- }
1932
- &nbsp;
1933
- private previousHint = '';
1934
- &nbsp;
1935
- private previousPersistentHint = false;
1936
- &nbsp;
1937
- public updateHelperHint(helperValue: string) {
1938
- const previousHelperHint = this.helperValue ? DateHelper.getLabel(this.helperValue) : '';
1939
- &nbsp;
1940
- if (!this.hint || previousHelperHint !== this.hint) {
1941
- this.previousHint = this.hint;
1942
- this.previousPersistentHint = this.persistentHint;
1943
- }
1944
- &nbsp;
1945
- this.helperValue = helperValue;
1946
- const label = DateHelper.getLabel(helperValue);
1947
- &nbsp;
1948
- if (!helperValue || !label) {
1949
- this.hint = this.previousHint;
1950
- this.persistentHint = this.previousPersistentHint;
1951
- return;
1952
- }
1953
- &nbsp;
1954
- this.hint = label;
1955
- this.persistentHint = true;
1956
- }
1957
- &nbsp;
1958
- public change(event?: Event, element?: any): void {
1959
- super.change(event, element);
1960
- this.updateHelperHint('');
1961
- }
1962
- &nbsp;
1963
- private getExtremities&lt;T&gt;(arr: T[]) {
1964
- if (arr.length === 0) return [];
1965
- &nbsp;
1966
- if (arr.length === 1) return [arr[0]];
1967
- &nbsp;
1968
- return [arr[0], arr[arr.length - 1]];
1969
- }
1970
- &nbsp;
1971
- public setNativeDate(date: Date[]) {
1972
- this.dateError = false;
1973
- this.dateObject = date.map((obj) =&gt; dayjs(obj));
1974
- &nbsp;
1975
- const extremityDates = this.getExtremities(this.dateObject);
1976
- this.value = extremityDates
1977
- .filter((obj): obj is dayjs.Dayjs =&gt; obj !== null)
1978
- .map((obj) =&gt; obj.format(this.dateFormat));
1979
- }
1980
- &nbsp;
1981
- private dateObject: (dayjs.Dayjs | null)[] = [];
1982
- &nbsp;
1983
- public getNativeDate() {
1984
- return this.dateObject.filter((obj): obj is dayjs.Dayjs =&gt; obj !== null).map((obj) =&gt; obj.toDate());
1985
- }
1986
- &nbsp;
1987
- public getMaskValue() {
1988
- let mask: any = '';
1989
- &nbsp;
1990
- if (typeof this.mask === 'function') {
1991
- mask = this.mask(Mask.getValueWithoutMask(this.value?.[0] || ''));
1992
- } else if (typeof this.mask === 'string') {
1993
- mask = this.mask.split(this.splitter)[0] || '';
1994
- mask = Mask.getMaskArray(mask);
1995
- if (Array.isArray(mask) &amp;&amp; mask.length &gt; 0) {
1996
- mask = mask.concat(this.splitter.split('')).concat(mask);
1997
- }
1998
- } else if (Array.isArray(this.mask)) {
1999
- mask = this.mask;
2000
- }
2001
- &nbsp;
2002
- return mask;
2003
- }
2004
- }
2005
- &nbsp;
2006
- FormatterParserProvider.registerFormatter(
2007
- 'ZdDateRange',
2008
- (
2009
- value: string[],
2010
- {
2011
- dateFormat = Config.dateFormat,
2012
- displayFormat = Config.displayFormat,
2013
- inputFormat = Config.dateInputFormat,
2014
- initialMask,
2015
- splitter = ' ~ ',
2016
- unitMask = '',
2017
- mask = '',
2018
- isSimpleDisplay = false,
2019
- }: any = {},
2020
- ) =&gt; {
2021
- if (!value || value.length === 0 || (value.length === 1 &amp;&amp; !value[0])) {
2022
- return '';
2023
- }
2024
- const formattedValue: string[] = [];
2025
- value.forEach((date) =&gt; {
2026
- if (date) {
2027
- const isDateValid = dayjs(date, dateFormat, true).isValid();
2028
- &nbsp;
2029
- if (!isDateValid) {
2030
- formattedValue.push(date);
2031
- return;
2032
- }
2033
- &nbsp;
2034
- if (initialMask &amp;&amp; mask &amp;&amp; unitMask) {
2035
- if (inputFormat) {
2036
- const formatted = dayjs(date, dateFormat).format(inputFormat);
2037
- formattedValue.push(formatted);
2038
- return;
2039
- }
2040
- &nbsp;
2041
- let valueToUnmask = date;
2042
- if (isSimpleDisplay) {
2043
- valueToUnmask = dayjs(date, dateFormat).format(displayFormat);
2044
- }
2045
- &nbsp;
2046
- const unmasked = Mask.getValueWithoutMask(valueToUnmask);
2047
- const masked = Mask.getValueWithMask(unmasked, unitMask);
2048
- &nbsp;
2049
- formattedValue.push(masked);
2050
- return;
2051
- }
2052
- &nbsp;
2053
- const formatted = dayjs(date, dateFormat).format(displayFormat);
2054
- formattedValue.push(formatted);
2055
- }
2056
- });
2057
- &nbsp;
2058
- let displayOutput: string = formattedValue[0];
2059
- if (formattedValue.length === 2) {
2060
- displayOutput += `${splitter}${formattedValue[1]}`;
2061
- }
2062
- &nbsp;
2063
- return displayOutput;
2064
- },
2065
- );
2066
- &nbsp;
2067
- FormatterParserProvider.registerParser(
2068
- 'ZdDateRange',
2069
- (
2070
- value: string,
2071
- {
2072
- dateFormat = Config.dateFormat,
2073
- displayFormat = Config.displayFormat,
2074
- inputFormat = Config.dateInputFormat,
2075
- splitter = ' ~ ',
2076
- unitMask = '',
2077
- mask = '',
2078
- initialMask,
2079
- isSimpleDisplay = false,
2080
- }: any = {},
2081
- ) =&gt; {
2082
- if (!value) {
2083
- return [];
2084
- }
2085
- &nbsp;
2086
- let splitedValue: string[] = [];
2087
- &nbsp;
2088
- if (value.indexOf(splitter) !== -1) {
2089
- splitedValue = value.split(splitter);
2090
- } else {
2091
- splitedValue.push(value);
2092
- }
2093
- &nbsp;
2094
- const formattedValue: string[] = [];
2095
- splitedValue.forEach((date) =&gt; {
2096
- if (date) {
2097
- if (dayjs(date, displayFormat, true).isValid()) {
2098
- const parsedDate = dayjs(date, displayFormat).format(dateFormat);
2099
- formattedValue.push(parsedDate);
2100
- return;
2101
- }
2102
- &nbsp;
2103
- if (unitMask &amp;&amp; mask &amp;&amp; Mask.checkMask(date, unitMask)) {
2104
- if (inputFormat) {
2105
- if (dayjs(date, inputFormat, true).isValid()) {
2106
- const parsedDate = dayjs(date, inputFormat).format(dateFormat);
2107
- formattedValue.push(parsedDate);
2108
- return;
2109
- }
2110
- &nbsp;
2111
- formattedValue.push(date);
2112
- return;
2113
- }
2114
- &nbsp;
2115
- const unmasked = Mask.getValueWithoutMask(date);
2116
- let masked;
2117
- &nbsp;
2118
- if (!initialMask || isSimpleDisplay) {
2119
- const displayFmtMask = displayFormat.replace(/[A-Za-z]/gi, '#');
2120
- &nbsp;
2121
- masked = Mask.getValueWithMask(unmasked, displayFmtMask);
2122
- &nbsp;
2123
- if (dayjs(masked, displayFormat, true).format(displayFormat) === masked) {
2124
- const parsedDate = dayjs(masked, displayFormat).format(dateFormat);
2125
- formattedValue.push(parsedDate);
2126
- return;
2127
- }
2128
- }
2129
- &nbsp;
2130
- const dateFmtMask = dateFormat.replace(/[A-Za-z]/gi, '#');
2131
- &nbsp;
2132
- masked = Mask.getValueWithMask(unmasked, dateFmtMask);
2133
- &nbsp;
2134
- if (dayjs(masked, dateFormat, true).isValid()) {
2135
- formattedValue.push(masked);
2136
- return;
2137
- }
2138
- }
2139
- &nbsp;
2140
- formattedValue.push(date);
2141
- }
2142
- });
2143
- return formattedValue;
2144
- },
2145
- );
2146
- &nbsp;
2147
- InputFactory.register('ZdDateRange', DateRange);
2148
- &nbsp;</pre></td></tr></table></pre>
2149
-
2150
- <div class='push'></div><!-- for sticky footer -->
2151
- </div><!-- /wrapper -->
2152
- <div class='footer quiet pad2 space-top1 center small'>
2153
- Code coverage generated by
2154
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2155
- at 2025-11-06T17:56:59.252Z
2156
- </div>
2157
- <script src="../../../prettify.js"></script>
2158
- <script>
2159
- window.onload = function () {
2160
- prettyPrint();
2161
- };
2162
- </script>
2163
- <script src="../../../sorter.js"></script>
2164
- <script src="../../../block-navigation.js"></script>
2165
- </body>
2166
- </html>
2167
-