@lcap/nasl 3.7.3-beta.3 → 3.7.4-beta.1

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 (327) hide show
  1. package/out/concepts/BindAttribute__.js +3 -3
  2. package/out/concepts/BindAttribute__.js.map +1 -1
  3. package/out/concepts/BindDirective__.js +3 -3
  4. package/out/concepts/BindDirective__.js.map +1 -1
  5. package/out/concepts/CallLogic__.js +2 -2
  6. package/out/concepts/CallLogic__.js.map +1 -1
  7. package/out/concepts/MemberExpression__.js +4 -4
  8. package/out/concepts/MemberExpression__.js.map +1 -1
  9. package/out/concepts/StringLiteral__.js +3 -3
  10. package/out/concepts/StringLiteral__.js.map +1 -1
  11. package/out/concepts/ViewElement__.d.ts +3 -0
  12. package/out/concepts/ViewElement__.js +2 -2
  13. package/out/concepts/ViewElement__.js.map +1 -1
  14. package/out/concepts/basics/stdlib/nasl.processV2.js +1 -1
  15. package/out/concepts/basics/stdlib/nasl.processV2.js.map +1 -1
  16. package/out/generator/genBundleFiles.d.ts +1 -0
  17. package/out/generator/genBundleFiles.js +6 -2
  18. package/out/generator/genBundleFiles.js.map +1 -1
  19. package/out/generator/release-body/body.d.ts +1 -0
  20. package/out/generator/release-body/body.js +37 -5
  21. package/out/generator/release-body/body.js.map +1 -1
  22. package/package.json +1 -1
  23. package/sandbox/stdlib/nasl.processV2.ts +1 -1
  24. package/src/concepts/BindAttribute__.ts +3 -3
  25. package/src/concepts/BindDirective__.ts +3 -3
  26. package/src/concepts/CallLogic__.ts +2 -2
  27. package/src/concepts/MemberExpression__.ts +4 -4
  28. package/src/concepts/StringLiteral__.ts +3 -3
  29. package/src/concepts/ViewElement__.ts +5 -2
  30. package/src/concepts/basics/stdlib/nasl.processV2.ts +1 -1
  31. package/src/generator/genBundleFiles.ts +8 -3
  32. package/src/generator/release-body/body.ts +40 -4
  33. package/.nyc_output/943352aa-23df-44e0-863b-3dcd3e8bf57a.json +0 -1
  34. package/.nyc_output/processinfo/943352aa-23df-44e0-863b-3dcd3e8bf57a.json +0 -1
  35. package/.nyc_output/processinfo/index.json +0 -1
  36. package/coverage/base.css +0 -224
  37. package/coverage/block-navigation.js +0 -87
  38. package/coverage/cobertura-coverage.xml +0 -72356
  39. package/coverage/favicon.png +0 -0
  40. package/coverage/index.html +0 -161
  41. package/coverage/prettify.css +0 -1
  42. package/coverage/prettify.js +0 -2
  43. package/coverage/sort-arrow-sprite.png +0 -0
  44. package/coverage/sorter.js +0 -196
  45. package/coverage/src/automate/engine/index.html +0 -116
  46. package/coverage/src/automate/engine/utils.js.html +0 -1414
  47. package/coverage/src/bak/index.html +0 -116
  48. package/coverage/src/bak/translator.js.html +0 -622
  49. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +0 -175
  50. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +0 -169
  51. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +0 -1246
  52. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +0 -145
  53. package/coverage/src/breakpoint/generator/index.html +0 -176
  54. package/coverage/src/breakpoint/generator/index.ts.html +0 -508
  55. package/coverage/src/breakpoint/index.html +0 -116
  56. package/coverage/src/breakpoint/index.ts.html +0 -94
  57. package/coverage/src/breakpoint/shared/constants.ts.html +0 -436
  58. package/coverage/src/breakpoint/shared/index.html +0 -176
  59. package/coverage/src/breakpoint/shared/index.ts.html +0 -94
  60. package/coverage/src/breakpoint/shared/operations.ts.html +0 -160
  61. package/coverage/src/breakpoint/shared/socket.ts.html +0 -1297
  62. package/coverage/src/breakpoint/shared/utils.ts.html +0 -1087
  63. package/coverage/src/breakpoint/store/core.ts.html +0 -1600
  64. package/coverage/src/breakpoint/store/dock.ts.html +0 -733
  65. package/coverage/src/breakpoint/store/index.html +0 -146
  66. package/coverage/src/breakpoint/store/index.ts.html +0 -91
  67. package/coverage/src/common/BaseNode.ts.html +0 -3874
  68. package/coverage/src/common/Command.ts.html +0 -310
  69. package/coverage/src/common/EventEmitter.ts.html +0 -370
  70. package/coverage/src/common/Messager.ts.html +0 -820
  71. package/coverage/src/common/asyncFuncMap.ts.html +0 -127
  72. package/coverage/src/common/index.html +0 -191
  73. package/coverage/src/common/index.ts.html +0 -94
  74. package/coverage/src/concepts/Abort__.ts.html +0 -328
  75. package/coverage/src/concepts/Anchor__.ts.html +0 -646
  76. package/coverage/src/concepts/AnonymousFunction__.ts.html +0 -2029
  77. package/coverage/src/concepts/App__.ts.html +0 -13252
  78. package/coverage/src/concepts/Argument__.ts.html +0 -964
  79. package/coverage/src/concepts/Assignee__.ts.html +0 -2236
  80. package/coverage/src/concepts/AssignmentLine__.ts.html +0 -409
  81. package/coverage/src/concepts/Assignment__.ts.html +0 -1123
  82. package/coverage/src/concepts/Attribute__.ts.html +0 -733
  83. package/coverage/src/concepts/AuthInterface__.ts.html +0 -367
  84. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +0 -1984
  85. package/coverage/src/concepts/AuthLogic__.ts.html +0 -781
  86. package/coverage/src/concepts/BackendVariable__.ts.html +0 -1483
  87. package/coverage/src/concepts/Backend__.ts.html +0 -1165
  88. package/coverage/src/concepts/BatchAssignment__.ts.html +0 -3301
  89. package/coverage/src/concepts/BinaryExpression__.ts.html +0 -1441
  90. package/coverage/src/concepts/BindAttribute__.ts.html +0 -3835
  91. package/coverage/src/concepts/BindDirective__.ts.html +0 -1921
  92. package/coverage/src/concepts/BindEvent__.ts.html +0 -3406
  93. package/coverage/src/concepts/BindStyle__.ts.html +0 -1612
  94. package/coverage/src/concepts/BooleanLiteral__.ts.html +0 -418
  95. package/coverage/src/concepts/CallAuthInterface__.ts.html +0 -1615
  96. package/coverage/src/concepts/CallConnector__.ts.html +0 -922
  97. package/coverage/src/concepts/CallFunction__.ts.html +0 -2122
  98. package/coverage/src/concepts/CallInterface__.ts.html +0 -2719
  99. package/coverage/src/concepts/CallLogic__.ts.html +0 -4807
  100. package/coverage/src/concepts/CallQueryComponent__.ts.html +0 -5308
  101. package/coverage/src/concepts/Comment__.ts.html +0 -394
  102. package/coverage/src/concepts/CompletionProperty__.ts.html +0 -925
  103. package/coverage/src/concepts/ConfigGroup__.ts.html +0 -1105
  104. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +0 -424
  105. package/coverage/src/concepts/ConfigProperty__.ts.html +0 -1348
  106. package/coverage/src/concepts/Configuration__.ts.html +0 -1027
  107. package/coverage/src/concepts/Connection__.ts.html +0 -1360
  108. package/coverage/src/concepts/ConnectorTrigger__.ts.html +0 -595
  109. package/coverage/src/concepts/Connector__.ts.html +0 -4255
  110. package/coverage/src/concepts/Constant__.ts.html +0 -913
  111. package/coverage/src/concepts/DataSource__.ts.html +0 -1771
  112. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +0 -331
  113. package/coverage/src/concepts/Destination__.ts.html +0 -2731
  114. package/coverage/src/concepts/End__.ts.html +0 -433
  115. package/coverage/src/concepts/EntityIndex__.ts.html +0 -787
  116. package/coverage/src/concepts/EntityProperty__.ts.html +0 -2668
  117. package/coverage/src/concepts/Entity__.ts.html +0 -2950
  118. package/coverage/src/concepts/EnumItem__.ts.html +0 -550
  119. package/coverage/src/concepts/Enum__.ts.html +0 -1231
  120. package/coverage/src/concepts/Event__.ts.html +0 -1084
  121. package/coverage/src/concepts/ExternalDestination__.ts.html +0 -1033
  122. package/coverage/src/concepts/ForEachStatement__.ts.html +0 -1957
  123. package/coverage/src/concepts/FrontendLibrary__.ts.html +0 -1711
  124. package/coverage/src/concepts/FrontendVariable__.ts.html +0 -292
  125. package/coverage/src/concepts/Frontend__.ts.html +0 -3961
  126. package/coverage/src/concepts/Function__.ts.html +0 -3598
  127. package/coverage/src/concepts/Identifier__.ts.html +0 -1057
  128. package/coverage/src/concepts/IfStatement__.ts.html +0 -1594
  129. package/coverage/src/concepts/Integration__.ts.html +0 -1228
  130. package/coverage/src/concepts/InterfaceParam__.ts.html +0 -1087
  131. package/coverage/src/concepts/Interface__.ts.html +0 -3394
  132. package/coverage/src/concepts/JSBlock__.ts.html +0 -421
  133. package/coverage/src/concepts/JavaLogic__.ts.html +0 -460
  134. package/coverage/src/concepts/LogicItem__.ts.html +0 -1171
  135. package/coverage/src/concepts/Logic__.ts.html +0 -7408
  136. package/coverage/src/concepts/MatchCase__.ts.html +0 -2929
  137. package/coverage/src/concepts/Match__.ts.html +0 -2455
  138. package/coverage/src/concepts/MemberExpression__.ts.html +0 -1726
  139. package/coverage/src/concepts/MicroApp__.ts.html +0 -436
  140. package/coverage/src/concepts/Module__.ts.html +0 -9220
  141. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +0 -1045
  142. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +0 -1018
  143. package/coverage/src/concepts/Namespace__.ts.html +0 -7942
  144. package/coverage/src/concepts/NewComposite__.ts.html +0 -4729
  145. package/coverage/src/concepts/NewList__.ts.html +0 -1618
  146. package/coverage/src/concepts/NewMap__.ts.html +0 -2326
  147. package/coverage/src/concepts/New__.ts.html +0 -289
  148. package/coverage/src/concepts/NullLiteral__.ts.html +0 -349
  149. package/coverage/src/concepts/NumericLiteral__.ts.html +0 -676
  150. package/coverage/src/concepts/OqlQueryComponent__.ts.html +0 -1141
  151. package/coverage/src/concepts/OverriddenLogic__.ts.html +0 -6817
  152. package/coverage/src/concepts/Param__.ts.html +0 -1726
  153. package/coverage/src/concepts/Point__.ts.html +0 -331
  154. package/coverage/src/concepts/ProcessComponent__.ts.html +0 -1666
  155. package/coverage/src/concepts/ProcessElement__.ts.html +0 -5884
  156. package/coverage/src/concepts/ProcessOutcome__.ts.html +0 -352
  157. package/coverage/src/concepts/ProcessOutcomes__.ts.html +0 -343
  158. package/coverage/src/concepts/Process__.ts.html +0 -4768
  159. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +0 -568
  160. package/coverage/src/concepts/QueryFieldExpression__.ts.html +0 -583
  161. package/coverage/src/concepts/QueryFromExpression__.ts.html +0 -910
  162. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +0 -559
  163. package/coverage/src/concepts/QueryJoinExpression__.ts.html +0 -1567
  164. package/coverage/src/concepts/QueryLimitExpression__.ts.html +0 -637
  165. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +0 -679
  166. package/coverage/src/concepts/QuerySelectExpression__.ts.html +0 -1714
  167. package/coverage/src/concepts/Rect__.ts.html +0 -373
  168. package/coverage/src/concepts/Return__.ts.html +0 -1312
  169. package/coverage/src/concepts/Role__.ts.html +0 -601
  170. package/coverage/src/concepts/SelectMembers__.ts.html +0 -1246
  171. package/coverage/src/concepts/Slot__.ts.html +0 -628
  172. package/coverage/src/concepts/SqlQueryComponent__.ts.html +0 -982
  173. package/coverage/src/concepts/Start__.ts.html +0 -304
  174. package/coverage/src/concepts/StringInterpolation__.ts.html +0 -1129
  175. package/coverage/src/concepts/StringLiteral__.ts.html +0 -505
  176. package/coverage/src/concepts/StructureProperty__.ts.html +0 -1132
  177. package/coverage/src/concepts/Structure__.ts.html +0 -2092
  178. package/coverage/src/concepts/SwitchCase__.ts.html +0 -1174
  179. package/coverage/src/concepts/SwitchStatement__.ts.html +0 -877
  180. package/coverage/src/concepts/Theme__.ts.html +0 -358
  181. package/coverage/src/concepts/Transactional__.ts.html +0 -628
  182. package/coverage/src/concepts/TriggerEvent__.ts.html +0 -1012
  183. package/coverage/src/concepts/TriggerLauncher__.ts.html +0 -775
  184. package/coverage/src/concepts/TypeAnnotation__.ts.html +0 -3718
  185. package/coverage/src/concepts/TypeParam__.ts.html +0 -319
  186. package/coverage/src/concepts/UnaryExpression__.ts.html +0 -697
  187. package/coverage/src/concepts/Unparsed__.ts.html +0 -394
  188. package/coverage/src/concepts/UseComponent__.ts.html +0 -331
  189. package/coverage/src/concepts/ValidationRule__.ts.html +0 -1840
  190. package/coverage/src/concepts/Variable__.ts.html +0 -1489
  191. package/coverage/src/concepts/ViewBlock__.ts.html +0 -352
  192. package/coverage/src/concepts/ViewComponent__.ts.html +0 -4180
  193. package/coverage/src/concepts/ViewElement__.ts.html +0 -8803
  194. package/coverage/src/concepts/View__.ts.html +0 -8620
  195. package/coverage/src/concepts/WhileStatement__.ts.html +0 -1063
  196. package/coverage/src/concepts/basics/stdlib/index.html +0 -356
  197. package/coverage/src/concepts/basics/stdlib/index.ts.html +0 -208
  198. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +0 -565
  199. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +0 -517
  200. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +0 -226
  201. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +0 -172
  202. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +0 -214
  203. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +0 -145
  204. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +0 -589
  205. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +0 -214
  206. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +0 -229
  207. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +0 -268
  208. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +0 -1999
  209. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +0 -3259
  210. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +0 -6844
  211. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +0 -1768
  212. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +0 -163
  213. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +0 -664
  214. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +0 -121
  215. package/coverage/src/concepts/basics/types/index.html +0 -131
  216. package/coverage/src/concepts/basics/types/index.ts.html +0 -160
  217. package/coverage/src/concepts/index.html +0 -1961
  218. package/coverage/src/concepts/index.ts.html +0 -103
  219. package/coverage/src/concepts/index__.ts.html +0 -451
  220. package/coverage/src/config.ts.html +0 -343
  221. package/coverage/src/decorators/index.html +0 -131
  222. package/coverage/src/decorators/index.ts.html +0 -739
  223. package/coverage/src/decorators/promise.ts.html +0 -169
  224. package/coverage/src/eventBus.ts.html +0 -100
  225. package/coverage/src/generator/compileComponent.ts.html +0 -142
  226. package/coverage/src/generator/genBundleFiles.ts.html +0 -1828
  227. package/coverage/src/generator/genHash.ts.html +0 -124
  228. package/coverage/src/generator/genMetaData.ts.html +0 -1042
  229. package/coverage/src/generator/genReleaseBody.ts.html +0 -1282
  230. package/coverage/src/generator/icestark.ts.html +0 -220
  231. package/coverage/src/generator/index.html +0 -266
  232. package/coverage/src/generator/index.ts.html +0 -106
  233. package/coverage/src/generator/microApp.ts.html +0 -172
  234. package/coverage/src/generator/permission.ts.html +0 -1036
  235. package/coverage/src/generator/qiankun.ts.html +0 -232
  236. package/coverage/src/generator/styleReplacer.ts.html +0 -199
  237. package/coverage/src/index.html +0 -116
  238. package/coverage/src/index.ts.html +0 -121
  239. package/coverage/src/manager/diagnostic.ts.html +0 -442
  240. package/coverage/src/manager/index.html +0 -131
  241. package/coverage/src/manager/stepRecorder.ts.html +0 -457
  242. package/coverage/src/natural/genNaturalTS.ts.html +0 -355
  243. package/coverage/src/natural/index.html +0 -161
  244. package/coverage/src/natural/index.ts.html +0 -91
  245. package/coverage/src/natural/naslStdlibMap.ts.html +0 -157
  246. package/coverage/src/natural/transformTSCode.ts.html +0 -2647
  247. package/coverage/src/sentry/index.html +0 -116
  248. package/coverage/src/sentry/index.ts.html +0 -676
  249. package/coverage/src/server/createUiTs.ts.html +0 -910
  250. package/coverage/src/server/entity2LogicNamespace.ts.html +0 -1294
  251. package/coverage/src/server/event.js.html +0 -526
  252. package/coverage/src/server/extendBaseNode.ts.html +0 -1762
  253. package/coverage/src/server/formatTsUtils.ts.html +0 -2689
  254. package/coverage/src/server/getConnector.ts.html +0 -316
  255. package/coverage/src/server/getExtensionModules.ts.html +0 -178
  256. package/coverage/src/server/getFunctions.ts.html +0 -133
  257. package/coverage/src/server/getInterfaces.ts.html +0 -229
  258. package/coverage/src/server/getLogging.ts.html +0 -100
  259. package/coverage/src/server/getLogics.ts.html +0 -1363
  260. package/coverage/src/server/getMemberIdentifier.ts.html +0 -1561
  261. package/coverage/src/server/getProcessComponents.ts.html +0 -112
  262. package/coverage/src/server/getProcesses.ts.html +0 -2023
  263. package/coverage/src/server/getValidates.ts.html +0 -115
  264. package/coverage/src/server/index.html +0 -401
  265. package/coverage/src/server/index.ts.html +0 -229
  266. package/coverage/src/server/naslServer.ts.html +0 -14401
  267. package/coverage/src/server/naslStdlibMap.ts.html +0 -241
  268. package/coverage/src/server/process2LogicNamespace.ts.html +0 -454
  269. package/coverage/src/server/translator.ts.html +0 -2566
  270. package/coverage/src/service/creator/add.configs.js.html +0 -379
  271. package/coverage/src/service/creator/errHandles.js.html +0 -322
  272. package/coverage/src/service/creator/index.html +0 -146
  273. package/coverage/src/service/creator/index.js.html +0 -352
  274. package/coverage/src/service/datasource/api.js.html +0 -118
  275. package/coverage/src/service/datasource/index.html +0 -131
  276. package/coverage/src/service/datasource/index.js.html +0 -103
  277. package/coverage/src/service/logic/api.js.html +0 -109
  278. package/coverage/src/service/logic/index.html +0 -131
  279. package/coverage/src/service/logic/index.js.html +0 -103
  280. package/coverage/src/service/storage/api.js.html +0 -202
  281. package/coverage/src/service/storage/index.html +0 -206
  282. package/coverage/src/service/storage/index.ts.html +0 -103
  283. package/coverage/src/service/storage/init.ts.html +0 -2761
  284. package/coverage/src/service/storage/jsoner.ts.html +0 -502
  285. package/coverage/src/service/storage/map.ts.html +0 -256
  286. package/coverage/src/service/storage/service.ts.html +0 -331
  287. package/coverage/src/service/storage/storagePoint.ts.html +0 -304
  288. package/coverage/src/templator/genCallComponentLogic.ts.html +0 -163
  289. package/coverage/src/templator/genCreateBlock.ts.html +0 -1093
  290. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +0 -1609
  291. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +0 -2254
  292. package/coverage/src/templator/genEditTableBlock.ts.html +0 -955
  293. package/coverage/src/templator/genEnumSelectBlock.ts.html +0 -178
  294. package/coverage/src/templator/genGetBlock.ts.html +0 -451
  295. package/coverage/src/templator/genGridViewBlock.ts.html +0 -1114
  296. package/coverage/src/templator/genListViewBlock.ts.html +0 -475
  297. package/coverage/src/templator/genQueryComponent.ts.html +0 -1207
  298. package/coverage/src/templator/genSelectBlock.ts.html +0 -1243
  299. package/coverage/src/templator/genTableBlock.ts.html +0 -910
  300. package/coverage/src/templator/genUpdateBlock.ts.html +0 -1192
  301. package/coverage/src/templator/index.html +0 -326
  302. package/coverage/src/templator/index.ts.html +0 -154
  303. package/coverage/src/templator/utils.ts.html +0 -1861
  304. package/coverage/src/translator/constant.ts.html +0 -106
  305. package/coverage/src/translator/index.html +0 -146
  306. package/coverage/src/translator/index.ts.html +0 -94
  307. package/coverage/src/translator/utils.ts.html +0 -436
  308. package/coverage/src/utils/cookie.ts.html +0 -265
  309. package/coverage/src/utils/env.ts.html +0 -91
  310. package/coverage/src/utils/index.html +0 -206
  311. package/coverage/src/utils/index.ts.html +0 -1429
  312. package/coverage/src/utils/logger.ts.html +0 -145
  313. package/coverage/src/utils/sortTsString.ts.html +0 -187
  314. package/coverage/src/utils/string.ts.html +0 -544
  315. package/coverage/src/utils/time-slicing/controller.ts.html +0 -1144
  316. package/coverage/src/utils/time-slicing/index.html +0 -221
  317. package/coverage/src/utils/time-slicing/index.ts.html +0 -103
  318. package/coverage/src/utils/time-slicing/page-state.ts.html +0 -121
  319. package/coverage/src/utils/time-slicing/performance.ts.html +0 -253
  320. package/coverage/src/utils/time-slicing/runner.ts.html +0 -241
  321. package/coverage/src/utils/time-slicing/tool.ts.html +0 -220
  322. package/coverage/src/utils/time-slicing/utils.ts.html +0 -355
  323. package/coverage/src/utils/time-slicing/wrapper.ts.html +0 -259
  324. package/coverage/src/utils/time-slicing.ts.html +0 -418
  325. package/coverage/src/utils/traverse.ts.html +0 -568
  326. package/coverage/src/utils/types.ts.html +0 -133
  327. package/coverage/src/utils/window.ts.html +0 -112
@@ -1,3874 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/common/BaseNode.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/common</a> BaseNode.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">37.54% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>193/514</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">29.27% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>113/386</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">30.76% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>28/91</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">37.7% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>181/480</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a>
469
- <a name='L404'></a><a href='#L404'>404</a>
470
- <a name='L405'></a><a href='#L405'>405</a>
471
- <a name='L406'></a><a href='#L406'>406</a>
472
- <a name='L407'></a><a href='#L407'>407</a>
473
- <a name='L408'></a><a href='#L408'>408</a>
474
- <a name='L409'></a><a href='#L409'>409</a>
475
- <a name='L410'></a><a href='#L410'>410</a>
476
- <a name='L411'></a><a href='#L411'>411</a>
477
- <a name='L412'></a><a href='#L412'>412</a>
478
- <a name='L413'></a><a href='#L413'>413</a>
479
- <a name='L414'></a><a href='#L414'>414</a>
480
- <a name='L415'></a><a href='#L415'>415</a>
481
- <a name='L416'></a><a href='#L416'>416</a>
482
- <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a>
484
- <a name='L419'></a><a href='#L419'>419</a>
485
- <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a>
487
- <a name='L422'></a><a href='#L422'>422</a>
488
- <a name='L423'></a><a href='#L423'>423</a>
489
- <a name='L424'></a><a href='#L424'>424</a>
490
- <a name='L425'></a><a href='#L425'>425</a>
491
- <a name='L426'></a><a href='#L426'>426</a>
492
- <a name='L427'></a><a href='#L427'>427</a>
493
- <a name='L428'></a><a href='#L428'>428</a>
494
- <a name='L429'></a><a href='#L429'>429</a>
495
- <a name='L430'></a><a href='#L430'>430</a>
496
- <a name='L431'></a><a href='#L431'>431</a>
497
- <a name='L432'></a><a href='#L432'>432</a>
498
- <a name='L433'></a><a href='#L433'>433</a>
499
- <a name='L434'></a><a href='#L434'>434</a>
500
- <a name='L435'></a><a href='#L435'>435</a>
501
- <a name='L436'></a><a href='#L436'>436</a>
502
- <a name='L437'></a><a href='#L437'>437</a>
503
- <a name='L438'></a><a href='#L438'>438</a>
504
- <a name='L439'></a><a href='#L439'>439</a>
505
- <a name='L440'></a><a href='#L440'>440</a>
506
- <a name='L441'></a><a href='#L441'>441</a>
507
- <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <a name='L444'></a><a href='#L444'>444</a>
510
- <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a>
538
- <a name='L473'></a><a href='#L473'>473</a>
539
- <a name='L474'></a><a href='#L474'>474</a>
540
- <a name='L475'></a><a href='#L475'>475</a>
541
- <a name='L476'></a><a href='#L476'>476</a>
542
- <a name='L477'></a><a href='#L477'>477</a>
543
- <a name='L478'></a><a href='#L478'>478</a>
544
- <a name='L479'></a><a href='#L479'>479</a>
545
- <a name='L480'></a><a href='#L480'>480</a>
546
- <a name='L481'></a><a href='#L481'>481</a>
547
- <a name='L482'></a><a href='#L482'>482</a>
548
- <a name='L483'></a><a href='#L483'>483</a>
549
- <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a>
551
- <a name='L486'></a><a href='#L486'>486</a>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a>
590
- <a name='L525'></a><a href='#L525'>525</a>
591
- <a name='L526'></a><a href='#L526'>526</a>
592
- <a name='L527'></a><a href='#L527'>527</a>
593
- <a name='L528'></a><a href='#L528'>528</a>
594
- <a name='L529'></a><a href='#L529'>529</a>
595
- <a name='L530'></a><a href='#L530'>530</a>
596
- <a name='L531'></a><a href='#L531'>531</a>
597
- <a name='L532'></a><a href='#L532'>532</a>
598
- <a name='L533'></a><a href='#L533'>533</a>
599
- <a name='L534'></a><a href='#L534'>534</a>
600
- <a name='L535'></a><a href='#L535'>535</a>
601
- <a name='L536'></a><a href='#L536'>536</a>
602
- <a name='L537'></a><a href='#L537'>537</a>
603
- <a name='L538'></a><a href='#L538'>538</a>
604
- <a name='L539'></a><a href='#L539'>539</a>
605
- <a name='L540'></a><a href='#L540'>540</a>
606
- <a name='L541'></a><a href='#L541'>541</a>
607
- <a name='L542'></a><a href='#L542'>542</a>
608
- <a name='L543'></a><a href='#L543'>543</a>
609
- <a name='L544'></a><a href='#L544'>544</a>
610
- <a name='L545'></a><a href='#L545'>545</a>
611
- <a name='L546'></a><a href='#L546'>546</a>
612
- <a name='L547'></a><a href='#L547'>547</a>
613
- <a name='L548'></a><a href='#L548'>548</a>
614
- <a name='L549'></a><a href='#L549'>549</a>
615
- <a name='L550'></a><a href='#L550'>550</a>
616
- <a name='L551'></a><a href='#L551'>551</a>
617
- <a name='L552'></a><a href='#L552'>552</a>
618
- <a name='L553'></a><a href='#L553'>553</a>
619
- <a name='L554'></a><a href='#L554'>554</a>
620
- <a name='L555'></a><a href='#L555'>555</a>
621
- <a name='L556'></a><a href='#L556'>556</a>
622
- <a name='L557'></a><a href='#L557'>557</a>
623
- <a name='L558'></a><a href='#L558'>558</a>
624
- <a name='L559'></a><a href='#L559'>559</a>
625
- <a name='L560'></a><a href='#L560'>560</a>
626
- <a name='L561'></a><a href='#L561'>561</a>
627
- <a name='L562'></a><a href='#L562'>562</a>
628
- <a name='L563'></a><a href='#L563'>563</a>
629
- <a name='L564'></a><a href='#L564'>564</a>
630
- <a name='L565'></a><a href='#L565'>565</a>
631
- <a name='L566'></a><a href='#L566'>566</a>
632
- <a name='L567'></a><a href='#L567'>567</a>
633
- <a name='L568'></a><a href='#L568'>568</a>
634
- <a name='L569'></a><a href='#L569'>569</a>
635
- <a name='L570'></a><a href='#L570'>570</a>
636
- <a name='L571'></a><a href='#L571'>571</a>
637
- <a name='L572'></a><a href='#L572'>572</a>
638
- <a name='L573'></a><a href='#L573'>573</a>
639
- <a name='L574'></a><a href='#L574'>574</a>
640
- <a name='L575'></a><a href='#L575'>575</a>
641
- <a name='L576'></a><a href='#L576'>576</a>
642
- <a name='L577'></a><a href='#L577'>577</a>
643
- <a name='L578'></a><a href='#L578'>578</a>
644
- <a name='L579'></a><a href='#L579'>579</a>
645
- <a name='L580'></a><a href='#L580'>580</a>
646
- <a name='L581'></a><a href='#L581'>581</a>
647
- <a name='L582'></a><a href='#L582'>582</a>
648
- <a name='L583'></a><a href='#L583'>583</a>
649
- <a name='L584'></a><a href='#L584'>584</a>
650
- <a name='L585'></a><a href='#L585'>585</a>
651
- <a name='L586'></a><a href='#L586'>586</a>
652
- <a name='L587'></a><a href='#L587'>587</a>
653
- <a name='L588'></a><a href='#L588'>588</a>
654
- <a name='L589'></a><a href='#L589'>589</a>
655
- <a name='L590'></a><a href='#L590'>590</a>
656
- <a name='L591'></a><a href='#L591'>591</a>
657
- <a name='L592'></a><a href='#L592'>592</a>
658
- <a name='L593'></a><a href='#L593'>593</a>
659
- <a name='L594'></a><a href='#L594'>594</a>
660
- <a name='L595'></a><a href='#L595'>595</a>
661
- <a name='L596'></a><a href='#L596'>596</a>
662
- <a name='L597'></a><a href='#L597'>597</a>
663
- <a name='L598'></a><a href='#L598'>598</a>
664
- <a name='L599'></a><a href='#L599'>599</a>
665
- <a name='L600'></a><a href='#L600'>600</a>
666
- <a name='L601'></a><a href='#L601'>601</a>
667
- <a name='L602'></a><a href='#L602'>602</a>
668
- <a name='L603'></a><a href='#L603'>603</a>
669
- <a name='L604'></a><a href='#L604'>604</a>
670
- <a name='L605'></a><a href='#L605'>605</a>
671
- <a name='L606'></a><a href='#L606'>606</a>
672
- <a name='L607'></a><a href='#L607'>607</a>
673
- <a name='L608'></a><a href='#L608'>608</a>
674
- <a name='L609'></a><a href='#L609'>609</a>
675
- <a name='L610'></a><a href='#L610'>610</a>
676
- <a name='L611'></a><a href='#L611'>611</a>
677
- <a name='L612'></a><a href='#L612'>612</a>
678
- <a name='L613'></a><a href='#L613'>613</a>
679
- <a name='L614'></a><a href='#L614'>614</a>
680
- <a name='L615'></a><a href='#L615'>615</a>
681
- <a name='L616'></a><a href='#L616'>616</a>
682
- <a name='L617'></a><a href='#L617'>617</a>
683
- <a name='L618'></a><a href='#L618'>618</a>
684
- <a name='L619'></a><a href='#L619'>619</a>
685
- <a name='L620'></a><a href='#L620'>620</a>
686
- <a name='L621'></a><a href='#L621'>621</a>
687
- <a name='L622'></a><a href='#L622'>622</a>
688
- <a name='L623'></a><a href='#L623'>623</a>
689
- <a name='L624'></a><a href='#L624'>624</a>
690
- <a name='L625'></a><a href='#L625'>625</a>
691
- <a name='L626'></a><a href='#L626'>626</a>
692
- <a name='L627'></a><a href='#L627'>627</a>
693
- <a name='L628'></a><a href='#L628'>628</a>
694
- <a name='L629'></a><a href='#L629'>629</a>
695
- <a name='L630'></a><a href='#L630'>630</a>
696
- <a name='L631'></a><a href='#L631'>631</a>
697
- <a name='L632'></a><a href='#L632'>632</a>
698
- <a name='L633'></a><a href='#L633'>633</a>
699
- <a name='L634'></a><a href='#L634'>634</a>
700
- <a name='L635'></a><a href='#L635'>635</a>
701
- <a name='L636'></a><a href='#L636'>636</a>
702
- <a name='L637'></a><a href='#L637'>637</a>
703
- <a name='L638'></a><a href='#L638'>638</a>
704
- <a name='L639'></a><a href='#L639'>639</a>
705
- <a name='L640'></a><a href='#L640'>640</a>
706
- <a name='L641'></a><a href='#L641'>641</a>
707
- <a name='L642'></a><a href='#L642'>642</a>
708
- <a name='L643'></a><a href='#L643'>643</a>
709
- <a name='L644'></a><a href='#L644'>644</a>
710
- <a name='L645'></a><a href='#L645'>645</a>
711
- <a name='L646'></a><a href='#L646'>646</a>
712
- <a name='L647'></a><a href='#L647'>647</a>
713
- <a name='L648'></a><a href='#L648'>648</a>
714
- <a name='L649'></a><a href='#L649'>649</a>
715
- <a name='L650'></a><a href='#L650'>650</a>
716
- <a name='L651'></a><a href='#L651'>651</a>
717
- <a name='L652'></a><a href='#L652'>652</a>
718
- <a name='L653'></a><a href='#L653'>653</a>
719
- <a name='L654'></a><a href='#L654'>654</a>
720
- <a name='L655'></a><a href='#L655'>655</a>
721
- <a name='L656'></a><a href='#L656'>656</a>
722
- <a name='L657'></a><a href='#L657'>657</a>
723
- <a name='L658'></a><a href='#L658'>658</a>
724
- <a name='L659'></a><a href='#L659'>659</a>
725
- <a name='L660'></a><a href='#L660'>660</a>
726
- <a name='L661'></a><a href='#L661'>661</a>
727
- <a name='L662'></a><a href='#L662'>662</a>
728
- <a name='L663'></a><a href='#L663'>663</a>
729
- <a name='L664'></a><a href='#L664'>664</a>
730
- <a name='L665'></a><a href='#L665'>665</a>
731
- <a name='L666'></a><a href='#L666'>666</a>
732
- <a name='L667'></a><a href='#L667'>667</a>
733
- <a name='L668'></a><a href='#L668'>668</a>
734
- <a name='L669'></a><a href='#L669'>669</a>
735
- <a name='L670'></a><a href='#L670'>670</a>
736
- <a name='L671'></a><a href='#L671'>671</a>
737
- <a name='L672'></a><a href='#L672'>672</a>
738
- <a name='L673'></a><a href='#L673'>673</a>
739
- <a name='L674'></a><a href='#L674'>674</a>
740
- <a name='L675'></a><a href='#L675'>675</a>
741
- <a name='L676'></a><a href='#L676'>676</a>
742
- <a name='L677'></a><a href='#L677'>677</a>
743
- <a name='L678'></a><a href='#L678'>678</a>
744
- <a name='L679'></a><a href='#L679'>679</a>
745
- <a name='L680'></a><a href='#L680'>680</a>
746
- <a name='L681'></a><a href='#L681'>681</a>
747
- <a name='L682'></a><a href='#L682'>682</a>
748
- <a name='L683'></a><a href='#L683'>683</a>
749
- <a name='L684'></a><a href='#L684'>684</a>
750
- <a name='L685'></a><a href='#L685'>685</a>
751
- <a name='L686'></a><a href='#L686'>686</a>
752
- <a name='L687'></a><a href='#L687'>687</a>
753
- <a name='L688'></a><a href='#L688'>688</a>
754
- <a name='L689'></a><a href='#L689'>689</a>
755
- <a name='L690'></a><a href='#L690'>690</a>
756
- <a name='L691'></a><a href='#L691'>691</a>
757
- <a name='L692'></a><a href='#L692'>692</a>
758
- <a name='L693'></a><a href='#L693'>693</a>
759
- <a name='L694'></a><a href='#L694'>694</a>
760
- <a name='L695'></a><a href='#L695'>695</a>
761
- <a name='L696'></a><a href='#L696'>696</a>
762
- <a name='L697'></a><a href='#L697'>697</a>
763
- <a name='L698'></a><a href='#L698'>698</a>
764
- <a name='L699'></a><a href='#L699'>699</a>
765
- <a name='L700'></a><a href='#L700'>700</a>
766
- <a name='L701'></a><a href='#L701'>701</a>
767
- <a name='L702'></a><a href='#L702'>702</a>
768
- <a name='L703'></a><a href='#L703'>703</a>
769
- <a name='L704'></a><a href='#L704'>704</a>
770
- <a name='L705'></a><a href='#L705'>705</a>
771
- <a name='L706'></a><a href='#L706'>706</a>
772
- <a name='L707'></a><a href='#L707'>707</a>
773
- <a name='L708'></a><a href='#L708'>708</a>
774
- <a name='L709'></a><a href='#L709'>709</a>
775
- <a name='L710'></a><a href='#L710'>710</a>
776
- <a name='L711'></a><a href='#L711'>711</a>
777
- <a name='L712'></a><a href='#L712'>712</a>
778
- <a name='L713'></a><a href='#L713'>713</a>
779
- <a name='L714'></a><a href='#L714'>714</a>
780
- <a name='L715'></a><a href='#L715'>715</a>
781
- <a name='L716'></a><a href='#L716'>716</a>
782
- <a name='L717'></a><a href='#L717'>717</a>
783
- <a name='L718'></a><a href='#L718'>718</a>
784
- <a name='L719'></a><a href='#L719'>719</a>
785
- <a name='L720'></a><a href='#L720'>720</a>
786
- <a name='L721'></a><a href='#L721'>721</a>
787
- <a name='L722'></a><a href='#L722'>722</a>
788
- <a name='L723'></a><a href='#L723'>723</a>
789
- <a name='L724'></a><a href='#L724'>724</a>
790
- <a name='L725'></a><a href='#L725'>725</a>
791
- <a name='L726'></a><a href='#L726'>726</a>
792
- <a name='L727'></a><a href='#L727'>727</a>
793
- <a name='L728'></a><a href='#L728'>728</a>
794
- <a name='L729'></a><a href='#L729'>729</a>
795
- <a name='L730'></a><a href='#L730'>730</a>
796
- <a name='L731'></a><a href='#L731'>731</a>
797
- <a name='L732'></a><a href='#L732'>732</a>
798
- <a name='L733'></a><a href='#L733'>733</a>
799
- <a name='L734'></a><a href='#L734'>734</a>
800
- <a name='L735'></a><a href='#L735'>735</a>
801
- <a name='L736'></a><a href='#L736'>736</a>
802
- <a name='L737'></a><a href='#L737'>737</a>
803
- <a name='L738'></a><a href='#L738'>738</a>
804
- <a name='L739'></a><a href='#L739'>739</a>
805
- <a name='L740'></a><a href='#L740'>740</a>
806
- <a name='L741'></a><a href='#L741'>741</a>
807
- <a name='L742'></a><a href='#L742'>742</a>
808
- <a name='L743'></a><a href='#L743'>743</a>
809
- <a name='L744'></a><a href='#L744'>744</a>
810
- <a name='L745'></a><a href='#L745'>745</a>
811
- <a name='L746'></a><a href='#L746'>746</a>
812
- <a name='L747'></a><a href='#L747'>747</a>
813
- <a name='L748'></a><a href='#L748'>748</a>
814
- <a name='L749'></a><a href='#L749'>749</a>
815
- <a name='L750'></a><a href='#L750'>750</a>
816
- <a name='L751'></a><a href='#L751'>751</a>
817
- <a name='L752'></a><a href='#L752'>752</a>
818
- <a name='L753'></a><a href='#L753'>753</a>
819
- <a name='L754'></a><a href='#L754'>754</a>
820
- <a name='L755'></a><a href='#L755'>755</a>
821
- <a name='L756'></a><a href='#L756'>756</a>
822
- <a name='L757'></a><a href='#L757'>757</a>
823
- <a name='L758'></a><a href='#L758'>758</a>
824
- <a name='L759'></a><a href='#L759'>759</a>
825
- <a name='L760'></a><a href='#L760'>760</a>
826
- <a name='L761'></a><a href='#L761'>761</a>
827
- <a name='L762'></a><a href='#L762'>762</a>
828
- <a name='L763'></a><a href='#L763'>763</a>
829
- <a name='L764'></a><a href='#L764'>764</a>
830
- <a name='L765'></a><a href='#L765'>765</a>
831
- <a name='L766'></a><a href='#L766'>766</a>
832
- <a name='L767'></a><a href='#L767'>767</a>
833
- <a name='L768'></a><a href='#L768'>768</a>
834
- <a name='L769'></a><a href='#L769'>769</a>
835
- <a name='L770'></a><a href='#L770'>770</a>
836
- <a name='L771'></a><a href='#L771'>771</a>
837
- <a name='L772'></a><a href='#L772'>772</a>
838
- <a name='L773'></a><a href='#L773'>773</a>
839
- <a name='L774'></a><a href='#L774'>774</a>
840
- <a name='L775'></a><a href='#L775'>775</a>
841
- <a name='L776'></a><a href='#L776'>776</a>
842
- <a name='L777'></a><a href='#L777'>777</a>
843
- <a name='L778'></a><a href='#L778'>778</a>
844
- <a name='L779'></a><a href='#L779'>779</a>
845
- <a name='L780'></a><a href='#L780'>780</a>
846
- <a name='L781'></a><a href='#L781'>781</a>
847
- <a name='L782'></a><a href='#L782'>782</a>
848
- <a name='L783'></a><a href='#L783'>783</a>
849
- <a name='L784'></a><a href='#L784'>784</a>
850
- <a name='L785'></a><a href='#L785'>785</a>
851
- <a name='L786'></a><a href='#L786'>786</a>
852
- <a name='L787'></a><a href='#L787'>787</a>
853
- <a name='L788'></a><a href='#L788'>788</a>
854
- <a name='L789'></a><a href='#L789'>789</a>
855
- <a name='L790'></a><a href='#L790'>790</a>
856
- <a name='L791'></a><a href='#L791'>791</a>
857
- <a name='L792'></a><a href='#L792'>792</a>
858
- <a name='L793'></a><a href='#L793'>793</a>
859
- <a name='L794'></a><a href='#L794'>794</a>
860
- <a name='L795'></a><a href='#L795'>795</a>
861
- <a name='L796'></a><a href='#L796'>796</a>
862
- <a name='L797'></a><a href='#L797'>797</a>
863
- <a name='L798'></a><a href='#L798'>798</a>
864
- <a name='L799'></a><a href='#L799'>799</a>
865
- <a name='L800'></a><a href='#L800'>800</a>
866
- <a name='L801'></a><a href='#L801'>801</a>
867
- <a name='L802'></a><a href='#L802'>802</a>
868
- <a name='L803'></a><a href='#L803'>803</a>
869
- <a name='L804'></a><a href='#L804'>804</a>
870
- <a name='L805'></a><a href='#L805'>805</a>
871
- <a name='L806'></a><a href='#L806'>806</a>
872
- <a name='L807'></a><a href='#L807'>807</a>
873
- <a name='L808'></a><a href='#L808'>808</a>
874
- <a name='L809'></a><a href='#L809'>809</a>
875
- <a name='L810'></a><a href='#L810'>810</a>
876
- <a name='L811'></a><a href='#L811'>811</a>
877
- <a name='L812'></a><a href='#L812'>812</a>
878
- <a name='L813'></a><a href='#L813'>813</a>
879
- <a name='L814'></a><a href='#L814'>814</a>
880
- <a name='L815'></a><a href='#L815'>815</a>
881
- <a name='L816'></a><a href='#L816'>816</a>
882
- <a name='L817'></a><a href='#L817'>817</a>
883
- <a name='L818'></a><a href='#L818'>818</a>
884
- <a name='L819'></a><a href='#L819'>819</a>
885
- <a name='L820'></a><a href='#L820'>820</a>
886
- <a name='L821'></a><a href='#L821'>821</a>
887
- <a name='L822'></a><a href='#L822'>822</a>
888
- <a name='L823'></a><a href='#L823'>823</a>
889
- <a name='L824'></a><a href='#L824'>824</a>
890
- <a name='L825'></a><a href='#L825'>825</a>
891
- <a name='L826'></a><a href='#L826'>826</a>
892
- <a name='L827'></a><a href='#L827'>827</a>
893
- <a name='L828'></a><a href='#L828'>828</a>
894
- <a name='L829'></a><a href='#L829'>829</a>
895
- <a name='L830'></a><a href='#L830'>830</a>
896
- <a name='L831'></a><a href='#L831'>831</a>
897
- <a name='L832'></a><a href='#L832'>832</a>
898
- <a name='L833'></a><a href='#L833'>833</a>
899
- <a name='L834'></a><a href='#L834'>834</a>
900
- <a name='L835'></a><a href='#L835'>835</a>
901
- <a name='L836'></a><a href='#L836'>836</a>
902
- <a name='L837'></a><a href='#L837'>837</a>
903
- <a name='L838'></a><a href='#L838'>838</a>
904
- <a name='L839'></a><a href='#L839'>839</a>
905
- <a name='L840'></a><a href='#L840'>840</a>
906
- <a name='L841'></a><a href='#L841'>841</a>
907
- <a name='L842'></a><a href='#L842'>842</a>
908
- <a name='L843'></a><a href='#L843'>843</a>
909
- <a name='L844'></a><a href='#L844'>844</a>
910
- <a name='L845'></a><a href='#L845'>845</a>
911
- <a name='L846'></a><a href='#L846'>846</a>
912
- <a name='L847'></a><a href='#L847'>847</a>
913
- <a name='L848'></a><a href='#L848'>848</a>
914
- <a name='L849'></a><a href='#L849'>849</a>
915
- <a name='L850'></a><a href='#L850'>850</a>
916
- <a name='L851'></a><a href='#L851'>851</a>
917
- <a name='L852'></a><a href='#L852'>852</a>
918
- <a name='L853'></a><a href='#L853'>853</a>
919
- <a name='L854'></a><a href='#L854'>854</a>
920
- <a name='L855'></a><a href='#L855'>855</a>
921
- <a name='L856'></a><a href='#L856'>856</a>
922
- <a name='L857'></a><a href='#L857'>857</a>
923
- <a name='L858'></a><a href='#L858'>858</a>
924
- <a name='L859'></a><a href='#L859'>859</a>
925
- <a name='L860'></a><a href='#L860'>860</a>
926
- <a name='L861'></a><a href='#L861'>861</a>
927
- <a name='L862'></a><a href='#L862'>862</a>
928
- <a name='L863'></a><a href='#L863'>863</a>
929
- <a name='L864'></a><a href='#L864'>864</a>
930
- <a name='L865'></a><a href='#L865'>865</a>
931
- <a name='L866'></a><a href='#L866'>866</a>
932
- <a name='L867'></a><a href='#L867'>867</a>
933
- <a name='L868'></a><a href='#L868'>868</a>
934
- <a name='L869'></a><a href='#L869'>869</a>
935
- <a name='L870'></a><a href='#L870'>870</a>
936
- <a name='L871'></a><a href='#L871'>871</a>
937
- <a name='L872'></a><a href='#L872'>872</a>
938
- <a name='L873'></a><a href='#L873'>873</a>
939
- <a name='L874'></a><a href='#L874'>874</a>
940
- <a name='L875'></a><a href='#L875'>875</a>
941
- <a name='L876'></a><a href='#L876'>876</a>
942
- <a name='L877'></a><a href='#L877'>877</a>
943
- <a name='L878'></a><a href='#L878'>878</a>
944
- <a name='L879'></a><a href='#L879'>879</a>
945
- <a name='L880'></a><a href='#L880'>880</a>
946
- <a name='L881'></a><a href='#L881'>881</a>
947
- <a name='L882'></a><a href='#L882'>882</a>
948
- <a name='L883'></a><a href='#L883'>883</a>
949
- <a name='L884'></a><a href='#L884'>884</a>
950
- <a name='L885'></a><a href='#L885'>885</a>
951
- <a name='L886'></a><a href='#L886'>886</a>
952
- <a name='L887'></a><a href='#L887'>887</a>
953
- <a name='L888'></a><a href='#L888'>888</a>
954
- <a name='L889'></a><a href='#L889'>889</a>
955
- <a name='L890'></a><a href='#L890'>890</a>
956
- <a name='L891'></a><a href='#L891'>891</a>
957
- <a name='L892'></a><a href='#L892'>892</a>
958
- <a name='L893'></a><a href='#L893'>893</a>
959
- <a name='L894'></a><a href='#L894'>894</a>
960
- <a name='L895'></a><a href='#L895'>895</a>
961
- <a name='L896'></a><a href='#L896'>896</a>
962
- <a name='L897'></a><a href='#L897'>897</a>
963
- <a name='L898'></a><a href='#L898'>898</a>
964
- <a name='L899'></a><a href='#L899'>899</a>
965
- <a name='L900'></a><a href='#L900'>900</a>
966
- <a name='L901'></a><a href='#L901'>901</a>
967
- <a name='L902'></a><a href='#L902'>902</a>
968
- <a name='L903'></a><a href='#L903'>903</a>
969
- <a name='L904'></a><a href='#L904'>904</a>
970
- <a name='L905'></a><a href='#L905'>905</a>
971
- <a name='L906'></a><a href='#L906'>906</a>
972
- <a name='L907'></a><a href='#L907'>907</a>
973
- <a name='L908'></a><a href='#L908'>908</a>
974
- <a name='L909'></a><a href='#L909'>909</a>
975
- <a name='L910'></a><a href='#L910'>910</a>
976
- <a name='L911'></a><a href='#L911'>911</a>
977
- <a name='L912'></a><a href='#L912'>912</a>
978
- <a name='L913'></a><a href='#L913'>913</a>
979
- <a name='L914'></a><a href='#L914'>914</a>
980
- <a name='L915'></a><a href='#L915'>915</a>
981
- <a name='L916'></a><a href='#L916'>916</a>
982
- <a name='L917'></a><a href='#L917'>917</a>
983
- <a name='L918'></a><a href='#L918'>918</a>
984
- <a name='L919'></a><a href='#L919'>919</a>
985
- <a name='L920'></a><a href='#L920'>920</a>
986
- <a name='L921'></a><a href='#L921'>921</a>
987
- <a name='L922'></a><a href='#L922'>922</a>
988
- <a name='L923'></a><a href='#L923'>923</a>
989
- <a name='L924'></a><a href='#L924'>924</a>
990
- <a name='L925'></a><a href='#L925'>925</a>
991
- <a name='L926'></a><a href='#L926'>926</a>
992
- <a name='L927'></a><a href='#L927'>927</a>
993
- <a name='L928'></a><a href='#L928'>928</a>
994
- <a name='L929'></a><a href='#L929'>929</a>
995
- <a name='L930'></a><a href='#L930'>930</a>
996
- <a name='L931'></a><a href='#L931'>931</a>
997
- <a name='L932'></a><a href='#L932'>932</a>
998
- <a name='L933'></a><a href='#L933'>933</a>
999
- <a name='L934'></a><a href='#L934'>934</a>
1000
- <a name='L935'></a><a href='#L935'>935</a>
1001
- <a name='L936'></a><a href='#L936'>936</a>
1002
- <a name='L937'></a><a href='#L937'>937</a>
1003
- <a name='L938'></a><a href='#L938'>938</a>
1004
- <a name='L939'></a><a href='#L939'>939</a>
1005
- <a name='L940'></a><a href='#L940'>940</a>
1006
- <a name='L941'></a><a href='#L941'>941</a>
1007
- <a name='L942'></a><a href='#L942'>942</a>
1008
- <a name='L943'></a><a href='#L943'>943</a>
1009
- <a name='L944'></a><a href='#L944'>944</a>
1010
- <a name='L945'></a><a href='#L945'>945</a>
1011
- <a name='L946'></a><a href='#L946'>946</a>
1012
- <a name='L947'></a><a href='#L947'>947</a>
1013
- <a name='L948'></a><a href='#L948'>948</a>
1014
- <a name='L949'></a><a href='#L949'>949</a>
1015
- <a name='L950'></a><a href='#L950'>950</a>
1016
- <a name='L951'></a><a href='#L951'>951</a>
1017
- <a name='L952'></a><a href='#L952'>952</a>
1018
- <a name='L953'></a><a href='#L953'>953</a>
1019
- <a name='L954'></a><a href='#L954'>954</a>
1020
- <a name='L955'></a><a href='#L955'>955</a>
1021
- <a name='L956'></a><a href='#L956'>956</a>
1022
- <a name='L957'></a><a href='#L957'>957</a>
1023
- <a name='L958'></a><a href='#L958'>958</a>
1024
- <a name='L959'></a><a href='#L959'>959</a>
1025
- <a name='L960'></a><a href='#L960'>960</a>
1026
- <a name='L961'></a><a href='#L961'>961</a>
1027
- <a name='L962'></a><a href='#L962'>962</a>
1028
- <a name='L963'></a><a href='#L963'>963</a>
1029
- <a name='L964'></a><a href='#L964'>964</a>
1030
- <a name='L965'></a><a href='#L965'>965</a>
1031
- <a name='L966'></a><a href='#L966'>966</a>
1032
- <a name='L967'></a><a href='#L967'>967</a>
1033
- <a name='L968'></a><a href='#L968'>968</a>
1034
- <a name='L969'></a><a href='#L969'>969</a>
1035
- <a name='L970'></a><a href='#L970'>970</a>
1036
- <a name='L971'></a><a href='#L971'>971</a>
1037
- <a name='L972'></a><a href='#L972'>972</a>
1038
- <a name='L973'></a><a href='#L973'>973</a>
1039
- <a name='L974'></a><a href='#L974'>974</a>
1040
- <a name='L975'></a><a href='#L975'>975</a>
1041
- <a name='L976'></a><a href='#L976'>976</a>
1042
- <a name='L977'></a><a href='#L977'>977</a>
1043
- <a name='L978'></a><a href='#L978'>978</a>
1044
- <a name='L979'></a><a href='#L979'>979</a>
1045
- <a name='L980'></a><a href='#L980'>980</a>
1046
- <a name='L981'></a><a href='#L981'>981</a>
1047
- <a name='L982'></a><a href='#L982'>982</a>
1048
- <a name='L983'></a><a href='#L983'>983</a>
1049
- <a name='L984'></a><a href='#L984'>984</a>
1050
- <a name='L985'></a><a href='#L985'>985</a>
1051
- <a name='L986'></a><a href='#L986'>986</a>
1052
- <a name='L987'></a><a href='#L987'>987</a>
1053
- <a name='L988'></a><a href='#L988'>988</a>
1054
- <a name='L989'></a><a href='#L989'>989</a>
1055
- <a name='L990'></a><a href='#L990'>990</a>
1056
- <a name='L991'></a><a href='#L991'>991</a>
1057
- <a name='L992'></a><a href='#L992'>992</a>
1058
- <a name='L993'></a><a href='#L993'>993</a>
1059
- <a name='L994'></a><a href='#L994'>994</a>
1060
- <a name='L995'></a><a href='#L995'>995</a>
1061
- <a name='L996'></a><a href='#L996'>996</a>
1062
- <a name='L997'></a><a href='#L997'>997</a>
1063
- <a name='L998'></a><a href='#L998'>998</a>
1064
- <a name='L999'></a><a href='#L999'>999</a>
1065
- <a name='L1000'></a><a href='#L1000'>1000</a>
1066
- <a name='L1001'></a><a href='#L1001'>1001</a>
1067
- <a name='L1002'></a><a href='#L1002'>1002</a>
1068
- <a name='L1003'></a><a href='#L1003'>1003</a>
1069
- <a name='L1004'></a><a href='#L1004'>1004</a>
1070
- <a name='L1005'></a><a href='#L1005'>1005</a>
1071
- <a name='L1006'></a><a href='#L1006'>1006</a>
1072
- <a name='L1007'></a><a href='#L1007'>1007</a>
1073
- <a name='L1008'></a><a href='#L1008'>1008</a>
1074
- <a name='L1009'></a><a href='#L1009'>1009</a>
1075
- <a name='L1010'></a><a href='#L1010'>1010</a>
1076
- <a name='L1011'></a><a href='#L1011'>1011</a>
1077
- <a name='L1012'></a><a href='#L1012'>1012</a>
1078
- <a name='L1013'></a><a href='#L1013'>1013</a>
1079
- <a name='L1014'></a><a href='#L1014'>1014</a>
1080
- <a name='L1015'></a><a href='#L1015'>1015</a>
1081
- <a name='L1016'></a><a href='#L1016'>1016</a>
1082
- <a name='L1017'></a><a href='#L1017'>1017</a>
1083
- <a name='L1018'></a><a href='#L1018'>1018</a>
1084
- <a name='L1019'></a><a href='#L1019'>1019</a>
1085
- <a name='L1020'></a><a href='#L1020'>1020</a>
1086
- <a name='L1021'></a><a href='#L1021'>1021</a>
1087
- <a name='L1022'></a><a href='#L1022'>1022</a>
1088
- <a name='L1023'></a><a href='#L1023'>1023</a>
1089
- <a name='L1024'></a><a href='#L1024'>1024</a>
1090
- <a name='L1025'></a><a href='#L1025'>1025</a>
1091
- <a name='L1026'></a><a href='#L1026'>1026</a>
1092
- <a name='L1027'></a><a href='#L1027'>1027</a>
1093
- <a name='L1028'></a><a href='#L1028'>1028</a>
1094
- <a name='L1029'></a><a href='#L1029'>1029</a>
1095
- <a name='L1030'></a><a href='#L1030'>1030</a>
1096
- <a name='L1031'></a><a href='#L1031'>1031</a>
1097
- <a name='L1032'></a><a href='#L1032'>1032</a>
1098
- <a name='L1033'></a><a href='#L1033'>1033</a>
1099
- <a name='L1034'></a><a href='#L1034'>1034</a>
1100
- <a name='L1035'></a><a href='#L1035'>1035</a>
1101
- <a name='L1036'></a><a href='#L1036'>1036</a>
1102
- <a name='L1037'></a><a href='#L1037'>1037</a>
1103
- <a name='L1038'></a><a href='#L1038'>1038</a>
1104
- <a name='L1039'></a><a href='#L1039'>1039</a>
1105
- <a name='L1040'></a><a href='#L1040'>1040</a>
1106
- <a name='L1041'></a><a href='#L1041'>1041</a>
1107
- <a name='L1042'></a><a href='#L1042'>1042</a>
1108
- <a name='L1043'></a><a href='#L1043'>1043</a>
1109
- <a name='L1044'></a><a href='#L1044'>1044</a>
1110
- <a name='L1045'></a><a href='#L1045'>1045</a>
1111
- <a name='L1046'></a><a href='#L1046'>1046</a>
1112
- <a name='L1047'></a><a href='#L1047'>1047</a>
1113
- <a name='L1048'></a><a href='#L1048'>1048</a>
1114
- <a name='L1049'></a><a href='#L1049'>1049</a>
1115
- <a name='L1050'></a><a href='#L1050'>1050</a>
1116
- <a name='L1051'></a><a href='#L1051'>1051</a>
1117
- <a name='L1052'></a><a href='#L1052'>1052</a>
1118
- <a name='L1053'></a><a href='#L1053'>1053</a>
1119
- <a name='L1054'></a><a href='#L1054'>1054</a>
1120
- <a name='L1055'></a><a href='#L1055'>1055</a>
1121
- <a name='L1056'></a><a href='#L1056'>1056</a>
1122
- <a name='L1057'></a><a href='#L1057'>1057</a>
1123
- <a name='L1058'></a><a href='#L1058'>1058</a>
1124
- <a name='L1059'></a><a href='#L1059'>1059</a>
1125
- <a name='L1060'></a><a href='#L1060'>1060</a>
1126
- <a name='L1061'></a><a href='#L1061'>1061</a>
1127
- <a name='L1062'></a><a href='#L1062'>1062</a>
1128
- <a name='L1063'></a><a href='#L1063'>1063</a>
1129
- <a name='L1064'></a><a href='#L1064'>1064</a>
1130
- <a name='L1065'></a><a href='#L1065'>1065</a>
1131
- <a name='L1066'></a><a href='#L1066'>1066</a>
1132
- <a name='L1067'></a><a href='#L1067'>1067</a>
1133
- <a name='L1068'></a><a href='#L1068'>1068</a>
1134
- <a name='L1069'></a><a href='#L1069'>1069</a>
1135
- <a name='L1070'></a><a href='#L1070'>1070</a>
1136
- <a name='L1071'></a><a href='#L1071'>1071</a>
1137
- <a name='L1072'></a><a href='#L1072'>1072</a>
1138
- <a name='L1073'></a><a href='#L1073'>1073</a>
1139
- <a name='L1074'></a><a href='#L1074'>1074</a>
1140
- <a name='L1075'></a><a href='#L1075'>1075</a>
1141
- <a name='L1076'></a><a href='#L1076'>1076</a>
1142
- <a name='L1077'></a><a href='#L1077'>1077</a>
1143
- <a name='L1078'></a><a href='#L1078'>1078</a>
1144
- <a name='L1079'></a><a href='#L1079'>1079</a>
1145
- <a name='L1080'></a><a href='#L1080'>1080</a>
1146
- <a name='L1081'></a><a href='#L1081'>1081</a>
1147
- <a name='L1082'></a><a href='#L1082'>1082</a>
1148
- <a name='L1083'></a><a href='#L1083'>1083</a>
1149
- <a name='L1084'></a><a href='#L1084'>1084</a>
1150
- <a name='L1085'></a><a href='#L1085'>1085</a>
1151
- <a name='L1086'></a><a href='#L1086'>1086</a>
1152
- <a name='L1087'></a><a href='#L1087'>1087</a>
1153
- <a name='L1088'></a><a href='#L1088'>1088</a>
1154
- <a name='L1089'></a><a href='#L1089'>1089</a>
1155
- <a name='L1090'></a><a href='#L1090'>1090</a>
1156
- <a name='L1091'></a><a href='#L1091'>1091</a>
1157
- <a name='L1092'></a><a href='#L1092'>1092</a>
1158
- <a name='L1093'></a><a href='#L1093'>1093</a>
1159
- <a name='L1094'></a><a href='#L1094'>1094</a>
1160
- <a name='L1095'></a><a href='#L1095'>1095</a>
1161
- <a name='L1096'></a><a href='#L1096'>1096</a>
1162
- <a name='L1097'></a><a href='#L1097'>1097</a>
1163
- <a name='L1098'></a><a href='#L1098'>1098</a>
1164
- <a name='L1099'></a><a href='#L1099'>1099</a>
1165
- <a name='L1100'></a><a href='#L1100'>1100</a>
1166
- <a name='L1101'></a><a href='#L1101'>1101</a>
1167
- <a name='L1102'></a><a href='#L1102'>1102</a>
1168
- <a name='L1103'></a><a href='#L1103'>1103</a>
1169
- <a name='L1104'></a><a href='#L1104'>1104</a>
1170
- <a name='L1105'></a><a href='#L1105'>1105</a>
1171
- <a name='L1106'></a><a href='#L1106'>1106</a>
1172
- <a name='L1107'></a><a href='#L1107'>1107</a>
1173
- <a name='L1108'></a><a href='#L1108'>1108</a>
1174
- <a name='L1109'></a><a href='#L1109'>1109</a>
1175
- <a name='L1110'></a><a href='#L1110'>1110</a>
1176
- <a name='L1111'></a><a href='#L1111'>1111</a>
1177
- <a name='L1112'></a><a href='#L1112'>1112</a>
1178
- <a name='L1113'></a><a href='#L1113'>1113</a>
1179
- <a name='L1114'></a><a href='#L1114'>1114</a>
1180
- <a name='L1115'></a><a href='#L1115'>1115</a>
1181
- <a name='L1116'></a><a href='#L1116'>1116</a>
1182
- <a name='L1117'></a><a href='#L1117'>1117</a>
1183
- <a name='L1118'></a><a href='#L1118'>1118</a>
1184
- <a name='L1119'></a><a href='#L1119'>1119</a>
1185
- <a name='L1120'></a><a href='#L1120'>1120</a>
1186
- <a name='L1121'></a><a href='#L1121'>1121</a>
1187
- <a name='L1122'></a><a href='#L1122'>1122</a>
1188
- <a name='L1123'></a><a href='#L1123'>1123</a>
1189
- <a name='L1124'></a><a href='#L1124'>1124</a>
1190
- <a name='L1125'></a><a href='#L1125'>1125</a>
1191
- <a name='L1126'></a><a href='#L1126'>1126</a>
1192
- <a name='L1127'></a><a href='#L1127'>1127</a>
1193
- <a name='L1128'></a><a href='#L1128'>1128</a>
1194
- <a name='L1129'></a><a href='#L1129'>1129</a>
1195
- <a name='L1130'></a><a href='#L1130'>1130</a>
1196
- <a name='L1131'></a><a href='#L1131'>1131</a>
1197
- <a name='L1132'></a><a href='#L1132'>1132</a>
1198
- <a name='L1133'></a><a href='#L1133'>1133</a>
1199
- <a name='L1134'></a><a href='#L1134'>1134</a>
1200
- <a name='L1135'></a><a href='#L1135'>1135</a>
1201
- <a name='L1136'></a><a href='#L1136'>1136</a>
1202
- <a name='L1137'></a><a href='#L1137'>1137</a>
1203
- <a name='L1138'></a><a href='#L1138'>1138</a>
1204
- <a name='L1139'></a><a href='#L1139'>1139</a>
1205
- <a name='L1140'></a><a href='#L1140'>1140</a>
1206
- <a name='L1141'></a><a href='#L1141'>1141</a>
1207
- <a name='L1142'></a><a href='#L1142'>1142</a>
1208
- <a name='L1143'></a><a href='#L1143'>1143</a>
1209
- <a name='L1144'></a><a href='#L1144'>1144</a>
1210
- <a name='L1145'></a><a href='#L1145'>1145</a>
1211
- <a name='L1146'></a><a href='#L1146'>1146</a>
1212
- <a name='L1147'></a><a href='#L1147'>1147</a>
1213
- <a name='L1148'></a><a href='#L1148'>1148</a>
1214
- <a name='L1149'></a><a href='#L1149'>1149</a>
1215
- <a name='L1150'></a><a href='#L1150'>1150</a>
1216
- <a name='L1151'></a><a href='#L1151'>1151</a>
1217
- <a name='L1152'></a><a href='#L1152'>1152</a>
1218
- <a name='L1153'></a><a href='#L1153'>1153</a>
1219
- <a name='L1154'></a><a href='#L1154'>1154</a>
1220
- <a name='L1155'></a><a href='#L1155'>1155</a>
1221
- <a name='L1156'></a><a href='#L1156'>1156</a>
1222
- <a name='L1157'></a><a href='#L1157'>1157</a>
1223
- <a name='L1158'></a><a href='#L1158'>1158</a>
1224
- <a name='L1159'></a><a href='#L1159'>1159</a>
1225
- <a name='L1160'></a><a href='#L1160'>1160</a>
1226
- <a name='L1161'></a><a href='#L1161'>1161</a>
1227
- <a name='L1162'></a><a href='#L1162'>1162</a>
1228
- <a name='L1163'></a><a href='#L1163'>1163</a>
1229
- <a name='L1164'></a><a href='#L1164'>1164</a>
1230
- <a name='L1165'></a><a href='#L1165'>1165</a>
1231
- <a name='L1166'></a><a href='#L1166'>1166</a>
1232
- <a name='L1167'></a><a href='#L1167'>1167</a>
1233
- <a name='L1168'></a><a href='#L1168'>1168</a>
1234
- <a name='L1169'></a><a href='#L1169'>1169</a>
1235
- <a name='L1170'></a><a href='#L1170'>1170</a>
1236
- <a name='L1171'></a><a href='#L1171'>1171</a>
1237
- <a name='L1172'></a><a href='#L1172'>1172</a>
1238
- <a name='L1173'></a><a href='#L1173'>1173</a>
1239
- <a name='L1174'></a><a href='#L1174'>1174</a>
1240
- <a name='L1175'></a><a href='#L1175'>1175</a>
1241
- <a name='L1176'></a><a href='#L1176'>1176</a>
1242
- <a name='L1177'></a><a href='#L1177'>1177</a>
1243
- <a name='L1178'></a><a href='#L1178'>1178</a>
1244
- <a name='L1179'></a><a href='#L1179'>1179</a>
1245
- <a name='L1180'></a><a href='#L1180'>1180</a>
1246
- <a name='L1181'></a><a href='#L1181'>1181</a>
1247
- <a name='L1182'></a><a href='#L1182'>1182</a>
1248
- <a name='L1183'></a><a href='#L1183'>1183</a>
1249
- <a name='L1184'></a><a href='#L1184'>1184</a>
1250
- <a name='L1185'></a><a href='#L1185'>1185</a>
1251
- <a name='L1186'></a><a href='#L1186'>1186</a>
1252
- <a name='L1187'></a><a href='#L1187'>1187</a>
1253
- <a name='L1188'></a><a href='#L1188'>1188</a>
1254
- <a name='L1189'></a><a href='#L1189'>1189</a>
1255
- <a name='L1190'></a><a href='#L1190'>1190</a>
1256
- <a name='L1191'></a><a href='#L1191'>1191</a>
1257
- <a name='L1192'></a><a href='#L1192'>1192</a>
1258
- <a name='L1193'></a><a href='#L1193'>1193</a>
1259
- <a name='L1194'></a><a href='#L1194'>1194</a>
1260
- <a name='L1195'></a><a href='#L1195'>1195</a>
1261
- <a name='L1196'></a><a href='#L1196'>1196</a>
1262
- <a name='L1197'></a><a href='#L1197'>1197</a>
1263
- <a name='L1198'></a><a href='#L1198'>1198</a>
1264
- <a name='L1199'></a><a href='#L1199'>1199</a>
1265
- <a name='L1200'></a><a href='#L1200'>1200</a>
1266
- <a name='L1201'></a><a href='#L1201'>1201</a>
1267
- <a name='L1202'></a><a href='#L1202'>1202</a>
1268
- <a name='L1203'></a><a href='#L1203'>1203</a>
1269
- <a name='L1204'></a><a href='#L1204'>1204</a>
1270
- <a name='L1205'></a><a href='#L1205'>1205</a>
1271
- <a name='L1206'></a><a href='#L1206'>1206</a>
1272
- <a name='L1207'></a><a href='#L1207'>1207</a>
1273
- <a name='L1208'></a><a href='#L1208'>1208</a>
1274
- <a name='L1209'></a><a href='#L1209'>1209</a>
1275
- <a name='L1210'></a><a href='#L1210'>1210</a>
1276
- <a name='L1211'></a><a href='#L1211'>1211</a>
1277
- <a name='L1212'></a><a href='#L1212'>1212</a>
1278
- <a name='L1213'></a><a href='#L1213'>1213</a>
1279
- <a name='L1214'></a><a href='#L1214'>1214</a>
1280
- <a name='L1215'></a><a href='#L1215'>1215</a>
1281
- <a name='L1216'></a><a href='#L1216'>1216</a>
1282
- <a name='L1217'></a><a href='#L1217'>1217</a>
1283
- <a name='L1218'></a><a href='#L1218'>1218</a>
1284
- <a name='L1219'></a><a href='#L1219'>1219</a>
1285
- <a name='L1220'></a><a href='#L1220'>1220</a>
1286
- <a name='L1221'></a><a href='#L1221'>1221</a>
1287
- <a name='L1222'></a><a href='#L1222'>1222</a>
1288
- <a name='L1223'></a><a href='#L1223'>1223</a>
1289
- <a name='L1224'></a><a href='#L1224'>1224</a>
1290
- <a name='L1225'></a><a href='#L1225'>1225</a>
1291
- <a name='L1226'></a><a href='#L1226'>1226</a>
1292
- <a name='L1227'></a><a href='#L1227'>1227</a>
1293
- <a name='L1228'></a><a href='#L1228'>1228</a>
1294
- <a name='L1229'></a><a href='#L1229'>1229</a>
1295
- <a name='L1230'></a><a href='#L1230'>1230</a>
1296
- <a name='L1231'></a><a href='#L1231'>1231</a>
1297
- <a name='L1232'></a><a href='#L1232'>1232</a>
1298
- <a name='L1233'></a><a href='#L1233'>1233</a>
1299
- <a name='L1234'></a><a href='#L1234'>1234</a>
1300
- <a name='L1235'></a><a href='#L1235'>1235</a>
1301
- <a name='L1236'></a><a href='#L1236'>1236</a>
1302
- <a name='L1237'></a><a href='#L1237'>1237</a>
1303
- <a name='L1238'></a><a href='#L1238'>1238</a>
1304
- <a name='L1239'></a><a href='#L1239'>1239</a>
1305
- <a name='L1240'></a><a href='#L1240'>1240</a>
1306
- <a name='L1241'></a><a href='#L1241'>1241</a>
1307
- <a name='L1242'></a><a href='#L1242'>1242</a>
1308
- <a name='L1243'></a><a href='#L1243'>1243</a>
1309
- <a name='L1244'></a><a href='#L1244'>1244</a>
1310
- <a name='L1245'></a><a href='#L1245'>1245</a>
1311
- <a name='L1246'></a><a href='#L1246'>1246</a>
1312
- <a name='L1247'></a><a href='#L1247'>1247</a>
1313
- <a name='L1248'></a><a href='#L1248'>1248</a>
1314
- <a name='L1249'></a><a href='#L1249'>1249</a>
1315
- <a name='L1250'></a><a href='#L1250'>1250</a>
1316
- <a name='L1251'></a><a href='#L1251'>1251</a>
1317
- <a name='L1252'></a><a href='#L1252'>1252</a>
1318
- <a name='L1253'></a><a href='#L1253'>1253</a>
1319
- <a name='L1254'></a><a href='#L1254'>1254</a>
1320
- <a name='L1255'></a><a href='#L1255'>1255</a>
1321
- <a name='L1256'></a><a href='#L1256'>1256</a>
1322
- <a name='L1257'></a><a href='#L1257'>1257</a>
1323
- <a name='L1258'></a><a href='#L1258'>1258</a>
1324
- <a name='L1259'></a><a href='#L1259'>1259</a>
1325
- <a name='L1260'></a><a href='#L1260'>1260</a>
1326
- <a name='L1261'></a><a href='#L1261'>1261</a>
1327
- <a name='L1262'></a><a href='#L1262'>1262</a>
1328
- <a name='L1263'></a><a href='#L1263'>1263</a>
1329
- <a name='L1264'></a><a href='#L1264'>1264</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
1330
- <span class="cline-any cline-yes">1x</span>
1331
- <span class="cline-any cline-neutral">&nbsp;</span>
1332
- <span class="cline-any cline-neutral">&nbsp;</span>
1333
- <span class="cline-any cline-yes">1x</span>
1334
- <span class="cline-any cline-neutral">&nbsp;</span>
1335
- <span class="cline-any cline-yes">1x</span>
1336
- <span class="cline-any cline-yes">1x</span>
1337
- <span class="cline-any cline-yes">1x</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">1x</span>
1341
- <span class="cline-any cline-yes">1x</span>
1342
- <span class="cline-any cline-neutral">&nbsp;</span>
1343
- <span class="cline-any cline-neutral">&nbsp;</span>
1344
- <span class="cline-any cline-neutral">&nbsp;</span>
1345
- <span class="cline-any cline-neutral">&nbsp;</span>
1346
- <span class="cline-any cline-no">&nbsp;</span>
1347
- <span class="cline-any cline-no">&nbsp;</span>
1348
- <span class="cline-any cline-neutral">&nbsp;</span>
1349
- <span class="cline-any cline-no">&nbsp;</span>
1350
- <span class="cline-any cline-no">&nbsp;</span>
1351
- <span class="cline-any cline-no">&nbsp;</span>
1352
- <span class="cline-any cline-no">&nbsp;</span>
1353
- <span class="cline-any cline-no">&nbsp;</span>
1354
- <span class="cline-any cline-no">&nbsp;</span>
1355
- <span class="cline-any cline-no">&nbsp;</span>
1356
- <span class="cline-any cline-no">&nbsp;</span>
1357
- <span class="cline-any cline-no">&nbsp;</span>
1358
- <span class="cline-any cline-no">&nbsp;</span>
1359
- <span class="cline-any cline-no">&nbsp;</span>
1360
- <span class="cline-any cline-no">&nbsp;</span>
1361
- <span class="cline-any cline-no">&nbsp;</span>
1362
- <span class="cline-any cline-neutral">&nbsp;</span>
1363
- <span class="cline-any cline-neutral">&nbsp;</span>
1364
- <span class="cline-any cline-no">&nbsp;</span>
1365
- <span class="cline-any cline-neutral">&nbsp;</span>
1366
- <span class="cline-any cline-neutral">&nbsp;</span>
1367
- <span class="cline-any cline-no">&nbsp;</span>
1368
- <span class="cline-any cline-neutral">&nbsp;</span>
1369
- <span class="cline-any cline-neutral">&nbsp;</span>
1370
- <span class="cline-any cline-neutral">&nbsp;</span>
1371
- <span class="cline-any cline-neutral">&nbsp;</span>
1372
- <span class="cline-any cline-no">&nbsp;</span>
1373
- <span class="cline-any cline-neutral">&nbsp;</span>
1374
- <span class="cline-any cline-no">&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-yes">1x</span>
1383
- <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
1389
- <span class="cline-any cline-neutral">&nbsp;</span>
1390
- <span class="cline-any cline-yes">6137x</span>
1391
- <span class="cline-any cline-neutral">&nbsp;</span>
1392
- <span class="cline-any cline-neutral">&nbsp;</span>
1393
- <span class="cline-any cline-neutral">&nbsp;</span>
1394
- <span class="cline-any cline-yes">1x</span>
1395
- <span class="cline-any cline-neutral">&nbsp;</span>
1396
- <span class="cline-any cline-neutral">&nbsp;</span>
1397
- <span class="cline-any cline-neutral">&nbsp;</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">1x</span>
1401
- <span class="cline-any cline-yes">36127x</span>
1402
- <span class="cline-any cline-neutral">&nbsp;</span>
1403
- <span class="cline-any cline-neutral">&nbsp;</span>
1404
- <span class="cline-any cline-no">&nbsp;</span>
1405
- <span class="cline-any cline-no">&nbsp;</span>
1406
- <span class="cline-any cline-no">&nbsp;</span>
1407
- <span class="cline-any cline-no">&nbsp;</span>
1408
- <span class="cline-any cline-neutral">&nbsp;</span>
1409
- <span class="cline-any cline-no">&nbsp;</span>
1410
- <span class="cline-any cline-neutral">&nbsp;</span>
1411
- <span class="cline-any cline-neutral">&nbsp;</span>
1412
- <span class="cline-any cline-neutral">&nbsp;</span>
1413
- <span class="cline-any cline-neutral">&nbsp;</span>
1414
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
1418
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
1422
- <span class="cline-any cline-neutral">&nbsp;</span>
1423
- <span class="cline-any cline-yes">6137x</span>
1424
- <span class="cline-any cline-neutral">&nbsp;</span>
1425
- <span class="cline-any cline-neutral">&nbsp;</span>
1426
- <span class="cline-any cline-neutral">&nbsp;</span>
1427
- <span class="cline-any cline-neutral">&nbsp;</span>
1428
- <span class="cline-any cline-neutral">&nbsp;</span>
1429
- <span class="cline-any cline-yes">1x</span>
1430
- <span class="cline-any cline-neutral">&nbsp;</span>
1431
- <span class="cline-any cline-neutral">&nbsp;</span>
1432
- <span class="cline-any cline-neutral">&nbsp;</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-yes">1x</span>
1436
- <span class="cline-any cline-neutral">&nbsp;</span>
1437
- <span class="cline-any cline-neutral">&nbsp;</span>
1438
- <span class="cline-any cline-neutral">&nbsp;</span>
1439
- <span class="cline-any cline-neutral">&nbsp;</span>
1440
- <span class="cline-any cline-neutral">&nbsp;</span>
1441
- <span class="cline-any cline-yes">1x</span>
1442
- <span class="cline-any cline-neutral">&nbsp;</span>
1443
- <span class="cline-any cline-neutral">&nbsp;</span>
1444
- <span class="cline-any cline-yes">1x</span>
1445
- <span class="cline-any cline-neutral">&nbsp;</span>
1446
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</span>
1454
- <span class="cline-any cline-yes">1x</span>
1455
- <span class="cline-any cline-neutral">&nbsp;</span>
1456
- <span class="cline-any cline-neutral">&nbsp;</span>
1457
- <span class="cline-any cline-neutral">&nbsp;</span>
1458
- <span class="cline-any cline-neutral">&nbsp;</span>
1459
- <span class="cline-any cline-neutral">&nbsp;</span>
1460
- <span class="cline-any cline-yes">6137x</span>
1461
- <span class="cline-any cline-neutral">&nbsp;</span>
1462
- <span class="cline-any cline-yes">6137x</span>
1463
- <span class="cline-any cline-neutral">&nbsp;</span>
1464
- <span class="cline-any cline-neutral">&nbsp;</span>
1465
- <span class="cline-any cline-neutral">&nbsp;</span>
1466
- <span class="cline-any cline-neutral">&nbsp;</span>
1467
- <span class="cline-any cline-neutral">&nbsp;</span>
1468
- <span class="cline-any cline-neutral">&nbsp;</span>
1469
- <span class="cline-any cline-yes">1x</span>
1470
- <span class="cline-any cline-neutral">&nbsp;</span>
1471
- <span class="cline-any cline-neutral">&nbsp;</span>
1472
- <span class="cline-any cline-neutral">&nbsp;</span>
1473
- <span class="cline-any cline-neutral">&nbsp;</span>
1474
- <span class="cline-any cline-neutral">&nbsp;</span>
1475
- <span class="cline-any cline-neutral">&nbsp;</span>
1476
- <span class="cline-any cline-yes">1x</span>
1477
- <span class="cline-any cline-neutral">&nbsp;</span>
1478
- <span class="cline-any cline-neutral">&nbsp;</span>
1479
- <span class="cline-any cline-neutral">&nbsp;</span>
1480
- <span class="cline-any cline-neutral">&nbsp;</span>
1481
- <span class="cline-any cline-neutral">&nbsp;</span>
1482
- <span class="cline-any cline-neutral">&nbsp;</span>
1483
- <span class="cline-any cline-yes">1x</span>
1484
- <span class="cline-any cline-neutral">&nbsp;</span>
1485
- <span class="cline-any cline-neutral">&nbsp;</span>
1486
- <span class="cline-any cline-neutral">&nbsp;</span>
1487
- <span class="cline-any cline-neutral">&nbsp;</span>
1488
- <span class="cline-any cline-neutral">&nbsp;</span>
1489
- <span class="cline-any cline-neutral">&nbsp;</span>
1490
- <span class="cline-any cline-yes">1x</span>
1491
- <span class="cline-any cline-neutral">&nbsp;</span>
1492
- <span class="cline-any cline-neutral">&nbsp;</span>
1493
- <span class="cline-any cline-neutral">&nbsp;</span>
1494
- <span class="cline-any cline-neutral">&nbsp;</span>
1495
- <span class="cline-any cline-neutral">&nbsp;</span>
1496
- <span class="cline-any cline-neutral">&nbsp;</span>
1497
- <span class="cline-any cline-yes">1x</span>
1498
- <span class="cline-any cline-neutral">&nbsp;</span>
1499
- <span class="cline-any cline-neutral">&nbsp;</span>
1500
- <span class="cline-any cline-neutral">&nbsp;</span>
1501
- <span class="cline-any cline-neutral">&nbsp;</span>
1502
- <span class="cline-any cline-neutral">&nbsp;</span>
1503
- <span class="cline-any cline-neutral">&nbsp;</span>
1504
- <span class="cline-any cline-yes">1x</span>
1505
- <span class="cline-any cline-neutral">&nbsp;</span>
1506
- <span class="cline-any cline-neutral">&nbsp;</span>
1507
- <span class="cline-any cline-neutral">&nbsp;</span>
1508
- <span class="cline-any cline-neutral">&nbsp;</span>
1509
- <span class="cline-any cline-neutral">&nbsp;</span>
1510
- <span class="cline-any cline-neutral">&nbsp;</span>
1511
- <span class="cline-any cline-yes">1x</span>
1512
- <span class="cline-any cline-neutral">&nbsp;</span>
1513
- <span class="cline-any cline-neutral">&nbsp;</span>
1514
- <span class="cline-any cline-neutral">&nbsp;</span>
1515
- <span class="cline-any cline-neutral">&nbsp;</span>
1516
- <span class="cline-any cline-neutral">&nbsp;</span>
1517
- <span class="cline-any cline-neutral">&nbsp;</span>
1518
- <span class="cline-any cline-yes">1x</span>
1519
- <span class="cline-any cline-neutral">&nbsp;</span>
1520
- <span class="cline-any cline-neutral">&nbsp;</span>
1521
- <span class="cline-any cline-neutral">&nbsp;</span>
1522
- <span class="cline-any cline-neutral">&nbsp;</span>
1523
- <span class="cline-any cline-neutral">&nbsp;</span>
1524
- <span class="cline-any cline-neutral">&nbsp;</span>
1525
- <span class="cline-any cline-yes">1x</span>
1526
- <span class="cline-any cline-neutral">&nbsp;</span>
1527
- <span class="cline-any cline-neutral">&nbsp;</span>
1528
- <span class="cline-any cline-neutral">&nbsp;</span>
1529
- <span class="cline-any cline-neutral">&nbsp;</span>
1530
- <span class="cline-any cline-neutral">&nbsp;</span>
1531
- <span class="cline-any cline-neutral">&nbsp;</span>
1532
- <span class="cline-any cline-yes">1x</span>
1533
- <span class="cline-any cline-neutral">&nbsp;</span>
1534
- <span class="cline-any cline-neutral">&nbsp;</span>
1535
- <span class="cline-any cline-neutral">&nbsp;</span>
1536
- <span class="cline-any cline-neutral">&nbsp;</span>
1537
- <span class="cline-any cline-neutral">&nbsp;</span>
1538
- <span class="cline-any cline-neutral">&nbsp;</span>
1539
- <span class="cline-any cline-yes">1x</span>
1540
- <span class="cline-any cline-neutral">&nbsp;</span>
1541
- <span class="cline-any cline-neutral">&nbsp;</span>
1542
- <span class="cline-any cline-neutral">&nbsp;</span>
1543
- <span class="cline-any cline-neutral">&nbsp;</span>
1544
- <span class="cline-any cline-neutral">&nbsp;</span>
1545
- <span class="cline-any cline-yes">1x</span>
1546
- <span class="cline-any cline-neutral">&nbsp;</span>
1547
- <span class="cline-any cline-neutral">&nbsp;</span>
1548
- <span class="cline-any cline-neutral">&nbsp;</span>
1549
- <span class="cline-any cline-neutral">&nbsp;</span>
1550
- <span class="cline-any cline-neutral">&nbsp;</span>
1551
- <span class="cline-any cline-neutral">&nbsp;</span>
1552
- <span class="cline-any cline-yes">1x</span>
1553
- <span class="cline-any cline-neutral">&nbsp;</span>
1554
- <span class="cline-any cline-neutral">&nbsp;</span>
1555
- <span class="cline-any cline-yes">1x</span>
1556
- <span class="cline-any cline-neutral">&nbsp;</span>
1557
- <span class="cline-any cline-neutral">&nbsp;</span>
1558
- <span class="cline-any cline-neutral">&nbsp;</span>
1559
- <span class="cline-any cline-neutral">&nbsp;</span>
1560
- <span class="cline-any cline-neutral">&nbsp;</span>
1561
- <span class="cline-any cline-neutral">&nbsp;</span>
1562
- <span class="cline-any cline-neutral">&nbsp;</span>
1563
- <span class="cline-any cline-yes">6137x</span>
1564
- <span class="cline-any cline-neutral">&nbsp;</span>
1565
- <span class="cline-any cline-neutral">&nbsp;</span>
1566
- <span class="cline-any cline-neutral">&nbsp;</span>
1567
- <span class="cline-any cline-neutral">&nbsp;</span>
1568
- <span class="cline-any cline-neutral">&nbsp;</span>
1569
- <span class="cline-any cline-yes">1x</span>
1570
- <span class="cline-any cline-neutral">&nbsp;</span>
1571
- <span class="cline-any cline-neutral">&nbsp;</span>
1572
- <span class="cline-any cline-neutral">&nbsp;</span>
1573
- <span class="cline-any cline-neutral">&nbsp;</span>
1574
- <span class="cline-any cline-neutral">&nbsp;</span>
1575
- <span class="cline-any cline-yes">1x</span>
1576
- <span class="cline-any cline-neutral">&nbsp;</span>
1577
- <span class="cline-any cline-neutral">&nbsp;</span>
1578
- <span class="cline-any cline-neutral">&nbsp;</span>
1579
- <span class="cline-any cline-neutral">&nbsp;</span>
1580
- <span class="cline-any cline-neutral">&nbsp;</span>
1581
- <span class="cline-any cline-yes">6137x</span>
1582
- <span class="cline-any cline-yes">6137x</span>
1583
- <span class="cline-any cline-neutral">&nbsp;</span>
1584
- <span class="cline-any cline-neutral">&nbsp;</span>
1585
- <span class="cline-any cline-neutral">&nbsp;</span>
1586
- <span class="cline-any cline-yes">6137x</span>
1587
- <span class="cline-any cline-yes">6137x</span>
1588
- <span class="cline-any cline-yes">6137x</span>
1589
- <span class="cline-any cline-neutral">&nbsp;</span>
1590
- <span class="cline-any cline-neutral">&nbsp;</span>
1591
- <span class="cline-any cline-neutral">&nbsp;</span>
1592
- <span class="cline-any cline-neutral">&nbsp;</span>
1593
- <span class="cline-any cline-yes">6137x</span>
1594
- <span class="cline-any cline-yes">6137x</span>
1595
- <span class="cline-any cline-yes">6137x</span>
1596
- <span class="cline-any cline-neutral">&nbsp;</span>
1597
- <span class="cline-any cline-neutral">&nbsp;</span>
1598
- <span class="cline-any cline-neutral">&nbsp;</span>
1599
- <span class="cline-any cline-neutral">&nbsp;</span>
1600
- <span class="cline-any cline-yes">11554x</span>
1601
- <span class="cline-any cline-yes">443917x</span>
1602
- <span class="cline-any cline-neutral">&nbsp;</span>
1603
- <span class="cline-any cline-neutral">&nbsp;</span>
1604
- <span class="cline-any cline-yes">11554x</span>
1605
- <span class="cline-any cline-yes">8629x</span>
1606
- <span class="cline-any cline-neutral">&nbsp;</span>
1607
- <span class="cline-any cline-neutral">&nbsp;</span>
1608
- <span class="cline-any cline-yes">11554x</span>
1609
- <span class="cline-any cline-yes">184218x</span>
1610
- <span class="cline-any cline-yes">11548x</span>
1611
- <span class="cline-any cline-neutral">&nbsp;</span>
1612
- <span class="cline-any cline-neutral">&nbsp;</span>
1613
- <span class="cline-any cline-yes">172670x</span>
1614
- <span class="cline-any cline-neutral">&nbsp;</span>
1615
- <span class="cline-any cline-yes">172670x</span>
1616
- <span class="cline-any cline-neutral">&nbsp;</span>
1617
- <span class="cline-any cline-neutral">&nbsp;</span>
1618
- <span class="cline-any cline-neutral">&nbsp;</span>
1619
- <span class="cline-any cline-yes">172670x</span>
1620
- <span class="cline-any cline-yes">42x</span>
1621
- <span class="cline-any cline-neutral">&nbsp;</span>
1622
- <span class="cline-any cline-neutral">&nbsp;</span>
1623
- <span class="cline-any cline-yes">172670x</span>
1624
- <span class="cline-any cline-yes">172670x</span>
1625
- <span class="cline-any cline-yes">25851x</span>
1626
- <span class="cline-any cline-yes">25851x</span>
1627
- <span class="cline-any cline-yes">26021x</span>
1628
- <span class="cline-any cline-yes">26021x</span>
1629
- <span class="cline-any cline-yes">1146x</span>
1630
- <span class="cline-any cline-yes">1146x</span>
1631
- <span class="cline-any cline-yes">1146x</span>
1632
- <span class="cline-any cline-neutral">&nbsp;</span>
1633
- <span class="cline-any cline-neutral">&nbsp;</span>
1634
- <span class="cline-any cline-neutral">&nbsp;</span>
1635
- <span class="cline-any cline-neutral">&nbsp;</span>
1636
- <span class="cline-any cline-neutral">&nbsp;</span>
1637
- <span class="cline-any cline-yes">172670x</span>
1638
- <span class="cline-any cline-neutral">&nbsp;</span>
1639
- <span class="cline-any cline-yes">172670x</span>
1640
- <span class="cline-any cline-yes">52487x</span>
1641
- <span class="cline-any cline-neutral">&nbsp;</span>
1642
- <span class="cline-any cline-neutral">&nbsp;</span>
1643
- <span class="cline-any cline-neutral">&nbsp;</span>
1644
- <span class="cline-any cline-no">&nbsp;</span>
1645
- <span class="cline-any cline-neutral">&nbsp;</span>
1646
- <span class="cline-any cline-neutral">&nbsp;</span>
1647
- <span class="cline-any cline-neutral">&nbsp;</span>
1648
- <span class="cline-any cline-yes">11554x</span>
1649
- <span class="cline-any cline-neutral">&nbsp;</span>
1650
- <span class="cline-any cline-neutral">&nbsp;</span>
1651
- <span class="cline-any cline-yes">11554x</span>
1652
- <span class="cline-any cline-yes">7519x</span>
1653
- <span class="cline-any cline-neutral">&nbsp;</span>
1654
- <span class="cline-any cline-neutral">&nbsp;</span>
1655
- <span class="cline-any cline-neutral">&nbsp;</span>
1656
- <span class="cline-any cline-neutral">&nbsp;</span>
1657
- <span class="cline-any cline-no">&nbsp;</span>
1658
- <span class="cline-any cline-no">&nbsp;</span>
1659
- <span class="cline-any cline-neutral">&nbsp;</span>
1660
- <span class="cline-any cline-no">&nbsp;</span>
1661
- <span class="cline-any cline-no">&nbsp;</span>
1662
- <span class="cline-any cline-no">&nbsp;</span>
1663
- <span class="cline-any cline-no">&nbsp;</span>
1664
- <span class="cline-any cline-no">&nbsp;</span>
1665
- <span class="cline-any cline-no">&nbsp;</span>
1666
- <span class="cline-any cline-no">&nbsp;</span>
1667
- <span class="cline-any cline-no">&nbsp;</span>
1668
- <span class="cline-any cline-no">&nbsp;</span>
1669
- <span class="cline-any cline-no">&nbsp;</span>
1670
- <span class="cline-any cline-no">&nbsp;</span>
1671
- <span class="cline-any cline-neutral">&nbsp;</span>
1672
- <span class="cline-any cline-no">&nbsp;</span>
1673
- <span class="cline-any cline-neutral">&nbsp;</span>
1674
- <span class="cline-any cline-neutral">&nbsp;</span>
1675
- <span class="cline-any cline-no">&nbsp;</span>
1676
- <span class="cline-any cline-no">&nbsp;</span>
1677
- <span class="cline-any cline-no">&nbsp;</span>
1678
- <span class="cline-any cline-no">&nbsp;</span>
1679
- <span class="cline-any cline-neutral">&nbsp;</span>
1680
- <span class="cline-any cline-no">&nbsp;</span>
1681
- <span class="cline-any cline-neutral">&nbsp;</span>
1682
- <span class="cline-any cline-neutral">&nbsp;</span>
1683
- <span class="cline-any cline-neutral">&nbsp;</span>
1684
- <span class="cline-any cline-neutral">&nbsp;</span>
1685
- <span class="cline-any cline-neutral">&nbsp;</span>
1686
- <span class="cline-any cline-neutral">&nbsp;</span>
1687
- <span class="cline-any cline-no">&nbsp;</span>
1688
- <span class="cline-any cline-no">&nbsp;</span>
1689
- <span class="cline-any cline-no">&nbsp;</span>
1690
- <span class="cline-any cline-no">&nbsp;</span>
1691
- <span class="cline-any cline-no">&nbsp;</span>
1692
- <span class="cline-any cline-no">&nbsp;</span>
1693
- <span class="cline-any cline-no">&nbsp;</span>
1694
- <span class="cline-any cline-neutral">&nbsp;</span>
1695
- <span class="cline-any cline-neutral">&nbsp;</span>
1696
- <span class="cline-any cline-no">&nbsp;</span>
1697
- <span class="cline-any cline-neutral">&nbsp;</span>
1698
- <span class="cline-any cline-neutral">&nbsp;</span>
1699
- <span class="cline-any cline-neutral">&nbsp;</span>
1700
- <span class="cline-any cline-neutral">&nbsp;</span>
1701
- <span class="cline-any cline-neutral">&nbsp;</span>
1702
- <span class="cline-any cline-neutral">&nbsp;</span>
1703
- <span class="cline-any cline-neutral">&nbsp;</span>
1704
- <span class="cline-any cline-neutral">&nbsp;</span>
1705
- <span class="cline-any cline-neutral">&nbsp;</span>
1706
- <span class="cline-any cline-no">&nbsp;</span>
1707
- <span class="cline-any cline-no">&nbsp;</span>
1708
- <span class="cline-any cline-neutral">&nbsp;</span>
1709
- <span class="cline-any cline-no">&nbsp;</span>
1710
- <span class="cline-any cline-no">&nbsp;</span>
1711
- <span class="cline-any cline-neutral">&nbsp;</span>
1712
- <span class="cline-any cline-no">&nbsp;</span>
1713
- <span class="cline-any cline-no">&nbsp;</span>
1714
- <span class="cline-any cline-no">&nbsp;</span>
1715
- <span class="cline-any cline-no">&nbsp;</span>
1716
- <span class="cline-any cline-no">&nbsp;</span>
1717
- <span class="cline-any cline-no">&nbsp;</span>
1718
- <span class="cline-any cline-neutral">&nbsp;</span>
1719
- <span class="cline-any cline-neutral">&nbsp;</span>
1720
- <span class="cline-any cline-neutral">&nbsp;</span>
1721
- <span class="cline-any cline-neutral">&nbsp;</span>
1722
- <span class="cline-any cline-neutral">&nbsp;</span>
1723
- <span class="cline-any cline-neutral">&nbsp;</span>
1724
- <span class="cline-any cline-neutral">&nbsp;</span>
1725
- <span class="cline-any cline-neutral">&nbsp;</span>
1726
- <span class="cline-any cline-neutral">&nbsp;</span>
1727
- <span class="cline-any cline-no">&nbsp;</span>
1728
- <span class="cline-any cline-neutral">&nbsp;</span>
1729
- <span class="cline-any cline-neutral">&nbsp;</span>
1730
- <span class="cline-any cline-neutral">&nbsp;</span>
1731
- <span class="cline-any cline-neutral">&nbsp;</span>
1732
- <span class="cline-any cline-no">&nbsp;</span>
1733
- <span class="cline-any cline-no">&nbsp;</span>
1734
- <span class="cline-any cline-no">&nbsp;</span>
1735
- <span class="cline-any cline-no">&nbsp;</span>
1736
- <span class="cline-any cline-neutral">&nbsp;</span>
1737
- <span class="cline-any cline-no">&nbsp;</span>
1738
- <span class="cline-any cline-neutral">&nbsp;</span>
1739
- <span class="cline-any cline-no">&nbsp;</span>
1740
- <span class="cline-any cline-no">&nbsp;</span>
1741
- <span class="cline-any cline-no">&nbsp;</span>
1742
- <span class="cline-any cline-neutral">&nbsp;</span>
1743
- <span class="cline-any cline-neutral">&nbsp;</span>
1744
- <span class="cline-any cline-neutral">&nbsp;</span>
1745
- <span class="cline-any cline-neutral">&nbsp;</span>
1746
- <span class="cline-any cline-neutral">&nbsp;</span>
1747
- <span class="cline-any cline-neutral">&nbsp;</span>
1748
- <span class="cline-any cline-neutral">&nbsp;</span>
1749
- <span class="cline-any cline-no">&nbsp;</span>
1750
- <span class="cline-any cline-no">&nbsp;</span>
1751
- <span class="cline-any cline-no">&nbsp;</span>
1752
- <span class="cline-any cline-neutral">&nbsp;</span>
1753
- <span class="cline-any cline-neutral">&nbsp;</span>
1754
- <span class="cline-any cline-neutral">&nbsp;</span>
1755
- <span class="cline-any cline-neutral">&nbsp;</span>
1756
- <span class="cline-any cline-neutral">&nbsp;</span>
1757
- <span class="cline-any cline-neutral">&nbsp;</span>
1758
- <span class="cline-any cline-neutral">&nbsp;</span>
1759
- <span class="cline-any cline-no">&nbsp;</span>
1760
- <span class="cline-any cline-neutral">&nbsp;</span>
1761
- <span class="cline-any cline-neutral">&nbsp;</span>
1762
- <span class="cline-any cline-neutral">&nbsp;</span>
1763
- <span class="cline-any cline-neutral">&nbsp;</span>
1764
- <span class="cline-any cline-neutral">&nbsp;</span>
1765
- <span class="cline-any cline-neutral">&nbsp;</span>
1766
- <span class="cline-any cline-neutral">&nbsp;</span>
1767
- <span class="cline-any cline-neutral">&nbsp;</span>
1768
- <span class="cline-any cline-neutral">&nbsp;</span>
1769
- <span class="cline-any cline-neutral">&nbsp;</span>
1770
- <span class="cline-any cline-neutral">&nbsp;</span>
1771
- <span class="cline-any cline-neutral">&nbsp;</span>
1772
- <span class="cline-any cline-neutral">&nbsp;</span>
1773
- <span class="cline-any cline-no">&nbsp;</span>
1774
- <span class="cline-any cline-no">&nbsp;</span>
1775
- <span class="cline-any cline-no">&nbsp;</span>
1776
- <span class="cline-any cline-neutral">&nbsp;</span>
1777
- <span class="cline-any cline-neutral">&nbsp;</span>
1778
- <span class="cline-any cline-no">&nbsp;</span>
1779
- <span class="cline-any cline-no">&nbsp;</span>
1780
- <span class="cline-any cline-no">&nbsp;</span>
1781
- <span class="cline-any cline-no">&nbsp;</span>
1782
- <span class="cline-any cline-no">&nbsp;</span>
1783
- <span class="cline-any cline-no">&nbsp;</span>
1784
- <span class="cline-any cline-neutral">&nbsp;</span>
1785
- <span class="cline-any cline-neutral">&nbsp;</span>
1786
- <span class="cline-any cline-neutral">&nbsp;</span>
1787
- <span class="cline-any cline-neutral">&nbsp;</span>
1788
- <span class="cline-any cline-neutral">&nbsp;</span>
1789
- <span class="cline-any cline-neutral">&nbsp;</span>
1790
- <span class="cline-any cline-no">&nbsp;</span>
1791
- <span class="cline-any cline-no">&nbsp;</span>
1792
- <span class="cline-any cline-neutral">&nbsp;</span>
1793
- <span class="cline-any cline-neutral">&nbsp;</span>
1794
- <span class="cline-any cline-neutral">&nbsp;</span>
1795
- <span class="cline-any cline-neutral">&nbsp;</span>
1796
- <span class="cline-any cline-neutral">&nbsp;</span>
1797
- <span class="cline-any cline-neutral">&nbsp;</span>
1798
- <span class="cline-any cline-neutral">&nbsp;</span>
1799
- <span class="cline-any cline-neutral">&nbsp;</span>
1800
- <span class="cline-any cline-neutral">&nbsp;</span>
1801
- <span class="cline-any cline-neutral">&nbsp;</span>
1802
- <span class="cline-any cline-neutral">&nbsp;</span>
1803
- <span class="cline-any cline-neutral">&nbsp;</span>
1804
- <span class="cline-any cline-neutral">&nbsp;</span>
1805
- <span class="cline-any cline-neutral">&nbsp;</span>
1806
- <span class="cline-any cline-neutral">&nbsp;</span>
1807
- <span class="cline-any cline-neutral">&nbsp;</span>
1808
- <span class="cline-any cline-neutral">&nbsp;</span>
1809
- <span class="cline-any cline-neutral">&nbsp;</span>
1810
- <span class="cline-any cline-no">&nbsp;</span>
1811
- <span class="cline-any cline-no">&nbsp;</span>
1812
- <span class="cline-any cline-no">&nbsp;</span>
1813
- <span class="cline-any cline-neutral">&nbsp;</span>
1814
- <span class="cline-any cline-neutral">&nbsp;</span>
1815
- <span class="cline-any cline-no">&nbsp;</span>
1816
- <span class="cline-any cline-no">&nbsp;</span>
1817
- <span class="cline-any cline-no">&nbsp;</span>
1818
- <span class="cline-any cline-no">&nbsp;</span>
1819
- <span class="cline-any cline-neutral">&nbsp;</span>
1820
- <span class="cline-any cline-no">&nbsp;</span>
1821
- <span class="cline-any cline-no">&nbsp;</span>
1822
- <span class="cline-any cline-no">&nbsp;</span>
1823
- <span class="cline-any cline-neutral">&nbsp;</span>
1824
- <span class="cline-any cline-neutral">&nbsp;</span>
1825
- <span class="cline-any cline-neutral">&nbsp;</span>
1826
- <span class="cline-any cline-no">&nbsp;</span>
1827
- <span class="cline-any cline-no">&nbsp;</span>
1828
- <span class="cline-any cline-neutral">&nbsp;</span>
1829
- <span class="cline-any cline-neutral">&nbsp;</span>
1830
- <span class="cline-any cline-no">&nbsp;</span>
1831
- <span class="cline-any cline-no">&nbsp;</span>
1832
- <span class="cline-any cline-no">&nbsp;</span>
1833
- <span class="cline-any cline-no">&nbsp;</span>
1834
- <span class="cline-any cline-no">&nbsp;</span>
1835
- <span class="cline-any cline-no">&nbsp;</span>
1836
- <span class="cline-any cline-no">&nbsp;</span>
1837
- <span class="cline-any cline-neutral">&nbsp;</span>
1838
- <span class="cline-any cline-no">&nbsp;</span>
1839
- <span class="cline-any cline-neutral">&nbsp;</span>
1840
- <span class="cline-any cline-neutral">&nbsp;</span>
1841
- <span class="cline-any cline-neutral">&nbsp;</span>
1842
- <span class="cline-any cline-neutral">&nbsp;</span>
1843
- <span class="cline-any cline-neutral">&nbsp;</span>
1844
- <span class="cline-any cline-neutral">&nbsp;</span>
1845
- <span class="cline-any cline-no">&nbsp;</span>
1846
- <span class="cline-any cline-no">&nbsp;</span>
1847
- <span class="cline-any cline-neutral">&nbsp;</span>
1848
- <span class="cline-any cline-neutral">&nbsp;</span>
1849
- <span class="cline-any cline-neutral">&nbsp;</span>
1850
- <span class="cline-any cline-neutral">&nbsp;</span>
1851
- <span class="cline-any cline-neutral">&nbsp;</span>
1852
- <span class="cline-any cline-neutral">&nbsp;</span>
1853
- <span class="cline-any cline-neutral">&nbsp;</span>
1854
- <span class="cline-any cline-neutral">&nbsp;</span>
1855
- <span class="cline-any cline-neutral">&nbsp;</span>
1856
- <span class="cline-any cline-neutral">&nbsp;</span>
1857
- <span class="cline-any cline-neutral">&nbsp;</span>
1858
- <span class="cline-any cline-neutral">&nbsp;</span>
1859
- <span class="cline-any cline-neutral">&nbsp;</span>
1860
- <span class="cline-any cline-neutral">&nbsp;</span>
1861
- <span class="cline-any cline-neutral">&nbsp;</span>
1862
- <span class="cline-any cline-neutral">&nbsp;</span>
1863
- <span class="cline-any cline-neutral">&nbsp;</span>
1864
- <span class="cline-any cline-no">&nbsp;</span>
1865
- <span class="cline-any cline-no">&nbsp;</span>
1866
- <span class="cline-any cline-no">&nbsp;</span>
1867
- <span class="cline-any cline-no">&nbsp;</span>
1868
- <span class="cline-any cline-no">&nbsp;</span>
1869
- <span class="cline-any cline-neutral">&nbsp;</span>
1870
- <span class="cline-any cline-neutral">&nbsp;</span>
1871
- <span class="cline-any cline-no">&nbsp;</span>
1872
- <span class="cline-any cline-no">&nbsp;</span>
1873
- <span class="cline-any cline-no">&nbsp;</span>
1874
- <span class="cline-any cline-no">&nbsp;</span>
1875
- <span class="cline-any cline-no">&nbsp;</span>
1876
- <span class="cline-any cline-no">&nbsp;</span>
1877
- <span class="cline-any cline-no">&nbsp;</span>
1878
- <span class="cline-any cline-no">&nbsp;</span>
1879
- <span class="cline-any cline-neutral">&nbsp;</span>
1880
- <span class="cline-any cline-no">&nbsp;</span>
1881
- <span class="cline-any cline-neutral">&nbsp;</span>
1882
- <span class="cline-any cline-no">&nbsp;</span>
1883
- <span class="cline-any cline-no">&nbsp;</span>
1884
- <span class="cline-any cline-neutral">&nbsp;</span>
1885
- <span class="cline-any cline-no">&nbsp;</span>
1886
- <span class="cline-any cline-no">&nbsp;</span>
1887
- <span class="cline-any cline-no">&nbsp;</span>
1888
- <span class="cline-any cline-no">&nbsp;</span>
1889
- <span class="cline-any cline-no">&nbsp;</span>
1890
- <span class="cline-any cline-no">&nbsp;</span>
1891
- <span class="cline-any cline-no">&nbsp;</span>
1892
- <span class="cline-any cline-no">&nbsp;</span>
1893
- <span class="cline-any cline-no">&nbsp;</span>
1894
- <span class="cline-any cline-neutral">&nbsp;</span>
1895
- <span class="cline-any cline-no">&nbsp;</span>
1896
- <span class="cline-any cline-neutral">&nbsp;</span>
1897
- <span class="cline-any cline-no">&nbsp;</span>
1898
- <span class="cline-any cline-no">&nbsp;</span>
1899
- <span class="cline-any cline-neutral">&nbsp;</span>
1900
- <span class="cline-any cline-neutral">&nbsp;</span>
1901
- <span class="cline-any cline-neutral">&nbsp;</span>
1902
- <span class="cline-any cline-no">&nbsp;</span>
1903
- <span class="cline-any cline-no">&nbsp;</span>
1904
- <span class="cline-any cline-no">&nbsp;</span>
1905
- <span class="cline-any cline-no">&nbsp;</span>
1906
- <span class="cline-any cline-no">&nbsp;</span>
1907
- <span class="cline-any cline-no">&nbsp;</span>
1908
- <span class="cline-any cline-no">&nbsp;</span>
1909
- <span class="cline-any cline-no">&nbsp;</span>
1910
- <span class="cline-any cline-no">&nbsp;</span>
1911
- <span class="cline-any cline-no">&nbsp;</span>
1912
- <span class="cline-any cline-no">&nbsp;</span>
1913
- <span class="cline-any cline-neutral">&nbsp;</span>
1914
- <span class="cline-any cline-neutral">&nbsp;</span>
1915
- <span class="cline-any cline-no">&nbsp;</span>
1916
- <span class="cline-any cline-neutral">&nbsp;</span>
1917
- <span class="cline-any cline-neutral">&nbsp;</span>
1918
- <span class="cline-any cline-no">&nbsp;</span>
1919
- <span class="cline-any cline-neutral">&nbsp;</span>
1920
- <span class="cline-any cline-neutral">&nbsp;</span>
1921
- <span class="cline-any cline-neutral">&nbsp;</span>
1922
- <span class="cline-any cline-no">&nbsp;</span>
1923
- <span class="cline-any cline-no">&nbsp;</span>
1924
- <span class="cline-any cline-neutral">&nbsp;</span>
1925
- <span class="cline-any cline-no">&nbsp;</span>
1926
- <span class="cline-any cline-neutral">&nbsp;</span>
1927
- <span class="cline-any cline-neutral">&nbsp;</span>
1928
- <span class="cline-any cline-neutral">&nbsp;</span>
1929
- <span class="cline-any cline-neutral">&nbsp;</span>
1930
- <span class="cline-any cline-neutral">&nbsp;</span>
1931
- <span class="cline-any cline-neutral">&nbsp;</span>
1932
- <span class="cline-any cline-neutral">&nbsp;</span>
1933
- <span class="cline-any cline-neutral">&nbsp;</span>
1934
- <span class="cline-any cline-neutral">&nbsp;</span>
1935
- <span class="cline-any cline-neutral">&nbsp;</span>
1936
- <span class="cline-any cline-no">&nbsp;</span>
1937
- <span class="cline-any cline-neutral">&nbsp;</span>
1938
- <span class="cline-any cline-neutral">&nbsp;</span>
1939
- <span class="cline-any cline-neutral">&nbsp;</span>
1940
- <span class="cline-any cline-neutral">&nbsp;</span>
1941
- <span class="cline-any cline-neutral">&nbsp;</span>
1942
- <span class="cline-any cline-neutral">&nbsp;</span>
1943
- <span class="cline-any cline-neutral">&nbsp;</span>
1944
- <span class="cline-any cline-neutral">&nbsp;</span>
1945
- <span class="cline-any cline-neutral">&nbsp;</span>
1946
- <span class="cline-any cline-yes">4035x</span>
1947
- <span class="cline-any cline-yes">4035x</span>
1948
- <span class="cline-any cline-no">&nbsp;</span>
1949
- <span class="cline-any cline-no">&nbsp;</span>
1950
- <span class="cline-any cline-neutral">&nbsp;</span>
1951
- <span class="cline-any cline-no">&nbsp;</span>
1952
- <span class="cline-any cline-no">&nbsp;</span>
1953
- <span class="cline-any cline-neutral">&nbsp;</span>
1954
- <span class="cline-any cline-no">&nbsp;</span>
1955
- <span class="cline-any cline-neutral">&nbsp;</span>
1956
- <span class="cline-any cline-neutral">&nbsp;</span>
1957
- <span class="cline-any cline-yes">4035x</span>
1958
- <span class="cline-any cline-yes">4035x</span>
1959
- <span class="cline-any cline-yes">4035x</span>
1960
- <span class="cline-any cline-yes">3066x</span>
1961
- <span class="cline-any cline-neutral">&nbsp;</span>
1962
- <span class="cline-any cline-yes">4035x</span>
1963
- <span class="cline-any cline-yes">3066x</span>
1964
- <span class="cline-any cline-neutral">&nbsp;</span>
1965
- <span class="cline-any cline-yes">4035x</span>
1966
- <span class="cline-any cline-neutral">&nbsp;</span>
1967
- <span class="cline-any cline-neutral">&nbsp;</span>
1968
- <span class="cline-any cline-neutral">&nbsp;</span>
1969
- <span class="cline-any cline-neutral">&nbsp;</span>
1970
- <span class="cline-any cline-yes">4035x</span>
1971
- <span class="cline-any cline-neutral">&nbsp;</span>
1972
- <span class="cline-any cline-neutral">&nbsp;</span>
1973
- <span class="cline-any cline-neutral">&nbsp;</span>
1974
- <span class="cline-any cline-neutral">&nbsp;</span>
1975
- <span class="cline-any cline-yes">2x</span>
1976
- <span class="cline-any cline-neutral">&nbsp;</span>
1977
- <span class="cline-any cline-neutral">&nbsp;</span>
1978
- <span class="cline-any cline-neutral">&nbsp;</span>
1979
- <span class="cline-any cline-neutral">&nbsp;</span>
1980
- <span class="cline-any cline-neutral">&nbsp;</span>
1981
- <span class="cline-any cline-yes">2x</span>
1982
- <span class="cline-any cline-yes">2x</span>
1983
- <span class="cline-any cline-yes">2x</span>
1984
- <span class="cline-any cline-no">&nbsp;</span>
1985
- <span class="cline-any cline-no">&nbsp;</span>
1986
- <span class="cline-any cline-neutral">&nbsp;</span>
1987
- <span class="cline-any cline-yes">2x</span>
1988
- <span class="cline-any cline-yes">2x</span>
1989
- <span class="cline-any cline-yes">2x</span>
1990
- <span class="cline-any cline-yes">5x</span>
1991
- <span class="cline-any cline-yes">5x</span>
1992
- <span class="cline-any cline-yes">5x</span>
1993
- <span class="cline-any cline-yes">3x</span>
1994
- <span class="cline-any cline-yes">3x</span>
1995
- <span class="cline-any cline-yes">3x</span>
1996
- <span class="cline-any cline-yes">3x</span>
1997
- <span class="cline-any cline-yes">3x</span>
1998
- <span class="cline-any cline-neutral">&nbsp;</span>
1999
- <span class="cline-any cline-yes">3x</span>
2000
- <span class="cline-any cline-neutral">&nbsp;</span>
2001
- <span class="cline-any cline-neutral">&nbsp;</span>
2002
- <span class="cline-any cline-yes">3x</span>
2003
- <span class="cline-any cline-neutral">&nbsp;</span>
2004
- <span class="cline-any cline-neutral">&nbsp;</span>
2005
- <span class="cline-any cline-yes">3x</span>
2006
- <span class="cline-any cline-no">&nbsp;</span>
2007
- <span class="cline-any cline-no">&nbsp;</span>
2008
- <span class="cline-any cline-no">&nbsp;</span>
2009
- <span class="cline-any cline-neutral">&nbsp;</span>
2010
- <span class="cline-any cline-neutral">&nbsp;</span>
2011
- <span class="cline-any cline-no">&nbsp;</span>
2012
- <span class="cline-any cline-neutral">&nbsp;</span>
2013
- <span class="cline-any cline-no">&nbsp;</span>
2014
- <span class="cline-any cline-neutral">&nbsp;</span>
2015
- <span class="cline-any cline-yes">3x</span>
2016
- <span class="cline-any cline-neutral">&nbsp;</span>
2017
- <span class="cline-any cline-neutral">&nbsp;</span>
2018
- <span class="cline-any cline-yes">3x</span>
2019
- <span class="cline-any cline-neutral">&nbsp;</span>
2020
- <span class="cline-any cline-yes">5x</span>
2021
- <span class="cline-any cline-yes">5x</span>
2022
- <span class="cline-any cline-neutral">&nbsp;</span>
2023
- <span class="cline-any cline-yes">2x</span>
2024
- <span class="cline-any cline-yes">2x</span>
2025
- <span class="cline-any cline-neutral">&nbsp;</span>
2026
- <span class="cline-any cline-neutral">&nbsp;</span>
2027
- <span class="cline-any cline-neutral">&nbsp;</span>
2028
- <span class="cline-any cline-neutral">&nbsp;</span>
2029
- <span class="cline-any cline-neutral">&nbsp;</span>
2030
- <span class="cline-any cline-neutral">&nbsp;</span>
2031
- <span class="cline-any cline-neutral">&nbsp;</span>
2032
- <span class="cline-any cline-yes">2770x</span>
2033
- <span class="cline-any cline-yes">2770x</span>
2034
- <span class="cline-any cline-yes">3920x</span>
2035
- <span class="cline-any cline-neutral">&nbsp;</span>
2036
- <span class="cline-any cline-yes">2770x</span>
2037
- <span class="cline-any cline-neutral">&nbsp;</span>
2038
- <span class="cline-any cline-neutral">&nbsp;</span>
2039
- <span class="cline-any cline-neutral">&nbsp;</span>
2040
- <span class="cline-any cline-neutral">&nbsp;</span>
2041
- <span class="cline-any cline-neutral">&nbsp;</span>
2042
- <span class="cline-any cline-neutral">&nbsp;</span>
2043
- <span class="cline-any cline-yes">83x</span>
2044
- <span class="cline-any cline-neutral">&nbsp;</span>
2045
- <span class="cline-any cline-neutral">&nbsp;</span>
2046
- <span class="cline-any cline-neutral">&nbsp;</span>
2047
- <span class="cline-any cline-neutral">&nbsp;</span>
2048
- <span class="cline-any cline-neutral">&nbsp;</span>
2049
- <span class="cline-any cline-neutral">&nbsp;</span>
2050
- <span class="cline-any cline-neutral">&nbsp;</span>
2051
- <span class="cline-any cline-neutral">&nbsp;</span>
2052
- <span class="cline-any cline-yes">692x</span>
2053
- <span class="cline-any cline-yes">692x</span>
2054
- <span class="cline-any cline-yes">2077x</span>
2055
- <span class="cline-any cline-neutral">&nbsp;</span>
2056
- <span class="cline-any cline-yes">692x</span>
2057
- <span class="cline-any cline-neutral">&nbsp;</span>
2058
- <span class="cline-any cline-neutral">&nbsp;</span>
2059
- <span class="cline-any cline-neutral">&nbsp;</span>
2060
- <span class="cline-any cline-neutral">&nbsp;</span>
2061
- <span class="cline-any cline-neutral">&nbsp;</span>
2062
- <span class="cline-any cline-neutral">&nbsp;</span>
2063
- <span class="cline-any cline-neutral">&nbsp;</span>
2064
- <span class="cline-any cline-neutral">&nbsp;</span>
2065
- <span class="cline-any cline-neutral">&nbsp;</span>
2066
- <span class="cline-any cline-neutral">&nbsp;</span>
2067
- <span class="cline-any cline-yes">4849x</span>
2068
- <span class="cline-any cline-yes">4849x</span>
2069
- <span class="cline-any cline-yes">4849x</span>
2070
- <span class="cline-any cline-neutral">&nbsp;</span>
2071
- <span class="cline-any cline-neutral">&nbsp;</span>
2072
- <span class="cline-any cline-neutral">&nbsp;</span>
2073
- <span class="cline-any cline-neutral">&nbsp;</span>
2074
- <span class="cline-any cline-neutral">&nbsp;</span>
2075
- <span class="cline-any cline-neutral">&nbsp;</span>
2076
- <span class="cline-any cline-yes">1x</span>
2077
- <span class="cline-any cline-no">&nbsp;</span>
2078
- <span class="cline-any cline-neutral">&nbsp;</span>
2079
- <span class="cline-any cline-no">&nbsp;</span>
2080
- <span class="cline-any cline-no">&nbsp;</span>
2081
- <span class="cline-any cline-no">&nbsp;</span>
2082
- <span class="cline-any cline-neutral">&nbsp;</span>
2083
- <span class="cline-any cline-no">&nbsp;</span>
2084
- <span class="cline-any cline-neutral">&nbsp;</span>
2085
- <span class="cline-any cline-yes">1x</span>
2086
- <span class="cline-any cline-neutral">&nbsp;</span>
2087
- <span class="cline-any cline-neutral">&nbsp;</span>
2088
- <span class="cline-any cline-neutral">&nbsp;</span>
2089
- <span class="cline-any cline-neutral">&nbsp;</span>
2090
- <span class="cline-any cline-neutral">&nbsp;</span>
2091
- <span class="cline-any cline-neutral">&nbsp;</span>
2092
- <span class="cline-any cline-neutral">&nbsp;</span>
2093
- <span class="cline-any cline-neutral">&nbsp;</span>
2094
- <span class="cline-any cline-yes">9x</span>
2095
- <span class="cline-any cline-yes">9x</span>
2096
- <span class="cline-any cline-neutral">&nbsp;</span>
2097
- <span class="cline-any cline-no">&nbsp;</span>
2098
- <span class="cline-any cline-no">&nbsp;</span>
2099
- <span class="cline-any cline-neutral">&nbsp;</span>
2100
- <span class="cline-any cline-no">&nbsp;</span>
2101
- <span class="cline-any cline-neutral">&nbsp;</span>
2102
- <span class="cline-any cline-neutral">&nbsp;</span>
2103
- <span class="cline-any cline-neutral">&nbsp;</span>
2104
- <span class="cline-any cline-neutral">&nbsp;</span>
2105
- <span class="cline-any cline-neutral">&nbsp;</span>
2106
- <span class="cline-any cline-neutral">&nbsp;</span>
2107
- <span class="cline-any cline-neutral">&nbsp;</span>
2108
- <span class="cline-any cline-neutral">&nbsp;</span>
2109
- <span class="cline-any cline-neutral">&nbsp;</span>
2110
- <span class="cline-any cline-neutral">&nbsp;</span>
2111
- <span class="cline-any cline-yes">4849x</span>
2112
- <span class="cline-any cline-yes">1672x</span>
2113
- <span class="cline-any cline-yes">1597x</span>
2114
- <span class="cline-any cline-yes">1597x</span>
2115
- <span class="cline-any cline-neutral">&nbsp;</span>
2116
- <span class="cline-any cline-yes">1672x</span>
2117
- <span class="cline-any cline-neutral">&nbsp;</span>
2118
- <span class="cline-any cline-yes">3177x</span>
2119
- <span class="cline-any cline-yes">3066x</span>
2120
- <span class="cline-any cline-yes">3066x</span>
2121
- <span class="cline-any cline-yes">3066x</span>
2122
- <span class="cline-any cline-yes">3066x</span>
2123
- <span class="cline-any cline-neutral">&nbsp;</span>
2124
- <span class="cline-any cline-yes">111x</span>
2125
- <span class="cline-any cline-neutral">&nbsp;</span>
2126
- <span class="cline-any cline-neutral">&nbsp;</span>
2127
- <span class="cline-any cline-neutral">&nbsp;</span>
2128
- <span class="cline-any cline-neutral">&nbsp;</span>
2129
- <span class="cline-any cline-neutral">&nbsp;</span>
2130
- <span class="cline-any cline-neutral">&nbsp;</span>
2131
- <span class="cline-any cline-neutral">&nbsp;</span>
2132
- <span class="cline-any cline-yes">10907x</span>
2133
- <span class="cline-any cline-no">&nbsp;</span>
2134
- <span class="cline-any cline-neutral">&nbsp;</span>
2135
- <span class="cline-any cline-yes">10907x</span>
2136
- <span class="cline-any cline-neutral">&nbsp;</span>
2137
- <span class="cline-any cline-neutral">&nbsp;</span>
2138
- <span class="cline-any cline-yes">10907x</span>
2139
- <span class="cline-any cline-yes">9612x</span>
2140
- <span class="cline-any cline-yes">9612x</span>
2141
- <span class="cline-any cline-yes">3554x</span>
2142
- <span class="cline-any cline-neutral">&nbsp;</span>
2143
- <span class="cline-any cline-neutral">&nbsp;</span>
2144
- <span class="cline-any cline-yes">1295x</span>
2145
- <span class="cline-any cline-neutral">&nbsp;</span>
2146
- <span class="cline-any cline-yes">10907x</span>
2147
- <span class="cline-any cline-yes">10907x</span>
2148
- <span class="cline-any cline-yes">9612x</span>
2149
- <span class="cline-any cline-neutral">&nbsp;</span>
2150
- <span class="cline-any cline-yes">1295x</span>
2151
- <span class="cline-any cline-yes">1295x</span>
2152
- <span class="cline-any cline-neutral">&nbsp;</span>
2153
- <span class="cline-any cline-neutral">&nbsp;</span>
2154
- <span class="cline-any cline-neutral">&nbsp;</span>
2155
- <span class="cline-any cline-neutral">&nbsp;</span>
2156
- <span class="cline-any cline-no">&nbsp;</span>
2157
- <span class="cline-any cline-neutral">&nbsp;</span>
2158
- <span class="cline-any cline-no">&nbsp;</span>
2159
- <span class="cline-any cline-neutral">&nbsp;</span>
2160
- <span class="cline-any cline-no">&nbsp;</span>
2161
- <span class="cline-any cline-no">&nbsp;</span>
2162
- <span class="cline-any cline-no">&nbsp;</span>
2163
- <span class="cline-any cline-neutral">&nbsp;</span>
2164
- <span class="cline-any cline-neutral">&nbsp;</span>
2165
- <span class="cline-any cline-no">&nbsp;</span>
2166
- <span class="cline-any cline-neutral">&nbsp;</span>
2167
- <span class="cline-any cline-neutral">&nbsp;</span>
2168
- <span class="cline-any cline-neutral">&nbsp;</span>
2169
- <span class="cline-any cline-no">&nbsp;</span>
2170
- <span class="cline-any cline-no">&nbsp;</span>
2171
- <span class="cline-any cline-neutral">&nbsp;</span>
2172
- <span class="cline-any cline-neutral">&nbsp;</span>
2173
- <span class="cline-any cline-neutral">&nbsp;</span>
2174
- <span class="cline-any cline-neutral">&nbsp;</span>
2175
- <span class="cline-any cline-neutral">&nbsp;</span>
2176
- <span class="cline-any cline-neutral">&nbsp;</span>
2177
- <span class="cline-any cline-neutral">&nbsp;</span>
2178
- <span class="cline-any cline-neutral">&nbsp;</span>
2179
- <span class="cline-any cline-neutral">&nbsp;</span>
2180
- <span class="cline-any cline-neutral">&nbsp;</span>
2181
- <span class="cline-any cline-neutral">&nbsp;</span>
2182
- <span class="cline-any cline-neutral">&nbsp;</span>
2183
- <span class="cline-any cline-neutral">&nbsp;</span>
2184
- <span class="cline-any cline-no">&nbsp;</span>
2185
- <span class="cline-any cline-neutral">&nbsp;</span>
2186
- <span class="cline-any cline-no">&nbsp;</span>
2187
- <span class="cline-any cline-no">&nbsp;</span>
2188
- <span class="cline-any cline-no">&nbsp;</span>
2189
- <span class="cline-any cline-neutral">&nbsp;</span>
2190
- <span class="cline-any cline-no">&nbsp;</span>
2191
- <span class="cline-any cline-no">&nbsp;</span>
2192
- <span class="cline-any cline-no">&nbsp;</span>
2193
- <span class="cline-any cline-no">&nbsp;</span>
2194
- <span class="cline-any cline-neutral">&nbsp;</span>
2195
- <span class="cline-any cline-neutral">&nbsp;</span>
2196
- <span class="cline-any cline-neutral">&nbsp;</span>
2197
- <span class="cline-any cline-no">&nbsp;</span>
2198
- <span class="cline-any cline-neutral">&nbsp;</span>
2199
- <span class="cline-any cline-neutral">&nbsp;</span>
2200
- <span class="cline-any cline-neutral">&nbsp;</span>
2201
- <span class="cline-any cline-neutral">&nbsp;</span>
2202
- <span class="cline-any cline-neutral">&nbsp;</span>
2203
- <span class="cline-any cline-neutral">&nbsp;</span>
2204
- <span class="cline-any cline-neutral">&nbsp;</span>
2205
- <span class="cline-any cline-neutral">&nbsp;</span>
2206
- <span class="cline-any cline-neutral">&nbsp;</span>
2207
- <span class="cline-any cline-neutral">&nbsp;</span>
2208
- <span class="cline-any cline-neutral">&nbsp;</span>
2209
- <span class="cline-any cline-neutral">&nbsp;</span>
2210
- <span class="cline-any cline-yes">3x</span>
2211
- <span class="cline-any cline-neutral">&nbsp;</span>
2212
- <span class="cline-any cline-neutral">&nbsp;</span>
2213
- <span class="cline-any cline-neutral">&nbsp;</span>
2214
- <span class="cline-any cline-yes">3x</span>
2215
- <span class="cline-any cline-yes">3x</span>
2216
- <span class="cline-any cline-yes">3x</span>
2217
- <span class="cline-any cline-yes">45x</span>
2218
- <span class="cline-any cline-yes">45x</span>
2219
- <span class="cline-any cline-yes">45x</span>
2220
- <span class="cline-any cline-yes">36x</span>
2221
- <span class="cline-any cline-neutral">&nbsp;</span>
2222
- <span class="cline-any cline-yes">9x</span>
2223
- <span class="cline-any cline-yes">9x</span>
2224
- <span class="cline-any cline-neutral">&nbsp;</span>
2225
- <span class="cline-any cline-neutral">&nbsp;</span>
2226
- <span class="cline-any cline-neutral">&nbsp;</span>
2227
- <span class="cline-any cline-neutral">&nbsp;</span>
2228
- <span class="cline-any cline-neutral">&nbsp;</span>
2229
- <span class="cline-any cline-yes">3x</span>
2230
- <span class="cline-any cline-neutral">&nbsp;</span>
2231
- <span class="cline-any cline-yes">3x</span>
2232
- <span class="cline-any cline-neutral">&nbsp;</span>
2233
- <span class="cline-any cline-neutral">&nbsp;</span>
2234
- <span class="cline-any cline-neutral">&nbsp;</span>
2235
- <span class="cline-any cline-neutral">&nbsp;</span>
2236
- <span class="cline-any cline-neutral">&nbsp;</span>
2237
- <span class="cline-any cline-neutral">&nbsp;</span>
2238
- <span class="cline-any cline-neutral">&nbsp;</span>
2239
- <span class="cline-any cline-neutral">&nbsp;</span>
2240
- <span class="cline-any cline-no">&nbsp;</span>
2241
- <span class="cline-any cline-no">&nbsp;</span>
2242
- <span class="cline-any cline-neutral">&nbsp;</span>
2243
- <span class="cline-any cline-no">&nbsp;</span>
2244
- <span class="cline-any cline-no">&nbsp;</span>
2245
- <span class="cline-any cline-no">&nbsp;</span>
2246
- <span class="cline-any cline-no">&nbsp;</span>
2247
- <span class="cline-any cline-neutral">&nbsp;</span>
2248
- <span class="cline-any cline-no">&nbsp;</span>
2249
- <span class="cline-any cline-neutral">&nbsp;</span>
2250
- <span class="cline-any cline-neutral">&nbsp;</span>
2251
- <span class="cline-any cline-neutral">&nbsp;</span>
2252
- <span class="cline-any cline-neutral">&nbsp;</span>
2253
- <span class="cline-any cline-neutral">&nbsp;</span>
2254
- <span class="cline-any cline-neutral">&nbsp;</span>
2255
- <span class="cline-any cline-yes">1x</span>
2256
- <span class="cline-any cline-neutral">&nbsp;</span>
2257
- <span class="cline-any cline-neutral">&nbsp;</span>
2258
- <span class="cline-any cline-neutral">&nbsp;</span>
2259
- <span class="cline-any cline-neutral">&nbsp;</span>
2260
- <span class="cline-any cline-neutral">&nbsp;</span>
2261
- <span class="cline-any cline-neutral">&nbsp;</span>
2262
- <span class="cline-any cline-neutral">&nbsp;</span>
2263
- <span class="cline-any cline-yes">1x</span>
2264
- <span class="cline-any cline-neutral">&nbsp;</span>
2265
- <span class="cline-any cline-neutral">&nbsp;</span>
2266
- <span class="cline-any cline-neutral">&nbsp;</span>
2267
- <span class="cline-any cline-neutral">&nbsp;</span>
2268
- <span class="cline-any cline-neutral">&nbsp;</span>
2269
- <span class="cline-any cline-neutral">&nbsp;</span>
2270
- <span class="cline-any cline-neutral">&nbsp;</span>
2271
- <span class="cline-any cline-neutral">&nbsp;</span>
2272
- <span class="cline-any cline-neutral">&nbsp;</span>
2273
- <span class="cline-any cline-neutral">&nbsp;</span>
2274
- <span class="cline-any cline-neutral">&nbsp;</span>
2275
- <span class="cline-any cline-yes">1x</span>
2276
- <span class="cline-any cline-neutral">&nbsp;</span>
2277
- <span class="cline-any cline-neutral">&nbsp;</span>
2278
- <span class="cline-any cline-neutral">&nbsp;</span>
2279
- <span class="cline-any cline-neutral">&nbsp;</span>
2280
- <span class="cline-any cline-neutral">&nbsp;</span>
2281
- <span class="cline-any cline-neutral">&nbsp;</span>
2282
- <span class="cline-any cline-neutral">&nbsp;</span>
2283
- <span class="cline-any cline-yes">1x</span>
2284
- <span class="cline-any cline-neutral">&nbsp;</span>
2285
- <span class="cline-any cline-neutral">&nbsp;</span>
2286
- <span class="cline-any cline-neutral">&nbsp;</span>
2287
- <span class="cline-any cline-neutral">&nbsp;</span>
2288
- <span class="cline-any cline-neutral">&nbsp;</span>
2289
- <span class="cline-any cline-neutral">&nbsp;</span>
2290
- <span class="cline-any cline-neutral">&nbsp;</span>
2291
- <span class="cline-any cline-yes">1x</span>
2292
- <span class="cline-any cline-neutral">&nbsp;</span>
2293
- <span class="cline-any cline-neutral">&nbsp;</span>
2294
- <span class="cline-any cline-neutral">&nbsp;</span>
2295
- <span class="cline-any cline-neutral">&nbsp;</span>
2296
- <span class="cline-any cline-neutral">&nbsp;</span>
2297
- <span class="cline-any cline-neutral">&nbsp;</span>
2298
- <span class="cline-any cline-neutral">&nbsp;</span>
2299
- <span class="cline-any cline-yes">1x</span>
2300
- <span class="cline-any cline-neutral">&nbsp;</span>
2301
- <span class="cline-any cline-neutral">&nbsp;</span>
2302
- <span class="cline-any cline-neutral">&nbsp;</span>
2303
- <span class="cline-any cline-neutral">&nbsp;</span>
2304
- <span class="cline-any cline-neutral">&nbsp;</span>
2305
- <span class="cline-any cline-neutral">&nbsp;</span>
2306
- <span class="cline-any cline-neutral">&nbsp;</span>
2307
- <span class="cline-any cline-yes">1x</span>
2308
- <span class="cline-any cline-neutral">&nbsp;</span>
2309
- <span class="cline-any cline-neutral">&nbsp;</span>
2310
- <span class="cline-any cline-neutral">&nbsp;</span>
2311
- <span class="cline-any cline-neutral">&nbsp;</span>
2312
- <span class="cline-any cline-neutral">&nbsp;</span>
2313
- <span class="cline-any cline-neutral">&nbsp;</span>
2314
- <span class="cline-any cline-neutral">&nbsp;</span>
2315
- <span class="cline-any cline-neutral">&nbsp;</span>
2316
- <span class="cline-any cline-neutral">&nbsp;</span>
2317
- <span class="cline-any cline-neutral">&nbsp;</span>
2318
- <span class="cline-any cline-neutral">&nbsp;</span>
2319
- <span class="cline-any cline-neutral">&nbsp;</span>
2320
- <span class="cline-any cline-neutral">&nbsp;</span>
2321
- <span class="cline-any cline-neutral">&nbsp;</span>
2322
- <span class="cline-any cline-neutral">&nbsp;</span>
2323
- <span class="cline-any cline-no">&nbsp;</span>
2324
- <span class="cline-any cline-neutral">&nbsp;</span>
2325
- <span class="cline-any cline-neutral">&nbsp;</span>
2326
- <span class="cline-any cline-neutral">&nbsp;</span>
2327
- <span class="cline-any cline-neutral">&nbsp;</span>
2328
- <span class="cline-any cline-neutral">&nbsp;</span>
2329
- <span class="cline-any cline-neutral">&nbsp;</span>
2330
- <span class="cline-any cline-neutral">&nbsp;</span>
2331
- <span class="cline-any cline-neutral">&nbsp;</span>
2332
- <span class="cline-any cline-neutral">&nbsp;</span>
2333
- <span class="cline-any cline-neutral">&nbsp;</span>
2334
- <span class="cline-any cline-neutral">&nbsp;</span>
2335
- <span class="cline-any cline-neutral">&nbsp;</span>
2336
- <span class="cline-any cline-neutral">&nbsp;</span>
2337
- <span class="cline-any cline-neutral">&nbsp;</span>
2338
- <span class="cline-any cline-neutral">&nbsp;</span>
2339
- <span class="cline-any cline-neutral">&nbsp;</span>
2340
- <span class="cline-any cline-no">&nbsp;</span>
2341
- <span class="cline-any cline-no">&nbsp;</span>
2342
- <span class="cline-any cline-no">&nbsp;</span>
2343
- <span class="cline-any cline-neutral">&nbsp;</span>
2344
- <span class="cline-any cline-no">&nbsp;</span>
2345
- <span class="cline-any cline-no">&nbsp;</span>
2346
- <span class="cline-any cline-no">&nbsp;</span>
2347
- <span class="cline-any cline-neutral">&nbsp;</span>
2348
- <span class="cline-any cline-no">&nbsp;</span>
2349
- <span class="cline-any cline-neutral">&nbsp;</span>
2350
- <span class="cline-any cline-neutral">&nbsp;</span>
2351
- <span class="cline-any cline-neutral">&nbsp;</span>
2352
- <span class="cline-any cline-no">&nbsp;</span>
2353
- <span class="cline-any cline-no">&nbsp;</span>
2354
- <span class="cline-any cline-neutral">&nbsp;</span>
2355
- <span class="cline-any cline-neutral">&nbsp;</span>
2356
- <span class="cline-any cline-no">&nbsp;</span>
2357
- <span class="cline-any cline-no">&nbsp;</span>
2358
- <span class="cline-any cline-no">&nbsp;</span>
2359
- <span class="cline-any cline-no">&nbsp;</span>
2360
- <span class="cline-any cline-no">&nbsp;</span>
2361
- <span class="cline-any cline-no">&nbsp;</span>
2362
- <span class="cline-any cline-neutral">&nbsp;</span>
2363
- <span class="cline-any cline-no">&nbsp;</span>
2364
- <span class="cline-any cline-no">&nbsp;</span>
2365
- <span class="cline-any cline-no">&nbsp;</span>
2366
- <span class="cline-any cline-no">&nbsp;</span>
2367
- <span class="cline-any cline-no">&nbsp;</span>
2368
- <span class="cline-any cline-no">&nbsp;</span>
2369
- <span class="cline-any cline-no">&nbsp;</span>
2370
- <span class="cline-any cline-neutral">&nbsp;</span>
2371
- <span class="cline-any cline-no">&nbsp;</span>
2372
- <span class="cline-any cline-neutral">&nbsp;</span>
2373
- <span class="cline-any cline-neutral">&nbsp;</span>
2374
- <span class="cline-any cline-neutral">&nbsp;</span>
2375
- <span class="cline-any cline-neutral">&nbsp;</span>
2376
- <span class="cline-any cline-no">&nbsp;</span>
2377
- <span class="cline-any cline-neutral">&nbsp;</span>
2378
- <span class="cline-any cline-no">&nbsp;</span>
2379
- <span class="cline-any cline-no">&nbsp;</span>
2380
- <span class="cline-any cline-neutral">&nbsp;</span>
2381
- <span class="cline-any cline-neutral">&nbsp;</span>
2382
- <span class="cline-any cline-neutral">&nbsp;</span>
2383
- <span class="cline-any cline-neutral">&nbsp;</span>
2384
- <span class="cline-any cline-neutral">&nbsp;</span>
2385
- <span class="cline-any cline-neutral">&nbsp;</span>
2386
- <span class="cline-any cline-no">&nbsp;</span>
2387
- <span class="cline-any cline-neutral">&nbsp;</span>
2388
- <span class="cline-any cline-neutral">&nbsp;</span>
2389
- <span class="cline-any cline-neutral">&nbsp;</span>
2390
- <span class="cline-any cline-neutral">&nbsp;</span>
2391
- <span class="cline-any cline-no">&nbsp;</span>
2392
- <span class="cline-any cline-no">&nbsp;</span>
2393
- <span class="cline-any cline-no">&nbsp;</span>
2394
- <span class="cline-any cline-no">&nbsp;</span>
2395
- <span class="cline-any cline-neutral">&nbsp;</span>
2396
- <span class="cline-any cline-neutral">&nbsp;</span>
2397
- <span class="cline-any cline-neutral">&nbsp;</span>
2398
- <span class="cline-any cline-no">&nbsp;</span>
2399
- <span class="cline-any cline-no">&nbsp;</span>
2400
- <span class="cline-any cline-no">&nbsp;</span>
2401
- <span class="cline-any cline-neutral">&nbsp;</span>
2402
- <span class="cline-any cline-no">&nbsp;</span>
2403
- <span class="cline-any cline-neutral">&nbsp;</span>
2404
- <span class="cline-any cline-neutral">&nbsp;</span>
2405
- <span class="cline-any cline-neutral">&nbsp;</span>
2406
- <span class="cline-any cline-no">&nbsp;</span>
2407
- <span class="cline-any cline-neutral">&nbsp;</span>
2408
- <span class="cline-any cline-neutral">&nbsp;</span>
2409
- <span class="cline-any cline-no">&nbsp;</span>
2410
- <span class="cline-any cline-no">&nbsp;</span>
2411
- <span class="cline-any cline-no">&nbsp;</span>
2412
- <span class="cline-any cline-no">&nbsp;</span>
2413
- <span class="cline-any cline-neutral">&nbsp;</span>
2414
- <span class="cline-any cline-no">&nbsp;</span>
2415
- <span class="cline-any cline-no">&nbsp;</span>
2416
- <span class="cline-any cline-no">&nbsp;</span>
2417
- <span class="cline-any cline-neutral">&nbsp;</span>
2418
- <span class="cline-any cline-neutral">&nbsp;</span>
2419
- <span class="cline-any cline-no">&nbsp;</span>
2420
- <span class="cline-any cline-no">&nbsp;</span>
2421
- <span class="cline-any cline-no">&nbsp;</span>
2422
- <span class="cline-any cline-no">&nbsp;</span>
2423
- <span class="cline-any cline-no">&nbsp;</span>
2424
- <span class="cline-any cline-no">&nbsp;</span>
2425
- <span class="cline-any cline-no">&nbsp;</span>
2426
- <span class="cline-any cline-neutral">&nbsp;</span>
2427
- <span class="cline-any cline-no">&nbsp;</span>
2428
- <span class="cline-any cline-no">&nbsp;</span>
2429
- <span class="cline-any cline-neutral">&nbsp;</span>
2430
- <span class="cline-any cline-neutral">&nbsp;</span>
2431
- <span class="cline-any cline-neutral">&nbsp;</span>
2432
- <span class="cline-any cline-neutral">&nbsp;</span>
2433
- <span class="cline-any cline-neutral">&nbsp;</span>
2434
- <span class="cline-any cline-neutral">&nbsp;</span>
2435
- <span class="cline-any cline-neutral">&nbsp;</span>
2436
- <span class="cline-any cline-neutral">&nbsp;</span>
2437
- <span class="cline-any cline-yes">5613x</span>
2438
- <span class="cline-any cline-neutral">&nbsp;</span>
2439
- <span class="cline-any cline-neutral">&nbsp;</span>
2440
- <span class="cline-any cline-neutral">&nbsp;</span>
2441
- <span class="cline-any cline-neutral">&nbsp;</span>
2442
- <span class="cline-any cline-yes">10291x</span>
2443
- <span class="cline-any cline-neutral">&nbsp;</span>
2444
- <span class="cline-any cline-yes">10291x</span>
2445
- <span class="cline-any cline-yes">10291x</span>
2446
- <span class="cline-any cline-neutral">&nbsp;</span>
2447
- <span class="cline-any cline-yes">10291x</span>
2448
- <span class="cline-any cline-yes">37637x</span>
2449
- <span class="cline-any cline-yes">37637x</span>
2450
- <span class="cline-any cline-yes">12985x</span>
2451
- <span class="cline-any cline-yes">8606x</span>
2452
- <span class="cline-any cline-neutral">&nbsp;</span>
2453
- <span class="cline-any cline-neutral">&nbsp;</span>
2454
- <span class="cline-any cline-neutral">&nbsp;</span>
2455
- <span class="cline-any cline-yes">117x</span>
2456
- <span class="cline-any cline-neutral">&nbsp;</span>
2457
- <span class="cline-any cline-neutral">&nbsp;</span>
2458
- <span class="cline-any cline-neutral">&nbsp;</span>
2459
- <span class="cline-any cline-neutral">&nbsp;</span>
2460
- <span class="cline-any cline-neutral">&nbsp;</span>
2461
- <span class="cline-any cline-neutral">&nbsp;</span>
2462
- <span class="cline-any cline-no">&nbsp;</span>
2463
- <span class="cline-any cline-neutral">&nbsp;</span>
2464
- <span class="cline-any cline-neutral">&nbsp;</span>
2465
- <span class="cline-any cline-neutral">&nbsp;</span>
2466
- <span class="cline-any cline-neutral">&nbsp;</span>
2467
- <span class="cline-any cline-neutral">&nbsp;</span>
2468
- <span class="cline-any cline-neutral">&nbsp;</span>
2469
- <span class="cline-any cline-neutral">&nbsp;</span>
2470
- <span class="cline-any cline-no">&nbsp;</span>
2471
- <span class="cline-any cline-no">&nbsp;</span>
2472
- <span class="cline-any cline-no">&nbsp;</span>
2473
- <span class="cline-any cline-neutral">&nbsp;</span>
2474
- <span class="cline-any cline-neutral">&nbsp;</span>
2475
- <span class="cline-any cline-neutral">&nbsp;</span>
2476
- <span class="cline-any cline-no">&nbsp;</span>
2477
- <span class="cline-any cline-no">&nbsp;</span>
2478
- <span class="cline-any cline-no">&nbsp;</span>
2479
- <span class="cline-any cline-neutral">&nbsp;</span>
2480
- <span class="cline-any cline-no">&nbsp;</span>
2481
- <span class="cline-any cline-no">&nbsp;</span>
2482
- <span class="cline-any cline-no">&nbsp;</span>
2483
- <span class="cline-any cline-neutral">&nbsp;</span>
2484
- <span class="cline-any cline-no">&nbsp;</span>
2485
- <span class="cline-any cline-neutral">&nbsp;</span>
2486
- <span class="cline-any cline-neutral">&nbsp;</span>
2487
- <span class="cline-any cline-neutral">&nbsp;</span>
2488
- <span class="cline-any cline-neutral">&nbsp;</span>
2489
- <span class="cline-any cline-neutral">&nbsp;</span>
2490
- <span class="cline-any cline-neutral">&nbsp;</span>
2491
- <span class="cline-any cline-neutral">&nbsp;</span>
2492
- <span class="cline-any cline-no">&nbsp;</span>
2493
- <span class="cline-any cline-no">&nbsp;</span>
2494
- <span class="cline-any cline-no">&nbsp;</span>
2495
- <span class="cline-any cline-neutral">&nbsp;</span>
2496
- <span class="cline-any cline-neutral">&nbsp;</span>
2497
- <span class="cline-any cline-neutral">&nbsp;</span>
2498
- <span class="cline-any cline-no">&nbsp;</span>
2499
- <span class="cline-any cline-no">&nbsp;</span>
2500
- <span class="cline-any cline-no">&nbsp;</span>
2501
- <span class="cline-any cline-neutral">&nbsp;</span>
2502
- <span class="cline-any cline-no">&nbsp;</span>
2503
- <span class="cline-any cline-no">&nbsp;</span>
2504
- <span class="cline-any cline-neutral">&nbsp;</span>
2505
- <span class="cline-any cline-no">&nbsp;</span>
2506
- <span class="cline-any cline-neutral">&nbsp;</span>
2507
- <span class="cline-any cline-no">&nbsp;</span>
2508
- <span class="cline-any cline-neutral">&nbsp;</span>
2509
- <span class="cline-any cline-neutral">&nbsp;</span>
2510
- <span class="cline-any cline-neutral">&nbsp;</span>
2511
- <span class="cline-any cline-yes">1x</span>
2512
- <span class="cline-any cline-neutral">&nbsp;</span>
2513
- <span class="cline-any cline-neutral">&nbsp;</span>
2514
- <span class="cline-any cline-neutral">&nbsp;</span>
2515
- <span class="cline-any cline-neutral">&nbsp;</span>
2516
- <span class="cline-any cline-neutral">&nbsp;</span>
2517
- <span class="cline-any cline-neutral">&nbsp;</span>
2518
- <span class="cline-any cline-neutral">&nbsp;</span>
2519
- <span class="cline-any cline-no">&nbsp;</span>
2520
- <span class="cline-any cline-no">&nbsp;</span>
2521
- <span class="cline-any cline-neutral">&nbsp;</span>
2522
- <span class="cline-any cline-no">&nbsp;</span>
2523
- <span class="cline-any cline-neutral">&nbsp;</span>
2524
- <span class="cline-any cline-yes">1x</span>
2525
- <span class="cline-any cline-neutral">&nbsp;</span>
2526
- <span class="cline-any cline-neutral">&nbsp;</span>
2527
- <span class="cline-any cline-neutral">&nbsp;</span>
2528
- <span class="cline-any cline-yes">1x</span>
2529
- <span class="cline-any cline-yes">1x</span>
2530
- <span class="cline-any cline-no">&nbsp;</span>
2531
- <span class="cline-any cline-no">&nbsp;</span>
2532
- <span class="cline-any cline-no">&nbsp;</span>
2533
- <span class="cline-any cline-no">&nbsp;</span>
2534
- <span class="cline-any cline-neutral">&nbsp;</span>
2535
- <span class="cline-any cline-no">&nbsp;</span>
2536
- <span class="cline-any cline-no">&nbsp;</span>
2537
- <span class="cline-any cline-neutral">&nbsp;</span>
2538
- <span class="cline-any cline-no">&nbsp;</span>
2539
- <span class="cline-any cline-no">&nbsp;</span>
2540
- <span class="cline-any cline-neutral">&nbsp;</span>
2541
- <span class="cline-any cline-no">&nbsp;</span>
2542
- <span class="cline-any cline-neutral">&nbsp;</span>
2543
- <span class="cline-any cline-yes">1x</span>
2544
- <span class="cline-any cline-neutral">&nbsp;</span>
2545
- <span class="cline-any cline-neutral">&nbsp;</span>
2546
- <span class="cline-any cline-neutral">&nbsp;</span>
2547
- <span class="cline-any cline-neutral">&nbsp;</span>
2548
- <span class="cline-any cline-neutral">&nbsp;</span>
2549
- <span class="cline-any cline-neutral">&nbsp;</span>
2550
- <span class="cline-any cline-no">&nbsp;</span>
2551
- <span class="cline-any cline-neutral">&nbsp;</span>
2552
- <span class="cline-any cline-no">&nbsp;</span>
2553
- <span class="cline-any cline-no">&nbsp;</span>
2554
- <span class="cline-any cline-neutral">&nbsp;</span>
2555
- <span class="cline-any cline-neutral">&nbsp;</span>
2556
- <span class="cline-any cline-no">&nbsp;</span>
2557
- <span class="cline-any cline-neutral">&nbsp;</span>
2558
- <span class="cline-any cline-neutral">&nbsp;</span>
2559
- <span class="cline-any cline-neutral">&nbsp;</span>
2560
- <span class="cline-any cline-neutral">&nbsp;</span>
2561
- <span class="cline-any cline-neutral">&nbsp;</span>
2562
- <span class="cline-any cline-neutral">&nbsp;</span>
2563
- <span class="cline-any cline-neutral">&nbsp;</span>
2564
- <span class="cline-any cline-neutral">&nbsp;</span>
2565
- <span class="cline-any cline-neutral">&nbsp;</span>
2566
- <span class="cline-any cline-neutral">&nbsp;</span>
2567
- <span class="cline-any cline-neutral">&nbsp;</span>
2568
- <span class="cline-any cline-neutral">&nbsp;</span>
2569
- <span class="cline-any cline-no">&nbsp;</span>
2570
- <span class="cline-any cline-no">&nbsp;</span>
2571
- <span class="cline-any cline-neutral">&nbsp;</span>
2572
- <span class="cline-any cline-no">&nbsp;</span>
2573
- <span class="cline-any cline-neutral">&nbsp;</span>
2574
- <span class="cline-any cline-no">&nbsp;</span>
2575
- <span class="cline-any cline-no">&nbsp;</span>
2576
- <span class="cline-any cline-neutral">&nbsp;</span>
2577
- <span class="cline-any cline-no">&nbsp;</span>
2578
- <span class="cline-any cline-no">&nbsp;</span>
2579
- <span class="cline-any cline-neutral">&nbsp;</span>
2580
- <span class="cline-any cline-neutral">&nbsp;</span>
2581
- <span class="cline-any cline-no">&nbsp;</span>
2582
- <span class="cline-any cline-no">&nbsp;</span>
2583
- <span class="cline-any cline-no">&nbsp;</span>
2584
- <span class="cline-any cline-neutral">&nbsp;</span>
2585
- <span class="cline-any cline-neutral">&nbsp;</span>
2586
- <span class="cline-any cline-neutral">&nbsp;</span>
2587
- <span class="cline-any cline-no">&nbsp;</span>
2588
- <span class="cline-any cline-neutral">&nbsp;</span>
2589
- <span class="cline-any cline-neutral">&nbsp;</span>
2590
- <span class="cline-any cline-neutral">&nbsp;</span>
2591
- <span class="cline-any cline-yes">1x</span>
2592
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { at } from 'lodash';
2593
- import { v4 as uuidv4 } from 'uuid';
2594
- &nbsp;
2595
- import { SourceMap } from '../translator';
2596
- import { getSourceFromMap } from '../service/storage/map';
2597
- &nbsp;
2598
- import * as utils from '../utils';
2599
- import { EventEmitter, EventPayload, Params } from './EventEmitter';
2600
- import { action, circular, excludedInJSON, property, getConceptConstructor, getConceptPropertyMap, classMap } from '../decorators';
2601
- import { Diagnostic } from '../manager/diagnostic';
2602
- &nbsp;
2603
- import { sentryMonitorNaslNode } from '../sentry';
2604
- import operations from '../breakpoint/shared/operations';
2605
- import type { SynatxNode, SynatxNodeConcept, ViewElement, TypeAnnotation, App, Namespace } from '../concepts';
2606
- &nbsp;
2607
- // 确保属性都是定义过的
2608
- function <span class="fstat-no" title="function not covered" >ensureDefined(</span>object: any, concept: string) {
2609
- <span class="cstat-no" title="statement not covered" > if (!object) {</span>
2610
- <span class="cstat-no" title="statement not covered" > return object;</span>
2611
- }
2612
- const newObject: any = <span class="cstat-no" title="statement not covered" >{};</span>
2613
- const actualConcept = <span class="cstat-no" title="statement not covered" >object?.concept || concept;</span>
2614
- <span class="cstat-no" title="statement not covered" > if (actualConcept) {</span>
2615
- const propertyMap = <span class="cstat-no" title="statement not covered" >getConceptPropertyMap(actualConcept);</span>
2616
- <span class="cstat-no" title="statement not covered" > for (const key in object) {</span>
2617
- const property = <span class="cstat-no" title="statement not covered" >propertyMap.get(key);</span>
2618
- <span class="cstat-no" title="statement not covered" > if (property) {</span>
2619
- const objProperty = <span class="cstat-no" title="statement not covered" >object[key] ?? null;</span>
2620
- const propertyConcept = <span class="cstat-no" title="statement not covered" >property?.objectRef;</span>
2621
- <span class="cstat-no" title="statement not covered" > if (propertyConcept) {</span>
2622
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(objProperty)) {</span>
2623
- <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty.map(<span class="fstat-no" title="function not covered" >(o</span>bjItem: any) =&gt; {</span>
2624
- <span class="cstat-no" title="statement not covered" > return ensureDefined(objItem, propertyConcept);</span>
2625
- });
2626
- } else {
2627
- <span class="cstat-no" title="statement not covered" > newObject[key] = ensureDefined(objProperty, propertyConcept);</span>
2628
- }
2629
- } else {
2630
- <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty;</span>
2631
- }
2632
- }
2633
- }
2634
- &nbsp;
2635
- <span class="cstat-no" title="statement not covered" > newObject.concept = actualConcept;</span>
2636
- }
2637
- <span class="cstat-no" title="statement not covered" > return newObject;</span>
2638
- }
2639
- &nbsp;
2640
- /**
2641
- * 顶点类
2642
- * 属性均为只读,仅在初始化和 load 的情况下可以修改
2643
- */
2644
- @sentryMonitorNaslNode
2645
- export class BaseNode extends EventEmitter {
2646
- static readonly ConceptName: string = 'BaseNode';
2647
- &nbsp;
2648
- /**
2649
- * 可修改标志,内部属性
2650
- * 标记在构造函数结束后是否可修改
2651
- */
2652
- @excludedInJSON()
2653
- _mutable = true;
2654
- &nbsp;
2655
- /** 节点类别缓存 */
2656
- @excludedInJSON()
2657
- private _concept!: string;
2658
- &nbsp;
2659
- /**
2660
- * 概念
2661
- */
2662
- @property()
2663
- get concept() {
2664
- return this._concept ?? (this.constructor as any).ConceptName as string;
2665
- }
2666
- <span class="fstat-no" title="function not covered" > set c</span>oncept(val: string) {
2667
- <span class="cstat-no" title="statement not covered" > console.warn(`[警告] 尽快移除变更 concept 值的操作,下个版本 concept 将会改为只读。\n当前变更:${this.concept} -&gt; ${val},原始节点类别:${(this.constructor as any).ConceptName}`);</span>
2668
- <span class="cstat-no" title="statement not covered" > if (val !== this.concept) {</span>
2669
- <span class="cstat-no" title="statement not covered" > if (val === (this.constructor as any).ConceptName as string) {</span>
2670
- <span class="cstat-no" title="statement not covered" > delete this._concept;</span>
2671
- } else {
2672
- <span class="cstat-no" title="statement not covered" > this._concept = val;</span>
2673
- }
2674
- }
2675
- }
2676
- &nbsp;
2677
- &nbsp;
2678
- /**
2679
- * toJSON 时需要去除的键,为了避免出现 CircularJSON
2680
- */
2681
- readonly JSON_EXCLUDED_KEYS: Set&lt;string&gt;;
2682
- &nbsp;
2683
- /**
2684
- * 唯一 Id
2685
- */
2686
- id: string = uuidv4().replace(/-/g, '');
2687
- &nbsp;
2688
- /**
2689
- * 变动时间
2690
- */
2691
- @property()
2692
- changedTime!: number;
2693
- &nbsp;
2694
- /**
2695
- * 分支名称
2696
- */
2697
- @property()
2698
- branchName!: string;
2699
- &nbsp;
2700
- /**
2701
- * 合并代码相关
2702
- */
2703
- @property()
2704
- workingCopy!: object;
2705
- &nbsp;
2706
- @property()
2707
- branch!: object;
2708
- &nbsp;
2709
- /**
2710
- * 断点状态
2711
- * undefined ==&gt; 未设置
2712
- * null ==&gt; 已删除
2713
- * 'ENABLED' ==&gt; 启用断点
2714
- * 'DISABLED' ==&gt; 禁用断点
2715
- */
2716
- @property()
2717
- breakpoint!: 'ENABLED' | 'DISABLED' | null | undefined;
2718
- &nbsp;
2719
- /**
2720
- * 父节点
2721
- */
2722
- @circular()
2723
- parentNode: SynatxNode = null;
2724
- &nbsp;
2725
- parentKey: string = '';
2726
- &nbsp;
2727
- /**
2728
- * 是否正在编辑
2729
- * 前端 UI 状态
2730
- */
2731
- @excludedInJSON()
2732
- editable!: boolean;
2733
- &nbsp;
2734
- /**
2735
- * 是否可以删除
2736
- * 前端 UI 状态
2737
- */
2738
- @excludedInJSON()
2739
- removable!: boolean;
2740
- &nbsp;
2741
- /**
2742
- * 是否正在编辑
2743
- * 前端 UI 状态
2744
- */
2745
- @excludedInJSON()
2746
- editing!: boolean;
2747
- &nbsp;
2748
- /**
2749
- * 是否正在请求
2750
- * 前端 UI 状态
2751
- */
2752
- @excludedInJSON()
2753
- loading!: boolean;
2754
- &nbsp;
2755
- /**
2756
- * 节点是否为展开状态
2757
- * 前端 UI 状态
2758
- */
2759
- @excludedInJSON()
2760
- expanded!: boolean;
2761
- &nbsp;
2762
- /**
2763
- * 节点是否显示
2764
- * 前端 UI 状态
2765
- */
2766
- @excludedInJSON()
2767
- hidden!: boolean;
2768
- &nbsp;
2769
- /**
2770
- * 页面树节点是否显示
2771
- * 前端 UI 状态
2772
- */
2773
- @excludedInJSON()
2774
- pageTreeNodeHidden!: boolean;
2775
- &nbsp;
2776
- /**
2777
- * 逻辑树节点是否显示
2778
- * 前端 UI 状态
2779
- */
2780
- @excludedInJSON()
2781
- logicTreeNodeHidden!: boolean;
2782
- &nbsp;
2783
- /**
2784
- * 数据树节点是否显示
2785
- * 前端 UI 状态
2786
- */
2787
- @excludedInJSON()
2788
- dataTreeNodeHidden!: boolean;
2789
- &nbsp;
2790
- /**
2791
- * 数据树节点是否显示
2792
- * 前端 UI 状态
2793
- */
2794
- @excludedInJSON()
2795
- processTreeNodeHidden!: boolean;
2796
- &nbsp;
2797
- /**
2798
- * 数据树节点是否展开
2799
- * 前端 UI 状态
2800
- */
2801
- @excludedInJSON()
2802
- logicTreeNodeExpanded!: boolean;
2803
- &nbsp;
2804
- /**
2805
- * 用于挂 embeddedTS 的 sourceMap
2806
- */
2807
- @excludedInJSON()
2808
- sourceMap!: SourceMap;
2809
- &nbsp;
2810
- /**
2811
- * 是否为叶子节点
2812
- * 前端 UI 状态
2813
- */
2814
- @excludedInJSON()
2815
- isLeaf!: boolean;
2816
- &nbsp;
2817
- @excludedInJSON()
2818
- storageJSON!: any;
2819
- &nbsp;
2820
- /**
2821
- * 当前节点上报错详细信息
2822
- */
2823
- tsErrorDetail!: Diagnostic | undefined;
2824
- &nbsp;
2825
- @property()
2826
- name: string = '';
2827
- &nbsp;
2828
- /**
2829
- * 当前节点的类型标注
2830
- */
2831
- @excludedInJSON()
2832
- __TypeAnnotation!: TypeAnnotation;
2833
- &nbsp;
2834
- /**
2835
- * 当前节点的类型标注是不是正确的
2836
- */
2837
- @excludedInJSON()
2838
- __isCorrectTypeAnnotation!: boolean;
2839
- &nbsp;
2840
- /**
2841
- * @param source 需要合并的部分参数
2842
- */
2843
- constructor(source?: Partial&lt;BaseNode&gt;) {
2844
- super();
2845
- <span class="missing-if-branch" title="else path not taken" >E</span>if (this.hasOwnProperty('JSON_EXCLUDED_KEYS') &amp;&amp; this.JSON_EXCLUDED_KEYS === undefined) delete (this as any).JSON_EXCLUDED_KEYS;
2846
- /**
2847
- * 监听action,delete,update事件
2848
- */
2849
- this.on('create', this.genActionListener);
2850
- this.on('delete', this.genActionListener);
2851
- this.on('update', this.genActionListener);
2852
- &nbsp;
2853
- /**
2854
- * 监听action,delete,update事件
2855
- */
2856
- this.on('create', <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >operations.create(this))</span>;
2857
- this.on('delete', <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >operations.delete(this))</span>;
2858
- this.on('update', <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >operations.update(this))</span>;
2859
- &nbsp;
2860
- }
2861
- &nbsp;
2862
- subConstructor(source?: Partial&lt;BaseNode&gt;) {
2863
- const propertyMap = getConceptPropertyMap(this.concept || this.constructor.name);
2864
- const properties = Array.from(new Set([...Object.keys(this), ...Object.keys(source)])).filter((key) =&gt; propertyMap.has(key));
2865
- &nbsp;
2866
- // 测试时用的标记属性
2867
- if (process.env.NODE_ENV === 'testing') {
2868
- properties.push('__$Selected', '__TypeAnnotation');
2869
- }
2870
- &nbsp;
2871
- properties.forEach((key) =&gt; {
2872
- if (key === 'concept') {
2873
- return;
2874
- }
2875
- &nbsp;
2876
- const sourceItem = (source as any)[key] !== undefined ? (source as any)[key] : (this as any)[key];
2877
- &nbsp;
2878
- let property = propertyMap.get(key);
2879
- let objectRefCtor: any;
2880
- &nbsp;
2881
- // 测试环境下,类型节点由外部注入,所以需要在初始化的时候必须带上类型节点
2882
- if (process.env.NODE_ENV === 'testing' &amp;&amp; key === '__TypeAnnotation' &amp;&amp; sourceItem) {
2883
- property = { objectRef: 'TypeAnnotation' };
2884
- }
2885
- &nbsp;
2886
- try {
2887
- if (property?.objectRef) {
2888
- const arr = property.objectRef.split(' | ');
2889
- for (let i = 0; i &lt; arr.length; i++) {
2890
- objectRefCtor = getConceptConstructor(arr[i]);
2891
- if (sourceItem instanceof objectRefCtor) {
2892
- sourceItem.parentNode = this;
2893
- sourceItem.parentKey = key;
2894
- break;
2895
- }
2896
- }
2897
- }
2898
- &nbsp;
2899
- // 数组的情况也在这里做掉了
2900
- const val = objectRefCtor &amp;&amp; sourceItem &amp;&amp; !(sourceItem instanceof objectRefCtor) ? this.instantiateSub(sourceItem, key) : sourceItem;
2901
- &nbsp;
2902
- if (val !== undefined) {
2903
- (this as any)[key] = val;
2904
- }
2905
- } catch (e) {
2906
- // Function has non-object prototype 'undefined' in instanceof check
2907
- <span class="cstat-no" title="statement not covered" > if (!e.message.includes('Function has non-object prototype')) <span class="cstat-no" title="statement not covered" >throw e;</span></span>
2908
- }
2909
- });
2910
- &nbsp;
2911
- operations.create(this);
2912
- &nbsp;
2913
- // node 环境下需要删除当前节点的 concept 属性
2914
- if (utils.isNode &amp;&amp; ('concept' in this) &amp;&amp; !this.concept) {
2915
- Reflect.deleteProperty(this, 'concept');
2916
- }
2917
- }
2918
- &nbsp;
2919
- <span class="fstat-no" title="function not covered" > fixInstantiate(</span>) {
2920
- const propertyMap = <span class="cstat-no" title="statement not covered" >getConceptPropertyMap(this.concept ?? this.constructor.name);</span>
2921
- const properties = <span class="cstat-no" title="statement not covered" >Object.keys(this).filter(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; <span class="cstat-no" title="statement not covered" >propertyMap.has(key))</span>;</span>
2922
- &nbsp;
2923
- <span class="cstat-no" title="statement not covered" > properties.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; {</span>
2924
- const property = <span class="cstat-no" title="statement not covered" >propertyMap.get(key);</span>
2925
- const sourceItem = (<span class="cstat-no" title="statement not covered" >this as any)[key];</span>
2926
- const objectRefCtor = <span class="cstat-no" title="statement not covered" >property.objectRef &amp;&amp; getConceptConstructor(property.objectRef);</span>
2927
- <span class="cstat-no" title="statement not covered" > if (objectRefCtor) {</span>
2928
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(sourceItem)) {</span>
2929
- <span class="cstat-no" title="statement not covered" > sourceItem.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem, index) =&gt; {</span>
2930
- <span class="cstat-no" title="statement not covered" > if (item instanceof objectRefCtor) {</span>
2931
- <span class="cstat-no" title="statement not covered" > item.parentNode = this;</span>
2932
- <span class="cstat-no" title="statement not covered" > item.parentKey = key;</span>
2933
- <span class="cstat-no" title="statement not covered" > item.fixInstantiate();</span>
2934
- } else {
2935
- <span class="cstat-no" title="statement not covered" > sourceItem[index] = this.instantiateSub(item instanceof BaseNode ? item.toJSON() : item, key);</span>
2936
- }
2937
- });
2938
- } else <span class="cstat-no" title="statement not covered" >if (sourceItem instanceof objectRefCtor) {</span>
2939
- <span class="cstat-no" title="statement not covered" > sourceItem.parentNode = this;</span>
2940
- <span class="cstat-no" title="statement not covered" > sourceItem.parentKey = key;</span>
2941
- <span class="cstat-no" title="statement not covered" > sourceItem.fixInstantiate();</span>
2942
- } else {
2943
- (<span class="cstat-no" title="statement not covered" >this as any)[key] = this.instantiateSub(sourceItem instanceof BaseNode ? sourceItem.toJSON() : sourceItem, key);</span>
2944
- }
2945
- }
2946
- });
2947
- }
2948
- &nbsp;
2949
- <span class="fstat-no" title="function not covered" > getIndexOfParent(</span>) {
2950
- let index = <span class="cstat-no" title="statement not covered" >-1;</span>
2951
- const { parentNode } = <span class="cstat-no" title="statement not covered" >this;</span>
2952
- <span class="cstat-no" title="statement not covered" > if (parentNode) {</span>
2953
- const { parentKey } = <span class="cstat-no" title="statement not covered" >this;</span>
2954
- const parentProperty = (<span class="cstat-no" title="statement not covered" >parentNode as any)[parentKey];</span>
2955
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(parentProperty)) {</span>
2956
- <span class="cstat-no" title="statement not covered" > index = parentProperty.indexOf(this);</span>
2957
- }
2958
- }
2959
- <span class="cstat-no" title="statement not covered" > return index;</span>
2960
- }
2961
- &nbsp;
2962
- /**
2963
- * 为存储点生成行为监听器
2964
- * @param action
2965
- * @returns
2966
- */
2967
- <span class="fstat-no" title="function not covered" > genActionListener(</span>$event: EventPayload) {
2968
- // eventList是要被发送给后端的数据
2969
- <span class="cstat-no" title="statement not covered" > if (!$event.eventList) {</span>
2970
- <span class="cstat-no" title="statement not covered" > $event.eventList = [];</span>
2971
- }
2972
- <span class="cstat-no" title="statement not covered" > if (!$event.eventStop) {</span>
2973
- <span class="cstat-no" title="statement not covered" > $event.eventList.push($event);</span>
2974
- }
2975
- <span class="cstat-no" title="statement not covered" > $event.originEvent = $event.originEvent || $event;</span>
2976
- <span class="cstat-no" title="statement not covered" > this.onChange($event);</span>
2977
- <span class="cstat-no" title="statement not covered" > if (this.concept === 'App') {</span>
2978
- <span class="cstat-no" title="statement not covered" > this.emit('storage', $event);</span>
2979
- } else <span class="cstat-no" title="statement not covered" >if (this.parentNode &amp;&amp; this.parentNode.emit) {</span>
2980
- const event: EventPayload = <span class="cstat-no" title="statement not covered" >{</span>
2981
- action: 'update',
2982
- path: this.parentNode?.getNodePath(false),
2983
- object: {},
2984
- oldObject: {},
2985
- originEvent: $event.originEvent,
2986
- eventList: $event.eventList,
2987
- // eventStop为true后,数据不再存入eventList,就不再会将冒泡数据发送给后端
2988
- eventStop: true,
2989
- };
2990
- <span class="cstat-no" title="statement not covered" > this.parentNode?.emit('update', event);</span>
2991
- }
2992
- }
2993
- &nbsp;
2994
- <span class="fstat-no" title="function not covered" > createNode(</span>{ parentNode, parentKey, index }: { parentNode: SynatxNode; parentKey: string; index: number }) {
2995
- <span class="cstat-no" title="statement not covered" > if (parentNode) {</span>
2996
- const property = <span class="cstat-no" title="statement not covered" >parentNode[parentKey as keyof SynatxNode];</span>
2997
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(property) &amp;&amp; index !== -1) {</span>
2998
- <span class="cstat-no" title="statement not covered" > property.splice(index, 0, this);</span>
2999
- } else {
3000
- (<span class="cstat-no" title="statement not covered" >parentNode as any)[parentKey] = this;</span>
3001
- }
3002
- <span class="cstat-no" title="statement not covered" > this.parentNode = parentNode;</span>
3003
- <span class="cstat-no" title="statement not covered" > this.parentKey = parentKey;</span>
3004
- <span class="cstat-no" title="statement not covered" > this.create({</span>
3005
- index,
3006
- parentKey,
3007
- });
3008
- }
3009
- }
3010
- &nbsp;
3011
- <span class="fstat-no" title="function not covered" > toTemplateJSON(</span>) {
3012
- <span class="cstat-no" title="statement not covered" > return this._toJSON(<span class="fstat-no" title="function not covered" >(s</span>ource) =&gt; {</span>
3013
- <span class="cstat-no" title="statement not covered" > delete source.id;</span>
3014
- <span class="cstat-no" title="statement not covered" > return source;</span>
3015
- });
3016
- }
3017
- &nbsp;
3018
- /**
3019
- * 创建节点
3020
- */
3021
- <span class="fstat-no" title="function not covered" > create(</span>parentParams: Params) {
3022
- <span class="cstat-no" title="statement not covered" > this.emit('create', {</span>
3023
- action: 'create',
3024
- path: this.getNodePath(true),
3025
- object: this.toJSON(),
3026
- ...parentParams,
3027
- oldObject: null,
3028
- });
3029
- }
3030
- &nbsp;
3031
- /**
3032
- * 如果有父节点,则删除节点,在添加时调用
3033
- */
3034
- <span class="fstat-no" title="function not covered" > ensureDelete(</span>) {
3035
- // 批量赋值因为连线的问题需要特殊处理一下.
3036
- <span class="cstat-no" title="statement not covered" > if (this.parentNode?.concept === 'SelectMembers') {</span>
3037
- <span class="cstat-no" title="statement not covered" > this.parentNode.ensureDelete();</span>
3038
- <span class="cstat-no" title="statement not covered" > return;</span>
3039
- }
3040
- &nbsp;
3041
- <span class="cstat-no" title="statement not covered" > if (this.parentNode &amp;&amp; this.parentKey) {</span>
3042
- const path = <span class="cstat-no" title="statement not covered" >this.getNodePath(false);</span>
3043
- const parentParams = <span class="cstat-no" title="statement not covered" >this._delete();</span>
3044
- <span class="cstat-no" title="statement not covered" > if (parentParams &amp;&amp; parentParams.index !== -1) {</span>
3045
- <span class="cstat-no" title="statement not covered" > if (Array.isArray((this.parentNode as any)[this.parentKey])) {</span>
3046
- <span class="cstat-no" title="statement not covered" > this.emit('delete', {</span>
3047
- action: 'delete',
3048
- path,
3049
- object: null,
3050
- ...parentParams,
3051
- });
3052
- } else {
3053
- const parentPath = <span class="cstat-no" title="statement not covered" >this.parentNode.getNodePath(false);</span>
3054
- <span class="cstat-no" title="statement not covered" > this.parentNode.emit('update', {</span>
3055
- action: 'update',
3056
- path: parentPath,
3057
- object: {
3058
- [this.parentKey]: null,
3059
- },
3060
- oldObject: {
3061
- [this.parentKey]: this.toJSON(),
3062
- },
3063
- });
3064
- }
3065
- }
3066
- }
3067
- }
3068
- &nbsp;
3069
- /**
3070
- * 删除节点
3071
- */
3072
- <span class="fstat-no" title="function not covered" > delete(</span>) {
3073
- <span class="cstat-no" title="statement not covered" > if (this.parentNode?.concept === 'Match' &amp;&amp; this.parentKey === 'expression') {</span>
3074
- (<span class="cstat-no" title="statement not covered" >this.parentNode as any).setExpressionWitchCase(null);</span>
3075
- <span class="cstat-no" title="statement not covered" > return;</span>
3076
- }
3077
- // 批量赋值因为连线的问题需要特殊处理一下.
3078
- <span class="cstat-no" title="statement not covered" > if (this.parentNode?.concept === 'SelectMembers') {</span>
3079
- const node: any = <span class="cstat-no" title="statement not covered" >this.parentNode;</span>
3080
- <span class="cstat-no" title="statement not covered" > node.delete();</span>
3081
- <span class="cstat-no" title="statement not covered" > return;</span>
3082
- }
3083
- <span class="cstat-no" title="statement not covered" > if (this.concept === 'SelectMembers') {</span>
3084
- const node: any = <span class="cstat-no" title="statement not covered" >this.parentNode;</span>
3085
- <span class="cstat-no" title="statement not covered" > node.changeLinesLocation(this);</span>
3086
- }
3087
- &nbsp;
3088
- // 自定义连接器下的namespace删除的时候需要同时删除对应的logic
3089
- <span class="cstat-no" title="statement not covered" > if (this.concept === 'Namespace' &amp;&amp; this.parentNode.concept === 'Connector') {</span>
3090
- (<span class="cstat-no" title="statement not covered" >this as unknown as Namespace).logics.forEach(<span class="fstat-no" title="function not covered" >logic </span>=&gt; <span class="cstat-no" title="statement not covered" >logic?.delete())</span></span>
3091
- }
3092
- &nbsp;
3093
- const useIndex = <span class="cstat-no" title="statement not covered" >['BindEvent', 'Identifier'].includes(this.concept);</span>
3094
- const path = <span class="cstat-no" title="statement not covered" >this.getNodePath(useIndex);</span>
3095
- const parentParams = <span class="cstat-no" title="statement not covered" >this._delete();</span>
3096
- <span class="cstat-no" title="statement not covered" > if (parentParams &amp;&amp; parentParams.index !== -1) {</span>
3097
- <span class="cstat-no" title="statement not covered" > if (Array.isArray((this.parentNode as any)[this.parentKey])) {</span>
3098
- <span class="cstat-no" title="statement not covered" > if (process.env.NODE_ENV === 'development') {</span>
3099
- <span class="cstat-no" title="statement not covered" > console.log('删除节点', this);</span>
3100
- }
3101
- <span class="cstat-no" title="statement not covered" > this.emit('delete', {</span>
3102
- action: 'delete',
3103
- path,
3104
- object: null,
3105
- ...parentParams,
3106
- });
3107
- } else {
3108
- const parentPath = <span class="cstat-no" title="statement not covered" >this.parentNode.getNodePath(false);</span>
3109
- <span class="cstat-no" title="statement not covered" > this.parentNode.emit('update', {</span>
3110
- action: 'update',
3111
- path: parentPath,
3112
- object: {
3113
- [this.parentKey]: null,
3114
- },
3115
- oldObject: {
3116
- [this.parentKey]: this.toJSON(),
3117
- },
3118
- });
3119
- }
3120
- }
3121
- }
3122
- &nbsp;
3123
- /**
3124
- * 更新节点
3125
- */
3126
- <span class="fstat-no" title="function not covered" > update(</span>{ field, ...object }: any) {
3127
- const path = <span class="cstat-no" title="statement not covered" >this.getNodePath(false);</span>
3128
- const oldObject: any = <span class="cstat-no" title="statement not covered" >{};</span>
3129
- <span class="cstat-no" title="statement not covered" > for (const key in object) {</span>
3130
- <span class="cstat-no" title="statement not covered" > if (key === 'concept') {</span>
3131
- <span class="cstat-no" title="statement not covered" > continue;</span>
3132
- }
3133
- &nbsp;
3134
- <span class="cstat-no" title="statement not covered" > if (Object.prototype.hasOwnProperty.call(object, key)) {</span>
3135
- const oldProperty = (<span class="cstat-no" title="statement not covered" >this as any)[key] ?? null;</span>
3136
- <span class="cstat-no" title="statement not covered" > oldObject[key] = oldProperty;</span>
3137
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(oldProperty)) {</span>
3138
- <span class="cstat-no" title="statement not covered" > oldObject[key] = oldProperty.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
3139
- let propertyItem = <span class="cstat-no" title="statement not covered" >item ?? null;</span>
3140
- <span class="cstat-no" title="statement not covered" > if (item instanceof BaseNode) {</span>
3141
- <span class="cstat-no" title="statement not covered" > propertyItem = item.toJSON();</span>
3142
- }
3143
- <span class="cstat-no" title="statement not covered" > return propertyItem;</span>
3144
- });
3145
- } else <span class="cstat-no" title="statement not covered" >if (oldProperty instanceof BaseNode) {</span>
3146
- <span class="cstat-no" title="statement not covered" > oldObject[key] = oldProperty.toJSON();</span>
3147
- }
3148
- const property = <span class="cstat-no" title="statement not covered" >object[key] ?? null;</span>
3149
- (<span class="cstat-no" title="statement not covered" >this as any)[key] = property;</span>
3150
- const objectRefCtor = <span class="cstat-no" title="statement not covered" >getConceptConstructor(property?.concept);</span>
3151
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(property)) {</span>
3152
- (<span class="cstat-no" title="statement not covered" >this as any)[key] = property.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
3153
- let propertyItem = <span class="cstat-no" title="statement not covered" >item ?? null;</span>
3154
- const propertyObjectRefCtor = <span class="cstat-no" title="statement not covered" >getConceptConstructor(item?.concept);</span>
3155
- <span class="cstat-no" title="statement not covered" > if (propertyObjectRefCtor?.from) {</span>
3156
- <span class="cstat-no" title="statement not covered" > propertyItem = (propertyObjectRefCtor as any).from(item, this, key);</span>
3157
- }
3158
- <span class="cstat-no" title="statement not covered" > return propertyItem;</span>
3159
- });
3160
- } else <span class="cstat-no" title="statement not covered" >if (objectRefCtor?.from) {</span>
3161
- (<span class="cstat-no" title="statement not covered" >this as any)[key] = (objectRefCtor as any).from(property, this, key);</span>
3162
- }
3163
- }
3164
- }
3165
- const newObject: any = <span class="cstat-no" title="statement not covered" >{};</span>
3166
- const propertyMap = <span class="cstat-no" title="statement not covered" >getConceptPropertyMap(this.concept ?? this.constructor.name);</span>
3167
- <span class="cstat-no" title="statement not covered" > for (const key in object) {</span>
3168
- const property = <span class="cstat-no" title="statement not covered" >propertyMap.get(key);</span>
3169
- <span class="cstat-no" title="statement not covered" > if (property) {</span>
3170
- const objProperty = <span class="cstat-no" title="statement not covered" >object[key] ?? null;</span>
3171
- const propertyConcept = <span class="cstat-no" title="statement not covered" >property?.objectRef;</span>
3172
- <span class="cstat-no" title="statement not covered" > if (propertyConcept) {</span>
3173
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(objProperty)) {</span>
3174
- <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty.map(<span class="fstat-no" title="function not covered" >(o</span>bjItem: any) =&gt; {</span>
3175
- <span class="cstat-no" title="statement not covered" > return ensureDefined(objItem, propertyConcept);</span>
3176
- });
3177
- } else {
3178
- <span class="cstat-no" title="statement not covered" > newObject[key] = ensureDefined(objProperty, propertyConcept);</span>
3179
- }
3180
- } else {
3181
- <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty;</span>
3182
- }
3183
- }
3184
- }
3185
- <span class="cstat-no" title="statement not covered" > if (process.env.NODE_ENV === 'development') {</span>
3186
- <span class="cstat-no" title="statement not covered" > console.log('更新节点', 'path', path, 'oldObject', oldObject, 'newObject', newObject);</span>
3187
- }
3188
- <span class="cstat-no" title="statement not covered" > this.emit('update', {</span>
3189
- action: 'update',
3190
- path,
3191
- object: newObject,
3192
- oldObject,
3193
- field,
3194
- });
3195
- }
3196
- &nbsp;
3197
- <span class="fstat-no" title="function not covered" > _delete(</span>): Params {
3198
- /* override */
3199
- <span class="cstat-no" title="statement not covered" > return {</span>
3200
- propertyName: '',
3201
- index: -1,
3202
- object: null,
3203
- oldObject: this,
3204
- };
3205
- }
3206
- &nbsp;
3207
- static from(source: any, parentNode?: BaseNode, parentKey?: string): BaseNode {
3208
- // 有一些继承的情况
3209
- const Ctor = classMap.get(source?.concept) || this;
3210
- <span class="missing-if-branch" title="if path not taken" >I</span>if (Ctor &amp;&amp; source instanceof Ctor) {
3211
- <span class="cstat-no" title="statement not covered" > if (parentNode) {</span>
3212
- <span class="cstat-no" title="statement not covered" > source.parentNode = parentNode;</span>
3213
- }
3214
- <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
3215
- <span class="cstat-no" title="statement not covered" > source.parentKey = parentKey;</span>
3216
- }
3217
- <span class="cstat-no" title="statement not covered" > return source;</span>
3218
- }
3219
- &nbsp;
3220
- <span class="missing-if-branch" title="else path not taken" >E</span>if (Ctor) {
3221
- const instance = new Ctor();
3222
- if (parentNode) {
3223
- instance.parentNode = parentNode;
3224
- }
3225
- if (parentKey) {
3226
- instance.parentKey = parentKey;
3227
- }
3228
- instance.subConstructor({
3229
- ...source,
3230
- concept: source?.concept ?? this?.prototype?.concept ?? (<span class="branch-2 cbranch-no" title="branch not covered" >Ctor as any).ConceptName as string </span>?? <span class="branch-3 cbranch-no" title="branch not covered" >Ctor.name,</span>
3231
- parentNode,
3232
- });
3233
- return instance;
3234
- }
3235
- }
3236
- &nbsp;
3237
- get nodePath() {
3238
- return this.getNodePath(false);
3239
- }
3240
- &nbsp;
3241
- getNodePath(useIndex: boolean): string;
3242
- getNodePath(useIndexKeys: string[]): string;
3243
- getNodePath(useIndex: boolean | string[]) {
3244
- let node: BaseNode = this;
3245
- let useIndexKeys: string[] = [];
3246
- <span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(useIndex)) {
3247
- <span class="cstat-no" title="statement not covered" > useIndexKeys = useIndex;</span>
3248
- <span class="cstat-no" title="statement not covered" > useIndex = false;</span>
3249
- }
3250
- let isNodeSelf = true;
3251
- const pathArr = [];
3252
- while (node) {
3253
- let path = '';
3254
- const { parentNode } = node;
3255
- if (parentNode) {
3256
- const { parentKey } = node;
3257
- path = parentKey;
3258
- const parentProperty = parentNode[parentKey as keyof BaseNode];
3259
- <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(parentProperty)) {
3260
- const { name } = node;
3261
- // 如果存在同名节点,使用下标来表示NodePath
3262
- const siblingNode: BaseNode = name
3263
- ? (parentProperty as BaseNode[]).find((child) =&gt; {
3264
- // 因为proxy的关系,导致两边的引用不相同,所以这里需要判断id
3265
- return child?.name === name &amp;&amp; child !== node &amp;&amp; <span class="branch-2 cbranch-no" title="branch not covered" >child?.id !== node?.id;</span>
3266
- })
3267
- : <span class="branch-1 cbranch-no" title="branch not covered" >null;</span>
3268
- <span class="missing-if-branch" title="if path not taken" >I</span>if (siblingNode || !name || (useIndex &amp;&amp; <span class="branch-3 cbranch-no" title="branch not covered" >isNodeSelf)</span> || useIndexKeys.includes(node.concept)) {
3269
- const index = <span class="cstat-no" title="statement not covered" >parentProperty.findIndex(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
3270
- <span class="cstat-no" title="statement not covered" > if (item === node) {</span>
3271
- <span class="cstat-no" title="statement not covered" > return true;</span>
3272
- }
3273
- &nbsp;
3274
- <span class="cstat-no" title="statement not covered" > return item?.id &amp;&amp; item?.id === node?.id;</span>
3275
- });
3276
- <span class="cstat-no" title="statement not covered" > path += `[${index}]`;</span>
3277
- } else {
3278
- path += `[name=${name}]`;
3279
- }
3280
- }
3281
- pathArr.unshift(path);
3282
- }
3283
- node = parentNode;
3284
- isNodeSelf = false;
3285
- }
3286
- pathArr.unshift('app');
3287
- return pathArr.join('.');
3288
- }
3289
- &nbsp;
3290
- /**
3291
- * 上层节点
3292
- */
3293
- get upperNode(): SynatxNode {
3294
- // eslint-disable-next-line consistent-this
3295
- let _upperNode: BaseNode = this;
3296
- while (!!_upperNode &amp;&amp; _upperNode.concept === this.concept) {
3297
- _upperNode = _upperNode.parentNode;
3298
- }
3299
- return _upperNode as SynatxNode;
3300
- }
3301
- &nbsp;
3302
- /**
3303
- * 根节点
3304
- */
3305
- get rootNode() {
3306
- return this.getAncestor('App') as App;
3307
- }
3308
- &nbsp;
3309
- /**
3310
- * 获取祖先节点
3311
- */
3312
- getAncestor(concept: SynatxNode['concept']): SynatxNode;
3313
- getAncestor&lt;Node extends SynatxNode&gt;(concept: Node['concept']): Node;
3314
- getAncestor&lt;Node extends SynatxNode = SynatxNode&gt;(concept: SynatxNode['concept']): Node {
3315
- let { upperNode } = this;
3316
- while (upperNode &amp;&amp; upperNode.concept &amp;&amp; upperNode.concept !== concept) {
3317
- upperNode = upperNode.upperNode;
3318
- }
3319
- return upperNode as Node;
3320
- }
3321
- &nbsp;
3322
- /**
3323
- *
3324
- * @param source
3325
- * @param Ctor
3326
- * @param completeList
3327
- * @param idsList
3328
- */
3329
- handleSource(source: any, completeList: any[]) {
3330
- const { id, concept } = source || {};
3331
- const actualSource = source instanceof BaseNode ? source : getSourceFromMap(id, concept);
3332
- completeList.push(actualSource || source);
3333
- }
3334
- &nbsp;
3335
- /**
3336
- * 获取当前的TsName
3337
- */
3338
- get tsName() {
3339
- <span class="missing-if-branch" title="if path not taken" >I</span>if (this.name) {
3340
- let tsName = <span class="cstat-no" title="statement not covered" >this.name;</span>
3341
- // 匹配所有特殊字符都转为_
3342
- <span class="cstat-no" title="statement not covered" > tsName = tsName.replace(/\W/g, '_');</span>
3343
- <span class="cstat-no" title="statement not covered" > if (/^\d/.test(tsName)) {</span>
3344
- <span class="cstat-no" title="statement not covered" > tsName = `$${tsName}`;</span>
3345
- }
3346
- <span class="cstat-no" title="statement not covered" > return tsName;</span>
3347
- }
3348
- return '';
3349
- }
3350
- &nbsp;
3351
- /**
3352
- * 生成json
3353
- * @param instance
3354
- * @param Ctor
3355
- */
3356
- genSources(instance: BaseNode, filerFn?: (source: Partial&lt;BaseNode&gt;) =&gt; {}) {
3357
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!instance) {
3358
- return instance;
3359
- }
3360
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(instance)) {</span>
3361
- <span class="cstat-no" title="statement not covered" > return instance.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; (<span class="cstat-no" title="statement not covered" >item &amp;&amp; item._toJSON ? item._toJSON(filerFn) : item)</span>);</span>
3362
- }
3363
- <span class="cstat-no" title="statement not covered" > return instance &amp;&amp; instance._toJSON ? instance._toJSON(filerFn) : instance;</span>
3364
- }
3365
- &nbsp;
3366
- /**
3367
- * 实例化一个 JSON
3368
- * 由于有 from,只能先实例化父级,再实例化子级
3369
- * @param obj
3370
- * @param parentNode
3371
- * @returns
3372
- */
3373
- instantiate(source: any, parentNode: BaseNode, parentKey: string) {
3374
- if (source instanceof BaseNode) {
3375
- if (!source.parentNode || !source.parentKey) {
3376
- source.parentNode = parentNode as SynatxNode;
3377
- source.parentKey = parentKey;
3378
- }
3379
- return source;
3380
- }
3381
- if (source &amp;&amp; source.concept &amp;&amp; classMap.get(source.concept)) {
3382
- const Ctor = classMap.get(source.concept) as any;
3383
- const instance = Ctor.from(source, parentNode, parentKey);
3384
- <span class="missing-if-branch" title="if path not taken" >I</span>if (instance &amp;&amp; instance.toStorageJSON) <span class="cstat-no" title="statement not covered" >instance.storageJSON = instance.toStorageJSON();</span>
3385
- return instance;
3386
- }
3387
- return source;
3388
- }
3389
- &nbsp;
3390
- /**
3391
- * 激活 JSON 内部实例
3392
- * @param source
3393
- */
3394
- instantiateSub(source: any, parentKey: string) {
3395
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!source) {
3396
- <span class="cstat-no" title="statement not covered" > return;</span>
3397
- }
3398
- const completeList: any[] = [];
3399
- let isArray;
3400
- // 暂时通过是否有name判断数据是否全
3401
- if (Array.isArray(source)) {
3402
- isArray = true;
3403
- source.forEach((sourceItem) =&gt; {
3404
- this.handleSource(sourceItem, completeList);
3405
- });
3406
- } else {
3407
- this.handleSource(source, completeList);
3408
- }
3409
- const instanceList: any[] = completeList.map((item) =&gt; this.instantiate(item, this, parentKey));
3410
- if (isArray) {
3411
- return instanceList;
3412
- }
3413
- <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(instanceList) &amp;&amp; instanceList.length) {
3414
- return instanceList[0];
3415
- }
3416
- }
3417
- &nbsp;
3418
- <span class="fstat-no" title="function not covered" > plainAssign(</span>source: any) {
3419
- <span class="cstat-no" title="statement not covered" > this._mutable = true;</span>
3420
- &nbsp;
3421
- const oldId = <span class="cstat-no" title="statement not covered" >this.id;</span>
3422
- &nbsp;
3423
- <span class="cstat-no" title="statement not covered" > Object.keys(source).forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; {</span>
3424
- const value = <span class="cstat-no" title="statement not covered" >source[key];</span>
3425
- <span class="cstat-no" title="statement not covered" > if (typeof value !== 'object' &amp;&amp; typeof value !== 'function') (<span class="cstat-no" title="statement not covered" >this as any)[key] = value;</span></span>
3426
- });
3427
- &nbsp;
3428
- <span class="cstat-no" title="statement not covered" > this._mutable = false;</span>
3429
- }
3430
- &nbsp;
3431
- <span class="fstat-no" title="function not covered" > pick(</span>source: any, keys: Array&lt;string&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
3432
- const obj: { [name: string]: any } = <span class="cstat-no" title="statement not covered" >{};</span>
3433
- <span class="cstat-no" title="statement not covered" > keys.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; (<span class="cstat-no" title="statement not covered" >obj[key] = source[key])</span>);</span>
3434
- // 这里统一用 assign,集中处理 id 的问题
3435
- // this.assign(obj);
3436
- }
3437
- &nbsp;
3438
- /**
3439
- * 从对象中深度获取
3440
- * @param source
3441
- * @param keys
3442
- * @example 比如一般后端返回只是添加了个 id
3443
- * ```
3444
- * this.deepPick(result, ['id'])
3445
- */
3446
- <span class="fstat-no" title="function not covered" > deepPick(</span>source: any, keys: Array&lt;string&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
3447
- <span class="cstat-no" title="statement not covered" > utils.traverse(</span>
3448
- <span class="fstat-no" title="function not covered" > (c</span>urrent) =&gt; {
3449
- const subSource = <span class="cstat-no" title="statement not covered" >current.jsonPath ? at(source, [current.jsonPath])[0] : source;</span>
3450
- const target = <span class="cstat-no" title="statement not covered" >current.jsonPath ? at(this as any, [current.jsonPath])[0] : this;</span>
3451
- <span class="cstat-no" title="statement not covered" > if (!target) <span class="cstat-no" title="statement not covered" >return;</span></span>
3452
- &nbsp;
3453
- const obj: { [name: string]: any } = <span class="cstat-no" title="statement not covered" >{};</span>
3454
- <span class="cstat-no" title="statement not covered" > keys.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; {</span>
3455
- <span class="cstat-no" title="statement not covered" > if (subSource.hasOwnProperty(key)) {</span>
3456
- <span class="cstat-no" title="statement not covered" > obj[key] = subSource[key];</span>
3457
- }
3458
- });
3459
- // 这里统一用 assign,集中处理 id 的问题
3460
- <span class="cstat-no" title="statement not covered" > target.assign ? target.assign(obj) : Object.assign(target, obj);</span>
3461
- },
3462
- { node: source },
3463
- { mode: 'anyObject' }
3464
- );
3465
- }
3466
- &nbsp;
3467
- /**
3468
- * 去除循环依赖,转为纯 JSON
3469
- * @param parentKey 外面的 key,提供给 JSON.stringify 使用
3470
- * @param excludedKeys 需要额外排除的 keys
3471
- */
3472
- toJSON() {
3473
- return this._toJSON();
3474
- }
3475
- &nbsp;
3476
- _toJSON(filerFn?: (source: Partial&lt;BaseNode&gt;) =&gt; {}): any {
3477
- const propertyMap = getConceptPropertyMap(this.concept || <span class="branch-1 cbranch-no" title="branch not covered" >this.constructor.name)</span>;
3478
- const source: Partial&lt;BaseNode&gt; = {};
3479
- propertyMap.forEach((property, key: string) =&gt; {
3480
- <span class="missing-if-branch" title="else path not taken" >E</span>if (property) {
3481
- const { objectRef: propertyObjectRef } = property;
3482
- if (!propertyObjectRef) {
3483
- (source as any)[key] = this[key as keyof BaseNode];
3484
- } else {
3485
- const sources: any = this.genSources(this[key as keyof BaseNode], filerFn);
3486
- (source as any)[key] = sources;
3487
- }
3488
- }
3489
- });
3490
- &nbsp;
3491
- // @ts-ignore
3492
- source.concept = this.concept;
3493
- &nbsp;
3494
- return filerFn ? <span class="branch-0 cbranch-no" title="branch not covered" >filerFn(source) </span>: source;
3495
- }
3496
- &nbsp;
3497
- /**
3498
- * 转为单层的 JSON
3499
- * @param parentKey 外面的 key,提供给 JSON.stringify 使用
3500
- * @param excludedKeys 需要额外排除的 keys
3501
- */
3502
- <span class="fstat-no" title="function not covered" > toPlainJSON(</span>parentKey?: string, excludedKeys: Array&lt;string&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span>: any {
3503
- const JSON_EXCLUDED_KEYS = <span class="cstat-no" title="statement not covered" >new Set(this.JSON_EXCLUDED_KEYS || []);</span> // Object.getPrototypeOf(this).constructor.JSON_EXCLUDED_KEYS || [];
3504
- <span class="cstat-no" title="statement not covered" > excludedKeys.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; <span class="cstat-no" title="statement not covered" >JSON_EXCLUDED_KEYS.add(key))</span>;</span>
3505
- &nbsp;
3506
- const temp: { [prop: string]: any } = <span class="cstat-no" title="statement not covered" >{};</span>
3507
- <span class="cstat-no" title="statement not covered" > Object.keys(this).forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; {</span>
3508
- const value = (<span class="cstat-no" title="statement not covered" >this as any)[key];</span>
3509
- <span class="cstat-no" title="statement not covered" > if (!JSON_EXCLUDED_KEYS.has(key) &amp;&amp; typeof value !== 'object' &amp;&amp; typeof value !== 'function') <span class="cstat-no" title="statement not covered" >temp[key] = value;</span></span>
3510
- });
3511
- <span class="cstat-no" title="statement not covered" > return JSON.parse(JSON.stringify(temp));</span>
3512
- }
3513
- &nbsp;
3514
- /**
3515
- * 查找引用
3516
- */
3517
- @action('查找引用')
3518
- <span class="fstat-no" title="function not covered" > async </span>findUsage(): Promise&lt;any&gt; {
3519
- /* override */
3520
- }
3521
- &nbsp;
3522
- /**
3523
- * 通过当前节点,查找被引用的节点
3524
- */
3525
- @action('通过当前节点,查找被引用的节点')
3526
- <span class="fstat-no" title="function not covered" > async </span>nodeFindRefNodes(): Promise&lt;any&gt; {
3527
- /* override */
3528
- }
3529
- &nbsp;
3530
- <span class="fstat-no" title="function not covered" > async </span>findReadOnlyLogicUsage(): Promise&lt;any&gt; {
3531
- /* override */
3532
- }
3533
- &nbsp;
3534
- /**
3535
- * 重命名
3536
- */
3537
- @action('重命名')
3538
- <span class="fstat-no" title="function not covered" > async </span>changeName(newValue: string, updateAll: boolean = <span class="branch-0 cbranch-no" title="branch not covered" >false)</span>: Promise&lt;any&gt; {
3539
- /* override */
3540
- }
3541
- &nbsp;
3542
- /**
3543
- * 准备删除
3544
- */
3545
- @action('准备删除')
3546
- <span class="fstat-no" title="function not covered" > async </span>prepareDelete(cb?: Function): Promise&lt;any&gt; {
3547
- /* override */
3548
- }
3549
- &nbsp;
3550
- /**
3551
- * 添加参数准备
3552
- */
3553
- @action('添加参数准备')
3554
- <span class="fstat-no" title="function not covered" > async </span>addParamsPrepare(): Promise&lt;any&gt; {
3555
- /* override */
3556
- }
3557
- &nbsp;
3558
- /**
3559
- * 获取当前节点类型
3560
- */
3561
- @action('获取当前节点类型')
3562
- <span class="fstat-no" title="function not covered" > async </span>getCurrentTypeAnnotation(): Promise&lt;any&gt; {
3563
- /* override */
3564
- }
3565
- &nbsp;
3566
- /**
3567
- * 获取当前节点的下一级内容
3568
- */
3569
- @action('获取当前节点的下一级内容')
3570
- <span class="fstat-no" title="function not covered" > getSelectRef(</span>newTypeAnnotation: TypeAnnotation, needNewStructure = <span class="branch-0 cbranch-no" title="branch not covered" >false)</span>: any {
3571
- /* override */
3572
- }
3573
- &nbsp;
3574
- /**
3575
- * 销毁
3576
- * 从 Map 中删除点和子节点
3577
- */
3578
- <span class="fstat-no" title="function not covered" > destroy(</span>) {
3579
- // utils.traverse((current) =&gt; , { node: this }, {
3580
- // mode: 'anyObject',
3581
- // excludedKeySet: this.JSON_EXCLUDED_KEYS,
3582
- // });
3583
- }
3584
- &nbsp;
3585
- <span class="fstat-no" title="function not covered" > onChange(</span>$event?: EventPayload) {
3586
- <span class="cstat-no" title="statement not covered" > this.emit('change', $event);</span>
3587
- }
3588
- &nbsp;
3589
- <span class="fstat-no" title="function not covered" > onCreate(</span>$event?: any) {
3590
- /* override */
3591
- }
3592
- &nbsp;
3593
- <span class="fstat-no" title="function not covered" > onDelete(</span>$event?: any) {
3594
- /* override */
3595
- }
3596
- &nbsp;
3597
- /**
3598
- * 移动节点
3599
- * @param sourceNode
3600
- * @param position
3601
- */
3602
- <span class="fstat-no" title="function not covered" > moveNode(</span>options: { sourceNode: BaseNode; position: 'append' | 'insertBefore' | 'insertAfter'; action?: string }) {
3603
- const { sourceNode, position } = <span class="cstat-no" title="statement not covered" >options;</span>
3604
- <span class="cstat-no" title="statement not covered" > if (this.concept === 'App') {</span>
3605
- <span class="cstat-no" title="statement not covered" > return;</span>
3606
- }
3607
- let actionMsg = <span class="cstat-no" title="statement not covered" >`移动${(this.constructor as any).nodeTitle}`;</span>
3608
- <span class="cstat-no" title="statement not covered" > if (this.name) {</span>
3609
- <span class="cstat-no" title="statement not covered" > actionMsg += `“${this.name}”`;</span>
3610
- }
3611
- (<span class="cstat-no" title="statement not covered" >sourceNode as any).app.emit('collect:start', {</span>
3612
- actionMsg,
3613
- });
3614
- // 如果是兄弟节点之前的移动
3615
- <span class="cstat-no" title="statement not covered" > if (position !== 'append' &amp;&amp; this.concept !== sourceNode.concept) {</span>
3616
- <span class="cstat-no" title="statement not covered" > return;</span>
3617
- }
3618
- // 先删
3619
- <span class="cstat-no" title="statement not covered" > this.delete();</span>
3620
- <span class="cstat-no" title="statement not covered" > if (position === 'append') {</span>
3621
- let { action } = <span class="cstat-no" title="statement not covered" >options;</span>
3622
- <span class="cstat-no" title="statement not covered" > if (!action) <span class="cstat-no" title="statement not covered" >action = `add${this.concept}`;</span></span>
3623
- const parentNode = <span class="cstat-no" title="statement not covered" >sourceNode;</span>
3624
- (<span class="cstat-no" title="statement not covered" >parentNode as any)[action](this as any);</span>
3625
- } else {
3626
- const parentNode = <span class="cstat-no" title="statement not covered" >sourceNode?.parentNode;</span>
3627
- const parentKey = <span class="cstat-no" title="statement not covered" >sourceNode?.parentKey || '';</span>
3628
- const list = (<span class="cstat-no" title="statement not covered" >parentNode as any)[parentKey];</span>
3629
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(list)) {</span>
3630
- let index = <span class="cstat-no" title="statement not covered" >list.indexOf(sourceNode);</span>
3631
- <span class="cstat-no" title="statement not covered" > if (position === 'insertAfter') {</span>
3632
- <span class="cstat-no" title="statement not covered" > index += 1;</span>
3633
- }
3634
- <span class="cstat-no" title="statement not covered" > Object.assign(this, {</span>
3635
- parentNode,
3636
- parentKey,
3637
- });
3638
- &nbsp;
3639
- <span class="cstat-no" title="statement not covered" > if (this.concept === 'ViewElement') <span class="cstat-no" title="statement not covered" >this.name = (this as unknown as ViewElement).getViewElementUniqueName(this.name);</span></span>
3640
- &nbsp;
3641
- <span class="cstat-no" title="statement not covered" > list.splice(index, 0, this);</span>
3642
- <span class="cstat-no" title="statement not covered" > this.create({</span>
3643
- index,
3644
- parentNode,
3645
- parentKey,
3646
- });
3647
- }
3648
- }
3649
- (<span class="cstat-no" title="statement not covered" >sourceNode as any).app.emit('collect:end');</span>
3650
- }
3651
- &nbsp;
3652
- // 其他节点替换本nasl节点
3653
- <span class="fstat-no" title="function not covered" > replaceNode(</span>newNode: any) {
3654
- const oldNode: any = <span class="cstat-no" title="statement not covered" >this;</span>
3655
- const { parentNode, parentKey, offsetX, offsetY, app } = <span class="cstat-no" title="statement not covered" >oldNode;</span>
3656
- const { logic } = <span class="cstat-no" title="statement not covered" >oldNode;</span>
3657
- <span class="cstat-no" title="statement not covered" > if (!Array.isArray(parentNode[parentKey])) {</span>
3658
- /**
3659
- * match切换分支,需要调用setExpressionWitchCase,补全分支的信息
3660
- */
3661
- <span class="cstat-no" title="statement not covered" > if (parentNode.concept === 'Match' &amp;&amp; parentKey === 'expression') {</span>
3662
- <span class="cstat-no" title="statement not covered" > parentNode.setExpressionWitchCase(newNode);</span>
3663
- <span class="cstat-no" title="statement not covered" > return;</span>
3664
- }
3665
- <span class="cstat-no" title="statement not covered" > parentNode.update({</span>
3666
- [parentKey]: newNode,
3667
- });
3668
- } else {
3669
- <span class="cstat-no" title="statement not covered" > app.emit('collect:start', {</span>
3670
- actionMsg: '删除属性变量',
3671
- });
3672
- <span class="cstat-no" title="statement not covered" > if (parentNode.concept === 'Logic') {</span>
3673
- <span class="cstat-no" title="statement not covered" > if (parentKey === 'body') {</span>
3674
- const expIndex = <span class="cstat-no" title="statement not covered" >logic.body.findIndex(<span class="fstat-no" title="function not covered" >(i</span>tem: any) =&gt; <span class="cstat-no" title="statement not covered" >item === oldNode)</span>;</span>
3675
- <span class="cstat-no" title="statement not covered" > logic.insertItemInBodyAt(newNode, expIndex);</span>
3676
- } else {
3677
- const expIndex = <span class="cstat-no" title="statement not covered" >logic.playground.findIndex(<span class="fstat-no" title="function not covered" >(i</span>tem: any) =&gt; <span class="cstat-no" title="statement not covered" >item === oldNode)</span>;</span>
3678
- <span class="cstat-no" title="statement not covered" > Object.assign(newNode, { offsetX, offsetY });</span>
3679
- <span class="cstat-no" title="statement not covered" > logic.insertItemInPlaygroundAt(newNode, expIndex);</span>
3680
- }
3681
- } else {
3682
- const expIndex = <span class="cstat-no" title="statement not covered" >parentNode[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(i</span>tem: any) =&gt; <span class="cstat-no" title="statement not covered" >item === oldNode)</span>;</span>
3683
- const firstUpperText = <span class="cstat-no" title="statement not covered" >parentKey[0].toUpperCase() + parentKey.slice(1, parentKey.length);</span>
3684
- <span class="cstat-no" title="statement not covered" > Object.assign(newNode, { offsetX, offsetY });</span>
3685
- <span class="cstat-no" title="statement not covered" > if (parentNode.concept === 'MatchCase') {</span>
3686
- <span class="cstat-no" title="statement not covered" > parentKey === 'body' ? parentNode.insertItemInBodyAt(newNode, expIndex) : parentNode.insertLogicItemInPatternsAt(newNode, expIndex);</span>
3687
- } else <span class="cstat-no" title="statement not covered" >if (parentNode[`insertItemIn${firstUpperText}At`]) <span class="cstat-no" title="statement not covered" >parentNode[`insertItemIn${firstUpperText}At`](newNode, expIndex);</span></span>
3688
- else <span class="cstat-no" title="statement not covered" >parentNode.insertItemAt(newNode, expIndex);</span>
3689
- }
3690
- <span class="cstat-no" title="statement not covered" > oldNode.delete();</span>
3691
- <span class="cstat-no" title="statement not covered" > app.emit('collect:end');</span>
3692
- }
3693
- }
3694
- &nbsp;
3695
- /**
3696
- * 获取添加时的默认选项
3697
- * @returns
3698
- */
3699
- public static getDefaultOptions(): any {
3700
- return {};
3701
- }
3702
- &nbsp;
3703
- public traverseChildren(cb: (ele: SynatxNode) =&gt; void): void {
3704
- function traverse(node: SynatxNode) {
3705
- cb(node);
3706
- &nbsp;
3707
- const propertyMap = getConceptPropertyMap(node?.concept);
3708
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!propertyMap) <span class="cstat-no" title="statement not covered" >return;</span>
3709
- &nbsp;
3710
- for (const property of propertyMap.keys()) {
3711
- const child = node[property as keyof BaseNode];
3712
- if (!child) continue;
3713
- else if (Array.isArray(child)) child.forEach((node: SynatxNode) =&gt; traverse(node));
3714
- else traverse(child);
3715
- }
3716
- }
3717
- &nbsp;
3718
- traverse(this as unknown as SynatxNode);
3719
- }
3720
- &nbsp;
3721
- /**
3722
- * 获取当前节点在nasl标注节点上的节点
3723
- */
3724
- public <span class="fstat-no" title="function not covered" >getCurrentAnnotatedJSON(</span>) {
3725
- <span class="cstat-no" title="statement not covered" > return this.__TypeAnnotation;</span>
3726
- }
3727
- &nbsp;
3728
- /**
3729
- * 获取
3730
- * 当前this上下文 的Source 和 父级文件级别的节点
3731
- */
3732
- public <span class="fstat-no" title="function not covered" >getCurrentSource(</span>) {
3733
- const node = <span class="cstat-no" title="statement not covered" >this as BaseNode;</span>
3734
- let { sourceMap } = <span class="cstat-no" title="statement not covered" >node;</span>
3735
- let fileNode = <span class="cstat-no" title="statement not covered" >node;</span>
3736
- // 如果没有sourceMap,就继续向上找 ,或者到module结束
3737
- // 如果 节点找到 app 或者module 停止 或者entity找到DataSource为止
3738
- // 如果当前节点是view就不要向上查找了
3739
- <span class="cstat-no" title="statement not covered" > while (!sourceMap &amp;&amp; fileNode &amp;&amp; !(fileNode.parentNode.concept === 'App')) {</span>
3740
- <span class="cstat-no" title="statement not covered" > fileNode = fileNode.parentNode;</span>
3741
- <span class="cstat-no" title="statement not covered" > sourceMap = fileNode?.sourceMap;</span>
3742
- }
3743
- const currentSource = <span class="cstat-no" title="statement not covered" >sourceMap &amp;&amp; sourceMap.get(node);</span>
3744
- <span class="cstat-no" title="statement not covered" > if (currentSource) {</span>
3745
- <span class="cstat-no" title="statement not covered" > return { currentSource, fileNode };</span>
3746
- }
3747
- <span class="cstat-no" title="statement not covered" > return { fileNode };</span>
3748
- }
3749
- &nbsp;
3750
- /**
3751
- * 获取
3752
- * 当前this上下文 的Source 和 父级文件级别的节点
3753
- */
3754
- public <span class="fstat-no" title="function not covered" >getFileConceptNode(</span>concept: string) {
3755
- const node = <span class="cstat-no" title="statement not covered" >this as BaseNode;</span>
3756
- let { sourceMap } = <span class="cstat-no" title="statement not covered" >node;</span>
3757
- let fileNode = <span class="cstat-no" title="statement not covered" >node;</span>
3758
- // 如果没有sourceMap,就继续向上找 ,或者到module结束
3759
- // 如果 节点找到 app 或者module 停止 或者entity找到DataSource为止
3760
- // 如果当前节点是view就不要向上查找了
3761
- <span class="cstat-no" title="statement not covered" > while (!sourceMap &amp;&amp; fileNode &amp;&amp; !(fileNode.parentNode.concept === 'App')) {</span>
3762
- <span class="cstat-no" title="statement not covered" > fileNode = fileNode.parentNode;</span>
3763
- <span class="cstat-no" title="statement not covered" > sourceMap = fileNode?.sourceMap;</span>
3764
- }
3765
- const arr: any = <span class="cstat-no" title="statement not covered" >[];</span>
3766
- <span class="cstat-no" title="statement not covered" > sourceMap &amp;&amp;</span>
3767
- sourceMap.forEach(<span class="fstat-no" title="function not covered" >(v</span>alue, key) =&gt; {
3768
- <span class="cstat-no" title="statement not covered" > if (key.concept === concept) <span class="cstat-no" title="statement not covered" >arr.push({ key, value });</span></span>
3769
- });
3770
- <span class="cstat-no" title="statement not covered" > return arr;</span>
3771
- }
3772
- &nbsp;
3773
- get isTreeLeaf() {
3774
- <span class="missing-if-branch" title="if path not taken" >I</span>if (
3775
- this.concept === 'EntityProperty' ||
3776
- this.concept === 'InterfaceParam' ||
3777
- this.concept === 'Param' ||
3778
- this.concept === 'Return' ||
3779
- this.concept === 'StructureProperty' ||
3780
- this.concept === 'Variable'
3781
- ) {
3782
- <span class="cstat-no" title="statement not covered" > if ((this as any).typeAnnotation || (this.__TypeAnnotation &amp;&amp; this.parentKey === 'virtualParams')) {</span>
3783
- <span class="cstat-no" title="statement not covered" > return !this.hasChildren;</span>
3784
- }
3785
- <span class="cstat-no" title="statement not covered" > return true;</span>
3786
- }
3787
- return false;
3788
- }
3789
- &nbsp;
3790
- get hasChildren() {
3791
- const typeAnnotation = (this as any).typeAnnotation || this.__TypeAnnotation;
3792
- <span class="missing-if-branch" title="if path not taken" >I</span>if (typeAnnotation) {
3793
- const { typeKind, typeNamespace, typeName, properties } = <span class="cstat-no" title="statement not covered" >typeAnnotation;</span>
3794
- <span class="cstat-no" title="statement not covered" > if (typeKind === 'reference' || typeKind === 'generic') {</span>
3795
- <span class="cstat-no" title="statement not covered" > if (typeNamespace.endsWith('.enums')) <span class="cstat-no" title="statement not covered" >return null;</span></span>
3796
- <span class="cstat-no" title="statement not covered" > return [{}];</span>
3797
- }
3798
- <span class="cstat-no" title="statement not covered" > if (typeNamespace === 'nasl.core' &amp;&amp; ['String', 'Text', 'Email'].includes(typeName)) {</span>
3799
- <span class="cstat-no" title="statement not covered" > return [{}];</span>
3800
- }
3801
- <span class="cstat-no" title="statement not covered" > if (typeKind === 'anonymousStructure' &amp;&amp; properties?.length) {</span>
3802
- <span class="cstat-no" title="statement not covered" > return [{}];</span>
3803
- }
3804
- <span class="cstat-no" title="statement not covered" > return null;</span>
3805
- }
3806
- return null;
3807
- }
3808
- &nbsp;
3809
- /**
3810
- * 使用新的 concept 在当前节点生成新的数据
3811
- */
3812
- <span class="fstat-no" title="function not covered" > changeConceptNode(</span>concept: SynatxNodeConcept) {
3813
- <span class="cstat-no" title="statement not covered" > return new Proxy(this, {</span>
3814
- <span class="fstat-no" title="function not covered" > get(</span>target, p: keyof BaseNode, receiver) {
3815
- <span class="cstat-no" title="statement not covered" > if (p === 'concept') {</span>
3816
- <span class="cstat-no" title="statement not covered" > return concept;</span>
3817
- }
3818
- &nbsp;
3819
- <span class="cstat-no" title="statement not covered" > return target[p];</span>
3820
- },
3821
- })
3822
- }
3823
- &nbsp;
3824
- /** 收集所有节点 */
3825
- collectNodes(): SynatxNode[];
3826
- /** 收集特定类型的子节点 */
3827
- collectNodes(concept: SynatxNodeConcept): SynatxNode[];
3828
- /** 收集断言返回`true`的子节点 */
3829
- collectNodes(pre: (node: SynatxNode) =&gt; boolean): SynatxNode[];
3830
- <span class="fstat-no" title="function not covered" > collectNodes(</span>input?: SynatxNodeConcept | ((node: SynatxNode) =&gt; boolean)) {
3831
- const pre =
3832
- <span class="cstat-no" title="statement not covered" > typeof input === 'undefined'</span>
3833
- ? <span class="fstat-no" title="function not covered" >(n</span>ode: SynatxNode) =&gt; <span class="cstat-no" title="statement not covered" >typeof node.concept === 'string'</span>
3834
- : typeof input === 'string'
3835
- ? <span class="fstat-no" title="function not covered" >(n</span>ode: SynatxNode) =&gt; <span class="cstat-no" title="statement not covered" >node.concept === input</span>
3836
- : input;
3837
- const nodes: SynatxNode[] = <span class="cstat-no" title="statement not covered" >[];</span>
3838
- const self = <span class="cstat-no" title="statement not covered" >this as unknown as SynatxNode;</span>
3839
- &nbsp;
3840
- <span class="cstat-no" title="statement not covered" > if (pre(self)) {</span>
3841
- <span class="cstat-no" title="statement not covered" > nodes.push(self);</span>
3842
- }
3843
- &nbsp;
3844
- <span class="cstat-no" title="statement not covered" > this.traverseChildren(<span class="fstat-no" title="function not covered" >(c</span>urrent) =&gt; {</span>
3845
- <span class="cstat-no" title="statement not covered" > if (pre(current)) {</span>
3846
- <span class="cstat-no" title="statement not covered" > nodes.push(current);</span>
3847
- }
3848
- });
3849
- &nbsp;
3850
- <span class="cstat-no" title="statement not covered" > return nodes;</span>
3851
- }
3852
- }
3853
- &nbsp;
3854
- export default BaseNode;
3855
- &nbsp;</pre></td></tr></table></pre>
3856
-
3857
- <div class='push'></div><!-- for sticky footer -->
3858
- </div><!-- /wrapper -->
3859
- <div class='footer quiet pad2 space-top1 center small'>
3860
- Code coverage generated by
3861
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3862
- at 2023-10-18T11:36:07.885Z
3863
- </div>
3864
- <script src="../../prettify.js"></script>
3865
- <script>
3866
- window.onload = function () {
3867
- prettyPrint();
3868
- };
3869
- </script>
3870
- <script src="../../sorter.js"></script>
3871
- <script src="../../block-navigation.js"></script>
3872
- </body>
3873
- </html>
3874
-